diff --git a/swaggerci/billing/.gitattributes b/swaggerci/billing/.gitattributes new file mode 100644 index 000000000000..2125666142eb --- /dev/null +++ b/swaggerci/billing/.gitattributes @@ -0,0 +1 @@ +* text=auto \ No newline at end of file diff --git a/swaggerci/billing/.gitignore b/swaggerci/billing/.gitignore new file mode 100644 index 000000000000..7998f37e1e47 --- /dev/null +++ b/swaggerci/billing/.gitignore @@ -0,0 +1,5 @@ +bin +obj +.vs +tools +test/*-TestResults.xml \ No newline at end of file diff --git a/swaggerci/billing/Az.Billing.csproj b/swaggerci/billing/Az.Billing.csproj new file mode 100644 index 000000000000..0cb6d702c300 --- /dev/null +++ b/swaggerci/billing/Az.Billing.csproj @@ -0,0 +1,44 @@ + + + + 0.1.0 + 7.1 + netstandard2.0 + Library + Az.Billing.private + Microsoft.Azure.PowerShell.Cmdlets.Billing + true + false + ./bin + $(OutputPath) + Az.Billing.nuspec + true + + + 1998, 1591 + true + + + + + false + TRACE;DEBUG;NETSTANDARD + + + + true + true + MSSharedLibKey.snk + TRACE;RELEASE;NETSTANDARD;SIGN + + + + + + + + + $(DefaultItemExcludes);resources/** + + + \ No newline at end of file diff --git a/swaggerci/billing/Az.Billing.format.ps1xml b/swaggerci/billing/Az.Billing.format.ps1xml new file mode 100644 index 000000000000..474e73a690a0 --- /dev/null +++ b/swaggerci/billing/Az.Billing.format.ps1xml @@ -0,0 +1,4205 @@ + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.BillingIdentity + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.BillingIdentity + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AgreementName + + + BillingAccountName + + + BillingPeriodName + + + BillingProfileName + + + BillingRoleAssignmentName + + + BillingRoleDefinitionName + + + CustomerName + + + Id + + + InstructionName + + + InvoiceName + + + InvoiceSectionName + + + Name + + + ProductName + + + SubscriptionId + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.BillingProfilesCreateOrUpdateAcceptedResponseHeaders + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.BillingProfilesCreateOrUpdateAcceptedResponseHeaders + + + + + + + + + + + + + + + Location + + + RetryAfter + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.BillingSubscriptionsMoveAcceptedResponseHeaders + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.BillingSubscriptionsMoveAcceptedResponseHeaders + + + + + + + + + + + + + + + Location + + + RetryAfter + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.InvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeaders + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.InvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeaders + + + + + + + + + + + + + + + Location + + + RetryAfter + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.InvoicesDownloadInvoiceAcceptedResponseHeaders + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.InvoicesDownloadInvoiceAcceptedResponseHeaders + + + + + + + + + + + + + + + Location + + + RetryAfter + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.InvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeaders + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.InvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeaders + + + + + + + + + + + + + + + Location + + + RetryAfter + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.InvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeaders + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.InvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeaders + + + + + + + + + + + + + + + Location + + + RetryAfter + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.InvoiceSectionsCreateOrUpdateAcceptedResponseHeaders + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.InvoiceSectionsCreateOrUpdateAcceptedResponseHeaders + + + + + + + + + + + + + + + Location + + + RetryAfter + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.ProductsMoveAcceptedResponseHeaders + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.ProductsMoveAcceptedResponseHeaders + + + + + + + + + + + + + + + Location + + + RetryAfter + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AddressDetails + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AddressDetails + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AddressLine1 + + + AddressLine2 + + + AddressLine3 + + + City + + + CompanyName + + + Country + + + District + + + Email + + + FirstName + + + LastName + + + MiddleName + + + PhoneNumber + + + PostalCode + + + Region + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Agreement + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Agreement + + + + + + + + + + + + + + + + + + Id + + + Name + + + Type + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AgreementListResult + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AgreementListResult + + + + + + + + + + + + NextLink + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AgreementProperties + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AgreementProperties + + + + + + + + + + + + + + + + + + + + + + + + + + + AcceptanceMode + + + AgreementLink + + + Category + + + EffectiveDate + + + ExpirationDate + + + Status + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount + + + + + + + + + + + + + + + Currency + + + Value + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AvailableBalance + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AvailableBalance + + + + + + + + + + + + + + + + + + Id + + + Name + + + Type + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AzurePlan + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AzurePlan + + + + + + + + + + + + + + + SkuDescription + + + SkuId + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingAccount + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingAccount + + + + + + + + + + + + + + + + + + Id + + + Name + + + Type + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingAccountListResult + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingAccountListResult + + + + + + + + + + + + NextLink + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingAccountProperties + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingAccountProperties + + + + + + + + + + + + + + + + + + + + + + + + + + + AccountStatus + + + AccountType + + + AgreementType + + + DisplayName + + + HasReadAccess + + + NotificationEmailAddress + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingPermissionsListResult + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingPermissionsListResult + + + + + + + + + + + + NextLink + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingPermissionsProperties + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingPermissionsProperties + + + + + + + + + + + + + + + Action + + + NotAction + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfile + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfile + + + + + + + + + + + + + + + + + + Id + + + Name + + + Type + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfileCreationRequest + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfileCreationRequest + + + + + + + + + + + + + + + + + + DisplayName + + + InvoiceEmailOptIn + + + PoNumber + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfileInfo + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfileInfo + + + + + + + + + + + + + + + + + + BillingProfileDisplayName + + + BillingProfileId + + + IndirectRelationshipOrganizationName + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfileListResult + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfileListResult + + + + + + + + + + + + + + + NextLink + + + TotalCount + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfileProperties + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfileProperties + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + BillingRelationshipType + + + Currency + + + DisplayName + + + HasReadAccess + + + InvoiceDay + + + InvoiceEmailOptIn + + + PoNumber + + + SpendingLimit + + + Status + + + StatusReasonCode + + + SystemId + + + TargetCloud + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfilePropertiesTags + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfilePropertiesTags + + + + + + + + + + + + Item + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfilesOnExpand + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfilesOnExpand + + + + + + + + + + + + HasMoreResult + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProperty + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProperty + + + + + + + + + + + + + + + + + + Id + + + Name + + + Type + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingPropertyProperties + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingPropertyProperties + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AccountAdminNotificationEmailAddress + + + BillingAccountDisplayName + + + BillingAccountId + + + BillingProfileDisplayName + + + BillingProfileId + + + BillingProfileSpendingLimit + + + BillingProfileStatus + + + BillingProfileStatusReasonCode + + + BillingTenantId + + + CostCenter + + + InvoiceSectionDisplayName + + + InvoiceSectionId + + + IsAccountAdmin + + + ProductId + + + ProductName + + + SkuDescription + + + SkuId + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleAssignment + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleAssignment + + + + + + + + + + + + + + + + + + Id + + + Name + + + Type + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleAssignmentListResult + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleAssignmentListResult + + + + + + + + + + + + NextLink + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleAssignmentProperties + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleAssignmentProperties + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CreatedByPrincipalId + + + CreatedByPrincipalTenantId + + + CreatedByUserEmailAddress + + + CreatedOn + + + PrincipalId + + + PrincipalTenantId + + + RoleDefinitionId + + + Scope + + + UserAuthenticationType + + + UserEmailAddress + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleDefinition + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleDefinition + + + + + + + + + + + + + + + + + + Id + + + Name + + + Type + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleDefinitionListResult + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleDefinitionListResult + + + + + + + + + + + + NextLink + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleDefinitionProperties + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleDefinitionProperties + + + + + + + + + + + + + + + Description + + + RoleName + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingSubscription + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingSubscription + + + + + + + + + + + + + + + + + + Id + + + Name + + + Type + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingSubscriptionProperties + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingSubscriptionProperties + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + BillingProfileDisplayName + + + BillingProfileId + + + CostCenter + + + CustomerDisplayName + + + CustomerId + + + DisplayName + + + InvoiceSectionDisplayName + + + InvoiceSectionId + + + SkuDescription + + + SkuId + + + SubscriptionBillingStatus + + + SubscriptionId + + + SuspensionReason + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingSubscriptionsListResult + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingSubscriptionsListResult + + + + + + + + + + + + + + + NextLink + + + TotalCount + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Customer + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Customer + + + + + + + + + + + + + + + + + + Id + + + Name + + + Type + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.CustomerListResult + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.CustomerListResult + + + + + + + + + + + + + + + NextLink + + + TotalCount + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.CustomerPolicy + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.CustomerPolicy + + + + + + + + + + + + + + + + + + Id + + + Name + + + Type + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.CustomerPolicyProperties + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.CustomerPolicyProperties + + + + + + + + + + + + ViewCharge + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.CustomerProperties + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.CustomerProperties + + + + + + + + + + + + + + + + + + BillingProfileDisplayName + + + BillingProfileId + + + DisplayName + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Department + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Department + + + + + + + + + + + + + + + + + + Id + + + Name + + + Type + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.DepartmentProperties + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.DepartmentProperties + + + + + + + + + + + + + + + + + + CostCenter + + + DepartmentName + + + Status + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Document + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Document + + + + + + + + + + + + + + + + + + Kind + + + Source + + + Url + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.DownloadUrl + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.DownloadUrl + + + + + + + + + + + + + + + ExpiryTime + + + Url + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Enrollment + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Enrollment + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + BillingCycle + + + Channel + + + CountryCode + + + Currency + + + EndDate + + + Language + + + StartDate + + + Status + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentAccount + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentAccount + + + + + + + + + + + + + + + + + + Id + + + Name + + + Type + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentAccountContext + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentAccountContext + + + + + + + + + + + + + + + + + + + + + CostCenter + + + EndDate + + + EnrollmentAccountName + + + StartDate + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentAccountProperties + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentAccountProperties + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AccountName + + + AccountOwner + + + AccountOwnerEmail + + + CostCenter + + + EndDate + + + StartDate + + + Status + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentPolicies + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentPolicies + + + + + + + + + + + + + + + + + + + + + AccountOwnerViewCharge + + + DepartmentAdminViewCharge + + + MarketplaceEnabled + + + ReservedInstancesEnabled + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IndirectRelationshipInfo + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IndirectRelationshipInfo + + + + + + + + + + + + + + + + + + BillingAccountName + + + BillingProfileName + + + DisplayName + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Instruction + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Instruction + + + + + + + + + + + + + + + + + + Id + + + Name + + + Type + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InstructionListResult + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InstructionListResult + + + + + + + + + + + + NextLink + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InstructionProperties + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InstructionProperties + + + + + + + + + + + + + + + + + + + + + Amount + + + CreationDate + + + EndDate + + + StartDate + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Invoice + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Invoice + + + + + + + + + + + + + + + + + + Id + + + Name + + + Type + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceListResult + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceListResult + + + + + + + + + + + + + + + NextLink + + + TotalCount + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceProperties + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceProperties + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + BilledDocumentId + + + BillingProfileDisplayName + + + BillingProfileId + + + CreditForDocumentId + + + DocumentType + + + DueDate + + + InvoiceDate + + + InvoicePeriodEndDate + + + InvoicePeriodStartDate + + + InvoiceType + + + IsMonthlyInvoice + + + PurchaseOrderNumber + + + Status + + + SubscriptionId + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSection + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSection + + + + + + + + + + + + + + + + + + Id + + + Name + + + Type + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionCreationRequest + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionCreationRequest + + + + + + + + + + + + DisplayName + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionListResult + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionListResult + + + + + + + + + + + + + + + NextLink + + + TotalCount + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionListWithCreateSubPermissionResult + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionListWithCreateSubPermissionResult + + + + + + + + + + + + NextLink + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionProperties + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionProperties + + + + + + + + + + + + + + + + + + + + + DisplayName + + + State + + + SystemId + + + TargetCloud + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionPropertiesLabels + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionPropertiesLabels + + + + + + + + + + + + Item + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionPropertiesTags + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionPropertiesTags + + + + + + + + + + + + Item + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionsOnExpand + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionsOnExpand + + + + + + + + + + + + HasMoreResult + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionWithCreateSubPermission + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionWithCreateSubPermission + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + BillingProfileDisplayName + + + BillingProfileId + + + BillingProfileSpendingLimit + + + BillingProfileStatus + + + BillingProfileStatusReasonCode + + + BillingProfileSystemId + + + InvoiceSectionDisplayName + + + InvoiceSectionId + + + InvoiceSectionSystemId + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Operation + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Operation + + + + + + + + + + + + + + + IsDataAction + + + Name + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.OperationDisplay + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.OperationDisplay + + + + + + + + + + + + + + + + + + + + + Description + + + Operation + + + Provider + + + Resource + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.OperationListResult + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.OperationListResult + + + + + + + + + + + + NextLink + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.OperationsErrorDetails + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.OperationsErrorDetails + + + + + + + + + + + + + + + + + + Code + + + Message + + + Target + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Participants + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Participants + + + + + + + + + + + + + + + + + + Email + + + Status + + + StatusDate + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.PaymentProperties + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.PaymentProperties + + + + + + + + + + + + + + + + + + + + + Date + + + PaymentMethodFamily + + + PaymentMethodType + + + PaymentType + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Policy + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Policy + + + + + + + + + + + + + + + + + + Id + + + Name + + + Type + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.PolicyProperties + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.PolicyProperties + + + + + + + + + + + + + + + + + + MarketplacePurchase + + + ReservationPurchase + + + ViewCharge + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Product + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Product + + + + + + + + + + + + + + + + + + Id + + + Name + + + Type + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ProductProperties + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ProductProperties + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AutoRenew + + + AvailabilityId + + + BillingFrequency + + + BillingProfileDisplayName + + + BillingProfileId + + + CustomerDisplayName + + + CustomerId + + + DisplayName + + + EndDate + + + InvoiceSectionDisplayName + + + InvoiceSectionId + + + LastChargeDate + + + ProductType + + + ProductTypeId + + + PurchaseDate + + + Quantity + + + SkuDescription + + + SkuId + + + Status + + + TenantId + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ProductsListResult + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ProductsListResult + + + + + + + + + + + + + + + NextLink + + + TotalCount + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.RebillDetails1 + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.RebillDetails1 + + + + + + + + + + + + + + + CreditNoteDocumentId + + + InvoiceDocumentId + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Reseller + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Reseller + + + + + + + + + + + + + + + Description + + + Id + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Reservation + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Reservation + + + + + + + + + + + + + + + + + + + + + Id + + + Location + + + Name + + + Type + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationProperty + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationProperty + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AppliedScope + + + AppliedScopeType + + + DisplayName + + + DisplayProvisioningState + + + EffectiveDateTime + + + ExpiryDate + + + ProvisioningState + + + ProvisioningSubState + + + Quantity + + + Renew + + + RenewSource + + + ReservedResourceType + + + SkuDescription + + + Term + + + UserFriendlyAppliedScopeType + + + UserFriendlyRenewState + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationPropertyUtilization + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationPropertyUtilization + + + + + + + + + + + + Trend + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationSkuProperty + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationSkuProperty + + + + + + + + + + + + Name + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationsListResult + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationsListResult + + + + + + + + + + + + NextLink + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationSummary + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationSummary + + + + + + + + + + + + + + + + + + + + + + + + + + + CancelledCount + + + ExpiredCount + + + ExpiringCount + + + FailedCount + + + PendingCount + + + SucceededCount + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationUtilizationAggregates + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationUtilizationAggregates + + + + + + + + + + + + + + + + + + + + + Grain + + + GrainUnit + + + Value + + + ValueUnit + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Transaction + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Transaction + + + + + + + + + + + + + + + + + + Id + + + Name + + + Type + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.TransactionListResult + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.TransactionListResult + + + + + + + + + + + + + + + NextLink + + + TotalCount + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.TransactionProperties + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.TransactionProperties + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AzurePlan + + + BillingCurrency + + + BillingProfileDisplayName + + + BillingProfileId + + + CustomerDisplayName + + + CustomerId + + + Date + + + Discount + + + ExchangeRate + + + Invoice + + + InvoiceId + + + InvoiceSectionDisplayName + + + InvoiceSectionId + + + Kind + + + OrderId + + + OrderName + + + PricingCurrency + + + ProductDescription + + + ProductFamily + + + ProductType + + + ProductTypeId + + + Quantity + + + ServicePeriodEndDate + + + ServicePeriodStartDate + + + SubscriptionId + + + SubscriptionName + + + TransactionType + + + Unit + + + UnitOfMeasure + + + UnitType + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.TransferBillingSubscriptionRequestProperties + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.TransferBillingSubscriptionRequestProperties + + + + + + + + + + + + DestinationInvoiceSectionId + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.TransferProductRequestProperties + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.TransferProductRequestProperties + + + + + + + + + + + + DestinationInvoiceSectionId + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ValidateAddressResponse + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ValidateAddressResponse + + + + + + + + + + + + + + + Status + + + ValidationMessage + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ValidateProductTransferEligibilityError + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ValidateProductTransferEligibilityError + + + + + + + + + + + + + + + + + + Code + + + Detail + + + Message + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ValidateProductTransferEligibilityResult + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ValidateProductTransferEligibilityResult + + + + + + + + + + + + IsMoveEligible + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ValidateSubscriptionTransferEligibilityError + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ValidateSubscriptionTransferEligibilityError + + + + + + + + + + + + + + + + + + Code + + + Detail + + + Message + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ValidateSubscriptionTransferEligibilityResult + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ValidateSubscriptionTransferEligibilityResult + + + + + + + + + + + + IsMoveEligible + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.BillingPeriod + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.BillingPeriod + + + + + + + + + + + + + + + + + + Id + + + Name + + + Type + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.BillingPeriodProperties + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.BillingPeriodProperties + + + + + + + + + + + + + + + + + + BillingPeriodEndDate + + + BillingPeriodStartDate + + + InvoiceId + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.BillingPeriodsListResult + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.BillingPeriodsListResult + + + + + + + + + + + + NextLink + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.EnrollmentAccountListResult + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.EnrollmentAccountListResult + + + + + + + + + + + + NextLink + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.EnrollmentAccountSummary + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.EnrollmentAccountSummary + + + + + + + + + + + + + + + + + + Id + + + Name + + + Type + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.EnrollmentAccountSummaryProperties + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.EnrollmentAccountSummaryProperties + + + + + + + + + + + + PrincipalName + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorDetails + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorDetails + + + + + + + + + + + + + + + + + + Code + + + Message + + + Target + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorSubDetailsItem + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorSubDetailsItem + + + + + + + + + + + + + + + + + + Code + + + Message + + + Target + + + + + + + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource + + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource + + + + + + + + + + + + + + + + + + Id + + + Name + + + Type + + + + + + + + \ No newline at end of file diff --git a/swaggerci/billing/Az.Billing.nuspec b/swaggerci/billing/Az.Billing.nuspec new file mode 100644 index 000000000000..b751d4a87976 --- /dev/null +++ b/swaggerci/billing/Az.Billing.nuspec @@ -0,0 +1,32 @@ + + + + Az.Billing + 0.1.0 + Microsoft Corporation + Microsoft Corporation + true + https://aka.ms/azps-license + https://github.com/Azure/azure-powershell + Microsoft Azure PowerShell: $(service-name) cmdlets + + Microsoft Corporation. All rights reserved. + Azure ResourceManager ARM PSModule $(service-name) + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/swaggerci/billing/Az.Billing.psd1 b/swaggerci/billing/Az.Billing.psd1 new file mode 100644 index 000000000000..9658d715bf6e --- /dev/null +++ b/swaggerci/billing/Az.Billing.psd1 @@ -0,0 +1,24 @@ +@{ + GUID = '4665db2c-7bc0-4f40-a792-ff7fa31e2624' + RootModule = './Az.Billing.psm1' + ModuleVersion = '0.1.0' + CompatiblePSEditions = 'Core', 'Desktop' + Author = 'Microsoft Corporation' + CompanyName = 'Microsoft Corporation' + Copyright = 'Microsoft Corporation. All rights reserved.' + Description = 'Microsoft Azure PowerShell: Billing cmdlets' + PowerShellVersion = '5.1' + DotNetFrameworkVersion = '4.7.2' + RequiredAssemblies = './bin/Az.Billing.private.dll' + FormatsToProcess = './Az.Billing.format.ps1xml' + FunctionsToExport = 'Get-AzBillingAccount', 'Get-AzBillingAccountInvoiceSection', 'Get-AzBillingAgreement', 'Get-AzBillingAvailableBalance', 'Get-AzBillingCustomer', 'Get-AzBillingEnrollmentAccount', 'Get-AzBillingInstruction', 'Get-AzBillingInvoice', 'Get-AzBillingInvoiceSection', 'Get-AzBillingPeriod', 'Get-AzBillingPermission', 'Get-AzBillingPolicy', 'Get-AzBillingProduct', 'Get-AzBillingProfile', 'Get-AzBillingProperty', 'Get-AzBillingReservation', 'Get-AzBillingRoleAssignment', 'Get-AzBillingRoleDefinition', 'Get-AzBillingSubscription', 'Get-AzBillingTransaction', 'Invoke-AzBillingDownloadInvoice', 'Invoke-AzBillingDownloadInvoiceBillingSubscriptionInvoice', 'Invoke-AzBillingDownloadInvoiceMultipleBillingProfileInvoice', 'Invoke-AzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice', 'Move-AzBillingProduct', 'Move-AzBillingSubscription', 'New-AzBillingInvoiceSection', 'New-AzBillingProfile', 'Remove-AzBillingRoleAssignment', 'Test-AzBillingAddress', 'Test-AzBillingProductMove', 'Test-AzBillingSubscriptionMove', 'Update-AzBillingAccount', 'Update-AzBillingProduct', 'Update-AzBillingProperty', 'Update-AzBillingSubscription', '*' + AliasesToExport = '*' + PrivateData = @{ + PSData = @{ + Tags = 'Azure', 'ResourceManager', 'ARM', 'PSModule', 'Billing' + LicenseUri = 'https://aka.ms/azps-license' + ProjectUri = 'https://github.com/Azure/azure-powershell' + ReleaseNotes = '' + } + } +} diff --git a/swaggerci/billing/Az.Billing.psm1 b/swaggerci/billing/Az.Billing.psm1 new file mode 100644 index 000000000000..6da431fc6a18 --- /dev/null +++ b/swaggerci/billing/Az.Billing.psm1 @@ -0,0 +1,107 @@ +# region Generated + # ---------------------------------------------------------------------------------- + # Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. + # ---------------------------------------------------------------------------------- + # Load required Az.Accounts module + $accountsName = 'Az.Accounts' + $accountsModule = Get-Module -Name $accountsName + if(-not $accountsModule) { + $localAccountsPath = Join-Path $PSScriptRoot 'generated/modules' + if(Test-Path -Path $localAccountsPath) { + $localAccounts = Get-ChildItem -Path $localAccountsPath -Recurse -Include 'Az.Accounts.psd1' | Select-Object -Last 1 + if($localAccounts) { + $accountsModule = Import-Module -Name ($localAccounts.FullName) -Scope Global -PassThru + } + } + if(-not $accountsModule) { + $hasAdequateVersion = (Get-Module -Name $accountsName -ListAvailable | Where-Object { $_.Version -ge [System.Version]'2.7.5' } | Measure-Object).Count -gt 0 + if($hasAdequateVersion) { + $accountsModule = Import-Module -Name $accountsName -MinimumVersion 2.7.5 -Scope Global -PassThru + } + } + } + + if(-not $accountsModule) { + Write-Error "`nThis module requires $accountsName version 2.7.5 or greater. For installation instructions, please see: https://docs.microsoft.com/powershell/azure/install-az-ps" -ErrorAction Stop + } elseif (($accountsModule.Version -lt [System.Version]'2.7.5') -and (-not $localAccounts)) { + Write-Error "`nThis module requires $accountsName version 2.7.5 or greater. An earlier version of Az.Accounts is imported in the current PowerShell session. If you are running test, please try to add the switch '-RegenerateSupportModule' when executing 'test-module.ps1'. Otherwise please open a new PowerShell session and import this module again.`nAdditionally, this error could indicate that multiple incompatible versions of Azure PowerShell modules are installed on your system. For troubleshooting information, please see: https://aka.ms/azps-version-error" -ErrorAction Stop + } + Write-Information "Loaded Module '$($accountsModule.Name)'" + + # Load the private module dll + $null = Import-Module -Name (Join-Path $PSScriptRoot './bin/Az.Billing.private.dll') + + # Get the private module's instance + $instance = [Microsoft.Azure.PowerShell.Cmdlets.Billing.Module]::Instance + + # Ask for the shared functionality table + $VTable = Register-AzModule + + # Tweaks the pipeline on module load + $instance.OnModuleLoad = $VTable.OnModuleLoad + + # Following two delegates are added for telemetry + $instance.GetTelemetryId = $VTable.GetTelemetryId + $instance.Telemetry = $VTable.Telemetry + + + # Tweaks the pipeline per call + $instance.OnNewRequest = $VTable.OnNewRequest + + # Gets shared parameter values + $instance.GetParameterValue = $VTable.GetParameterValue + + # Allows shared module to listen to events from this module + $instance.EventListener = $VTable.EventListener + + # Gets shared argument completers + $instance.ArgumentCompleter = $VTable.ArgumentCompleter + + # The name of the currently selected Azure profile + $instance.ProfileName = $VTable.ProfileName + + + # Load the custom module + $customModulePath = Join-Path $PSScriptRoot './custom/Az.Billing.custom.psm1' + if(Test-Path $customModulePath) { + $null = Import-Module -Name $customModulePath + } + + # Export nothing to clear implicit exports + Export-ModuleMember + + # Export proxy cmdlet scripts + $exportsPath = Join-Path $PSScriptRoot './exports' + $directories = Get-ChildItem -Directory -Path $exportsPath + $profileDirectory = $null + if($instance.ProfileName) { + if(($directories | ForEach-Object { $_.Name }) -contains $instance.ProfileName) { + $profileDirectory = $directories | Where-Object { $_.Name -eq $instance.ProfileName } + } else { + # Don't export anything if the profile doesn't exist for the module + $exportsPath = $null + Write-Warning "Selected Azure profile '$($instance.ProfileName)' does not exist for module '$($instance.Name)'. No cmdlets were loaded." + } + } elseif(($directories | Measure-Object).Count -gt 0) { + # Load the last folder if no profile is selected + $profileDirectory = $directories | Select-Object -Last 1 + } + + if($profileDirectory) { + Write-Information "Loaded Azure profile '$($profileDirectory.Name)' for module '$($instance.Name)'" + $exportsPath = $profileDirectory.FullName + } + + if($exportsPath) { + Get-ChildItem -Path $exportsPath -Recurse -Include '*.ps1' -File | ForEach-Object { . $_.FullName } + $cmdletNames = Get-ScriptCmdlet -ScriptFolder $exportsPath + Export-ModuleMember -Function $cmdletNames -Alias (Get-ScriptCmdlet -ScriptFolder $exportsPath -AsAlias) + } + + # Finalize initialization of this module + $instance.Init(); + Write-Information "Loaded Module '$($instance.Name)'" +# endregion diff --git a/swaggerci/billing/MSSharedLibKey.snk b/swaggerci/billing/MSSharedLibKey.snk new file mode 100644 index 000000000000..695f1b38774e Binary files /dev/null and b/swaggerci/billing/MSSharedLibKey.snk differ diff --git a/swaggerci/billing/README.md b/swaggerci/billing/README.md new file mode 100644 index 000000000000..91a9b1f6a063 --- /dev/null +++ b/swaggerci/billing/README.md @@ -0,0 +1,27 @@ + +# Az.Billing +This directory contains the PowerShell module for the Billing service. + +--- +## Status +[![Az.Billing](https://img.shields.io/powershellgallery/v/Az.Billing.svg?style=flat-square&label=Az.Billing "Az.Billing")](https://www.powershellgallery.com/packages/Az.Billing/) + +## Info +- Modifiable: yes +- Generated: all +- Committed: yes +- Packaged: yes + +--- +## Detail +This module was primarily generated via [AutoRest](https://github.com/Azure/autorest) using the [PowerShell](https://github.com/Azure/autorest.powershell) extension. + +## Module Requirements +- [Az.Accounts module](https://www.powershellgallery.com/packages/Az.Accounts/), version 2.7.5 or greater + +## Authentication +AutoRest does not generate authentication code for the module. Authentication is handled via Az.Accounts by altering the HTTP payload before it is sent. + +## Development +For information on how to develop for `Az.Billing`, see [how-to.md](how-to.md). + diff --git a/swaggerci/billing/build-module.ps1 b/swaggerci/billing/build-module.ps1 new file mode 100644 index 000000000000..6b02f84ea2a8 --- /dev/null +++ b/swaggerci/billing/build-module.ps1 @@ -0,0 +1,153 @@ +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- +param([switch]$Isolated, [switch]$Run, [switch]$Test, [switch]$Docs, [switch]$Pack, [switch]$Code, [switch]$Release, [switch]$Debugger, [switch]$NoDocs) +$ErrorActionPreference = 'Stop' + +if($PSEdition -ne 'Core') { + Write-Error 'This script requires PowerShell Core to execute. [Note] Generated cmdlets will work in both PowerShell Core or Windows PowerShell.' +} + +if(-not $Isolated -and -not $Debugger) { + Write-Host -ForegroundColor Green 'Creating isolated process...' + $pwsh = [System.Diagnostics.Process]::GetCurrentProcess().Path + & "$pwsh" -NonInteractive -NoLogo -NoProfile -File $MyInvocation.MyCommand.Path @PSBoundParameters -Isolated + + if($LastExitCode -ne 0) { + # Build failed. Don't attempt to run the module. + return + } + + if($Test) { + . (Join-Path $PSScriptRoot 'test-module.ps1') + if($LastExitCode -ne 0) { + # Tests failed. Don't attempt to run the module. + return + } + } + + if($Docs) { + . (Join-Path $PSScriptRoot 'generate-help.ps1') + if($LastExitCode -ne 0) { + # Docs generation failed. Don't attempt to run the module. + return + } + } + + if($Pack) { + . (Join-Path $PSScriptRoot 'pack-module.ps1') + if($LastExitCode -ne 0) { + # Packing failed. Don't attempt to run the module. + return + } + } + + $runModulePath = Join-Path $PSScriptRoot 'run-module.ps1' + if($Code) { + . $runModulePath -Code + } elseif($Run) { + . $runModulePath + } else { + Write-Host -ForegroundColor Cyan "To run this module in an isolated PowerShell session, run the 'run-module.ps1' script or provide the '-Run' parameter to this script." + } + return +} + +$binFolder = Join-Path $PSScriptRoot 'bin' +$objFolder = Join-Path $PSScriptRoot 'obj' + +if(-not $Debugger) { + Write-Host -ForegroundColor Green 'Cleaning build folders...' + $null = Remove-Item -Recurse -ErrorAction SilentlyContinue -Path $binFolder, $objFolder + + if((Test-Path $binFolder) -or (Test-Path $objFolder)) { + Write-Host -ForegroundColor Cyan 'Did you forget to exit your isolated module session before rebuilding?' + Write-Error 'Unable to clean ''bin'' or ''obj'' folder. A process may have an open handle.' + } + + Write-Host -ForegroundColor Green 'Compiling module...' + $buildConfig = 'Debug' + if($Release) { + $buildConfig = 'Release' + } + dotnet publish $PSScriptRoot --verbosity quiet --configuration $buildConfig /nologo + if($LastExitCode -ne 0) { + Write-Error 'Compilation failed.' + } + + $null = Remove-Item -Recurse -ErrorAction SilentlyContinue -Path (Join-Path $binFolder 'Debug'), (Join-Path $binFolder 'Release') +} + +$dll = Join-Path $PSScriptRoot 'bin/Az.Billing.private.dll' +if(-not (Test-Path $dll)) { + Write-Error "Unable to find output assembly in '$binFolder'." +} + +# Load DLL to use build-time cmdlets +$null = Import-Module -Name $dll + +$modulePaths = $dll +$customPsm1 = Join-Path $PSScriptRoot 'custom/Az.Billing.custom.psm1' +if(Test-Path $customPsm1) { + $modulePaths = @($dll, $customPsm1) +} + +$exportsFolder = Join-Path $PSScriptRoot 'exports' +if(Test-Path $exportsFolder) { + $null = Get-ChildItem -Path $exportsFolder -Recurse -Exclude 'README.md' | Remove-Item -Recurse -ErrorAction SilentlyContinue +} +$null = New-Item -ItemType Directory -Force -Path $exportsFolder + +$internalFolder = Join-Path $PSScriptRoot 'internal' +if(Test-Path $internalFolder) { + $null = Get-ChildItem -Path $internalFolder -Recurse -Exclude '*.psm1', 'README.md' | Remove-Item -Recurse -ErrorAction SilentlyContinue +} +$null = New-Item -ItemType Directory -Force -Path $internalFolder + +$psd1 = Join-Path $PSScriptRoot './Az.Billing.psd1' +$guid = Get-ModuleGuid -Psd1Path $psd1 +$moduleName = 'Az.Billing' +$examplesFolder = Join-Path $PSScriptRoot 'examples' +$null = New-Item -ItemType Directory -Force -Path $examplesFolder + +Write-Host -ForegroundColor Green 'Creating cmdlets for specified models...' +$modelCmdlets = @() +if ($modelCmdlets.Count -gt 0) { + . (Join-Path $PSScriptRoot 'create-model-cmdlets.ps1') + CreateModelCmdlet($modelCmdlets) +} + +if($NoDocs) { + Write-Host -ForegroundColor Green 'Creating exports...' + Export-ProxyCmdlet -ModuleName $moduleName -ModulePath $modulePaths -ExportsFolder $exportsFolder -InternalFolder $internalFolder -ExcludeDocs -ExamplesFolder $examplesFolder +} else { + Write-Host -ForegroundColor Green 'Creating exports and docs...' + $moduleDescription = 'Microsoft Azure PowerShell: Billing cmdlets' + $docsFolder = Join-Path $PSScriptRoot 'docs' + if(Test-Path $docsFolder) { + $null = Get-ChildItem -Path $docsFolder -Recurse -Exclude 'README.md' | Remove-Item -Recurse -ErrorAction SilentlyContinue + } + $null = New-Item -ItemType Directory -Force -Path $docsFolder + Export-ProxyCmdlet -ModuleName $moduleName -ModulePath $modulePaths -ExportsFolder $exportsFolder -InternalFolder $internalFolder -ModuleDescription $moduleDescription -DocsFolder $docsFolder -ExamplesFolder $examplesFolder -ModuleGuid $guid +} + +Write-Host -ForegroundColor Green 'Creating format.ps1xml...' +$formatPs1xml = Join-Path $PSScriptRoot './Az.Billing.format.ps1xml' +Export-FormatPs1xml -FilePath $formatPs1xml + +Write-Host -ForegroundColor Green 'Creating psd1...' +$customFolder = Join-Path $PSScriptRoot 'custom' +Export-Psd1 -ExportsFolder $exportsFolder -CustomFolder $customFolder -Psd1Path $psd1 -ModuleGuid $guid + +Write-Host -ForegroundColor Green 'Creating test stubs...' +$testFolder = Join-Path $PSScriptRoot 'test' +$null = New-Item -ItemType Directory -Force -Path $testFolder +Export-TestStub -ModuleName $moduleName -ExportsFolder $exportsFolder -OutputFolder $testFolder + +Write-Host -ForegroundColor Green 'Creating example stubs...' +Export-ExampleStub -ExportsFolder $exportsFolder -OutputFolder $examplesFolder + +Write-Host -ForegroundColor Green '-------------Done-------------' diff --git a/swaggerci/billing/check-dependencies.ps1 b/swaggerci/billing/check-dependencies.ps1 new file mode 100644 index 000000000000..ec3055201a71 --- /dev/null +++ b/swaggerci/billing/check-dependencies.ps1 @@ -0,0 +1,57 @@ +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- +param([switch]$Isolated, [switch]$Accounts, [switch]$Pester, [switch]$Resources) +$ErrorActionPreference = 'Stop' + +if(-not $Isolated) { + Write-Host -ForegroundColor Green 'Creating isolated process...' + $pwsh = [System.Diagnostics.Process]::GetCurrentProcess().Path + & "$pwsh" -NoExit -NoLogo -NoProfile -File $MyInvocation.MyCommand.Path @PSBoundParameters -Isolated + return +} + +function DownloadModule ([bool]$predicate, [string]$path, [string]$moduleName, [string]$versionMinimum, [string]$requiredVersion) { + if($predicate) { + $module = Get-Module -ListAvailable -Name $moduleName + if((-not $module) -or ($versionMinimum -and ($module | ForEach-Object { $_.Version } | Where-Object { $_ -ge [System.Version]$versionMinimum } | Measure-Object).Count -eq 0) -or ($requiredVersion -and ($module | ForEach-Object { $_.Version } | Where-Object { $_ -eq [System.Version]$requiredVersion } | Measure-Object).Count -eq 0)) { + $null = New-Item -ItemType Directory -Force -Path $path + Write-Host -ForegroundColor Green "Installing local $moduleName module into '$path'..." + if ($requiredVersion) { + Find-Module -Name $moduleName -RequiredVersion $requiredVersion -Repository PSGallery | Save-Module -Path $path + }elseif($versionMinimum) { + Find-Module -Name $moduleName -MinimumVersion $versionMinimum -Repository PSGallery | Save-Module -Path $path + } else { + Find-Module -Name $moduleName -Repository PSGallery | Save-Module -Path $path + } + } + } +} + +$ProgressPreference = 'SilentlyContinue' +$all = (@($Accounts.IsPresent, $Pester.IsPresent) | Select-Object -Unique | Measure-Object).Count -eq 1 + +$localModulesPath = Join-Path $PSScriptRoot 'generated/modules' +if(Test-Path -Path $localModulesPath) { + $env:PSModulePath = "$localModulesPath$([IO.Path]::PathSeparator)$env:PSModulePath" +} + +DownloadModule -predicate ($all -or $Accounts) -path $localModulesPath -moduleName 'Az.Accounts' -versionMinimum '2.7.5' +DownloadModule -predicate ($all -or $Pester) -path $localModulesPath -moduleName 'Pester' -requiredVersion '4.10.1' + +$tools = Join-Path $PSScriptRoot 'tools' +$resourceDir = Join-Path $tools 'Resources' +$resourceModule = Join-Path $HOME '.PSSharedModules\Resources\Az.Resources.TestSupport.psm1' + +if ($Resources.IsPresent -and ((-not (Test-Path -Path $resourceModule)) -or $RegenerateSupportModule.IsPresent)) { + Write-Host -ForegroundColor Green "Building local Resource module used for test..." + Set-Location $resourceDir + $null = autorest .\README.md --use:@autorest/powershell@3.0.414 --output-folder=$HOME/.PSSharedModules/Resources + $null = Copy-Item custom/* $HOME/.PSSharedModules/Resources/custom/ + Set-Location $HOME/.PSSharedModules/Resources + $null = .\build-module.ps1 + Set-Location $PSScriptRoot +} diff --git a/swaggerci/billing/create-model-cmdlets.ps1 b/swaggerci/billing/create-model-cmdlets.ps1 new file mode 100644 index 000000000000..13e3cb3c1eea --- /dev/null +++ b/swaggerci/billing/create-model-cmdlets.ps1 @@ -0,0 +1,163 @@ +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +function CreateModelCmdlet { + + param([string[]]$Models) + + if ($Models.Count -eq 0) + { + return + } + + $ModelCsPath = Join-Path (Join-Path $PSScriptRoot 'generated/api') 'Models' + $ModuleName = 'Billing' + $OutputDir = Join-Path $PSScriptRoot 'custom/autogen-model-cmdlets' + $null = New-Item -ItemType Directory -Force -Path $OutputDir + + $CsFiles = Get-ChildItem -Path $ModelCsPath -Recurse -Filter *.cs + $Content = '' + $null = $CsFiles | ForEach-Object -Process { if ($_.Name.Split('.').count -eq 2 ) + { $Content += get-content $_.fullname -raw + } } + + $Tree = [Microsoft.CodeAnalysis.CSharp.SyntaxFactory]::ParseCompilationUnit($Content) + $Nodes = $Tree.ChildNodes().ChildNodes() + foreach ($Model in $Models) + { + $InterfaceNode = $Nodes | Where-Object { ($_.Keyword.value -eq 'interface') -and ($_.Identifier.value -eq "I$Model") } + if ($InterfaceNode.count -eq 0) { + continue + } + # through a queue, we iterate all the parent models. + $Queue = @($InterfaceNode) + $visited = @("I$Model") + $AllInterfaceNodes = @() + while ($Queue.count -ne 0) + { + $AllInterfaceNodes += $Queue[0] + # Baselist contains the direct parent models. + foreach ($parent in $Queue[0].BaseList.Types) + { + if (($parent.Type.Right.Identifier.Value -ne 'IJsonSerializable') -and (-not $visited.Contains($parent.Type.Right.Identifier.Value))) + { + $Queue = [Array]$Queue + ($Nodes | Where-Object { ($_.Keyword.value -eq 'interface') -and ($_.Identifier.value -eq $parent.Type.Right.Identifier.Value) }) + $visited = [Array]$visited + $parent.Type.Right.Identifier.Value + } + } + $first, $Queue = $Queue + } + + $Namespace = $InterfaceNode.Parent.Name + $ObjectType = $Model + $ObjectTypeWithNamespace = "${Namespace}.${ObjectType}" + # remove duplicated module name + if ($ObjectType.StartsWith($ModuleName)) { + $ModulePrefix = '' + } else { + $ModulePrefix = $ModuleName + } + $OutputPath = Join-Path -ChildPath "New-Az${ModulePrefix}${ObjectType}Object.ps1" -Path $OutputDir + + $ParameterDefineScriptList = New-Object System.Collections.Generic.List[string] + $ParameterAssignScriptList = New-Object System.Collections.Generic.List[string] + foreach ($Node in $AllInterfaceNodes) + { + foreach ($Member in $Node.Members) + { + $Arguments = $Member.AttributeLists.Attributes.ArgumentList.Arguments + $Required = $false + $Description = "" + $Readonly = $False + foreach ($Argument in $Arguments) + { + if ($Argument.NameEquals.Name.Identifier.Value -eq "Required") + { + $Required = $Argument.Expression.Token.Value + } + if ($Argument.NameEquals.Name.Identifier.Value -eq "Description") + { + $Description = $Argument.Expression.Token.Value.Trim('.').replace('"', '`"') + } + if ($Argument.NameEquals.Name.Identifier.Value -eq "Readonly") + { + $Readonly = $Argument.Expression.Token.Value + } + } + if ($Readonly) + { + continue + } + $Identifier = $Member.Identifier.Value + $Type = $Member.Type.ToString().replace('?', '').Split("::")[-1] + $ParameterDefinePropertyList = New-Object System.Collections.Generic.List[string] + if ($Required) + { + $ParameterDefinePropertyList.Add("Mandatory") + } + if ($Description -ne "") + { + $ParameterDefinePropertyList.Add("HelpMessage=`"${Description}.`"") + } + $ParameterDefineProperty = [System.String]::Join(", ", $ParameterDefinePropertyList) + # check whether completer is needed + $completer = ''; + if($Type.Split('.').Split('.')[-2] -eq 'Support') { + # If Type is an array, need to strip [] + $strippedType = $Type.Replace('[]', '') + $completer += "`n [ArgumentCompleter([${strippedType}])]" + } + $ParameterDefineScript = " + [Parameter($ParameterDefineProperty)]${completer} + [${Type}] + `$${Identifier}" + $ParameterDefineScriptList.Add($ParameterDefineScript) + $ParameterAssignScriptList.Add(" + if (`$PSBoundParameters.ContainsKey('${Identifier}')) { + `$Object.${Identifier} = `$${Identifier} + }") + } + } + $ParameterDefineScript = $ParameterDefineScriptList | Join-String -Separator "," + $ParameterAssignScript = $ParameterAssignScriptList | Join-String -Separator "" + + $Script = " +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Create an in-memory object for ${ObjectType}. +.Description +Create an in-memory object for ${ObjectType}. + +.Outputs +${ObjectTypeWithNamespace} +.Link +https://docs.microsoft.com/en-us/powershell/module/az.${ModuleName}/new-Az${ModulePrefix}${ObjectType}Object +#> +function New-Az${ModulePrefix}${ObjectType}Object { + [OutputType('${ObjectTypeWithNamespace}')] + [CmdletBinding(PositionalBinding=`$false)] + Param( +${ParameterDefineScript} + ) + + process { + `$Object = [${ObjectTypeWithNamespace}]::New() +${ParameterAssignScript} + return `$Object + } +} +" + Set-Content -Path $OutputPath -Value $Script + } +} diff --git a/swaggerci/billing/custom/Az.Billing.custom.psm1 b/swaggerci/billing/custom/Az.Billing.custom.psm1 new file mode 100644 index 000000000000..cd55a45c3896 --- /dev/null +++ b/swaggerci/billing/custom/Az.Billing.custom.psm1 @@ -0,0 +1,17 @@ +# region Generated + # Load the private module dll + $null = Import-Module -PassThru -Name (Join-Path $PSScriptRoot '../bin/Az.Billing.private.dll') + + # Load the internal module + $internalModulePath = Join-Path $PSScriptRoot '../internal/Az.Billing.internal.psm1' + if(Test-Path $internalModulePath) { + $null = Import-Module -Name $internalModulePath + } + + # Export nothing to clear implicit exports + Export-ModuleMember + + # Export script cmdlets + Get-ChildItem -Path $PSScriptRoot -Recurse -Include '*.ps1' -File | ForEach-Object { . $_.FullName } + Export-ModuleMember -Function (Get-ScriptCmdlet -ScriptFolder $PSScriptRoot) -Alias (Get-ScriptCmdlet -ScriptFolder $PSScriptRoot -AsAlias) +# endregion diff --git a/swaggerci/billing/custom/README.md b/swaggerci/billing/custom/README.md new file mode 100644 index 000000000000..6eb523c9f35f --- /dev/null +++ b/swaggerci/billing/custom/README.md @@ -0,0 +1,41 @@ +# Custom +This directory contains custom implementation for non-generated cmdlets for the `Az.Billing` module. Both scripts (`.ps1`) and C# files (`.cs`) can be implemented here. They will be used during the build process in `build-module.ps1`, and create cmdlets into the `../exports` folder. The only generated file into this folder is the `Az.Billing.custom.psm1`. This file should not be modified. + +## Info +- Modifiable: yes +- Generated: partial +- Committed: yes +- Packaged: yes + +## Details +For `Az.Billing` to use custom cmdlets, it does this two different ways. We **highly recommend** creating script cmdlets, as they are easier to write and allow access to the other exported cmdlets. C# cmdlets *cannot access exported cmdlets*. + +For C# cmdlets, they are compiled with the rest of the generated low-level cmdlets into the `./bin/Az.Billing.private.dll`. The names of the cmdlets (methods) and files must follow the `[cmdletName]_[variantName]` syntax used for generated cmdlets. The `variantName` is used as the `ParameterSetName`, so use something appropriate that doesn't clash with already created variant or parameter set names. You cannot use the `ParameterSetName` property in the `Parameter` attribute on C# cmdlets. Each cmdlet must be separated into variants using the same pattern as seen in the `generated/cmdlets` folder. + +For script cmdlets, these are loaded via the `Az.Billing.custom.psm1`. Then, during the build process, this module is loaded and processed in the same manner as the C# cmdlets. The fundamental difference is the script cmdlets use the `ParameterSetName` attribute and C# cmdlets do not. To create a script cmdlet variant of a generated cmdlet, simply decorate all parameters in the script with the new `ParameterSetName` in the `Parameter` attribute. This will appropriately treat each parameter set as a separate variant when processed to be exported during the build. + +## Purpose +This allows the modules to have cmdlets that were not defined in the REST specification. It also allows combining logic using generated cmdlets. This is a level of customization beyond what can be done using the [readme configuration options](https://github.com/Azure/autorest/blob/master/docs/powershell/options.md) that are currently available. These custom cmdlets are then referenced by the cmdlets created at build-time in the `../exports` folder. + +## Usage +The easiest way currently to start developing custom cmdlets is to copy an existing cmdlet. For C# cmdlets, copy one from the `generated/cmdlets` folder. For script cmdlets, build the project using `build-module.ps1` and copy one of the scripts from the `../exports` folder. After that, if you want to add new parameter sets, follow the guidelines in the `Details` section above. For implementing a new cmdlets, at minimum, please keep these parameters: +- Break +- DefaultProfile +- HttpPipelineAppend +- HttpPipelinePrepend +- Proxy +- ProxyCredential +- ProxyUseDefaultCredentials + +These provide functionality to our HTTP pipeline and other useful features. In script, you can forward these parameters using `$PSBoundParameters` to the other cmdlets you're calling within `Az.Billing`. For C#, follow the usage seen in the `ProcessRecordAsync` method. + +### Attributes +For processing the cmdlets, we've created some additional attributes: +- `Microsoft.Azure.PowerShell.Cmdlets.Billing.DescriptionAttribute` + - Used in C# cmdlets to provide a high-level description of the cmdlet. This is propagated to reference documentation via [help comments](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_comment_based_help) in the exported scripts. +- `Microsoft.Azure.PowerShell.Cmdlets.Billing.DoNotExportAttribute` + - Used in C# and script cmdlets to suppress creating an exported cmdlet at build-time. These cmdlets will *not be exposed* by `Az.Billing`. +- `Microsoft.Azure.PowerShell.Cmdlets.Billing.InternalExportAttribute` + - Used in C# cmdlets to route exported cmdlets to the `../internal`, which are *not exposed* by `Az.Billing`. For more information, see [README.md](../internal/README.md) in the `../internal` folder. +- `Microsoft.Azure.PowerShell.Cmdlets.Billing.ProfileAttribute` + - Used in C# and script cmdlets to define which Azure profiles the cmdlet supports. This is only supported for Azure (`--azure`) modules. \ No newline at end of file diff --git a/swaggerci/billing/docs/Az.Billing.md b/swaggerci/billing/docs/Az.Billing.md new file mode 100644 index 000000000000..5595d24b62c7 --- /dev/null +++ b/swaggerci/billing/docs/Az.Billing.md @@ -0,0 +1,158 @@ +--- +Module Name: Az.Billing +Module Guid: 4665db2c-7bc0-4f40-a792-ff7fa31e2624 +Download Help Link: https://docs.microsoft.com/en-us/powershell/module/az.billing +Help Version: 1.0.0.0 +Locale: en-US +--- + +# Az.Billing Module +## Description +Microsoft Azure PowerShell: Billing cmdlets + +## Az.Billing Cmdlets +### [Get-AzBillingAccount](Get-AzBillingAccount.md) +Gets a billing account by its ID. + +### [Get-AzBillingAccountInvoiceSection](Get-AzBillingAccountInvoiceSection.md) +Lists the invoice sections for which the user has permission to create Azure subscriptions. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. + +### [Get-AzBillingAgreement](Get-AzBillingAgreement.md) +Gets an agreement by ID. + +### [Get-AzBillingAvailableBalance](Get-AzBillingAvailableBalance.md) +The available credit balance for a billing profile. +This is the balance that can be used for pay now to settle due or past due invoices. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. + +### [Get-AzBillingCustomer](Get-AzBillingCustomer.md) +Gets a customer by its ID. +The operation is supported only for billing accounts with agreement type Microsoft Partner Agreement. + +### [Get-AzBillingEnrollmentAccount](Get-AzBillingEnrollmentAccount.md) +Gets a enrollment account by name. + +### [Get-AzBillingInstruction](Get-AzBillingInstruction.md) +Get the instruction by name. +These are custom billing instructions and are only applicable for certain customers. + +### [Get-AzBillingInvoice](Get-AzBillingInvoice.md) +Gets an invoice by billing account name and ID. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. + +### [Get-AzBillingInvoiceSection](Get-AzBillingInvoiceSection.md) +Gets an invoice section by its ID. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. + +### [Get-AzBillingPeriod](Get-AzBillingPeriod.md) +Gets a named billing period. +This is only supported for Azure Web-Direct subscriptions. +Other subscription types which were not purchased directly through the Azure web portal are not supported through this preview API. + +### [Get-AzBillingPermission](Get-AzBillingPermission.md) +Lists the billing permissions the caller has for a customer. + +### [Get-AzBillingPolicy](Get-AzBillingPolicy.md) +Lists the policies for a billing profile. +This operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. + +### [Get-AzBillingProduct](Get-AzBillingProduct.md) +Gets a product by ID. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. + +### [Get-AzBillingProfile](Get-AzBillingProfile.md) +Gets a billing profile by its ID. +The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement. + +### [Get-AzBillingProperty](Get-AzBillingProperty.md) +Get the billing properties for a subscription. +This operation is not supported for billing accounts with agreement type Enterprise Agreement. + +### [Get-AzBillingReservation](Get-AzBillingReservation.md) +Lists the reservations for a billing account and the roll up counts of reservations group by provisioning states. + +### [Get-AzBillingRoleAssignment](Get-AzBillingRoleAssignment.md) +Gets a role assignment for the caller on a billing account. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. + +### [Get-AzBillingRoleDefinition](Get-AzBillingRoleDefinition.md) +Gets the definition for a role on a billing account. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. + +### [Get-AzBillingSubscription](Get-AzBillingSubscription.md) +Gets a subscription by its ID. +The operation is supported for billing accounts with agreement type Microsoft Customer Agreement and Microsoft Partner Agreement. + +### [Get-AzBillingTransaction](Get-AzBillingTransaction.md) +Lists the transactions for an invoice. +Transactions include purchases, refunds and Azure usage charges. + +### [Invoke-AzBillingDownloadInvoice](Invoke-AzBillingDownloadInvoice.md) +Gets a URL to download an invoice. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. + +### [Invoke-AzBillingDownloadInvoiceBillingSubscriptionInvoice](Invoke-AzBillingDownloadInvoiceBillingSubscriptionInvoice.md) +Gets a URL to download an invoice. + +### [Invoke-AzBillingDownloadInvoiceMultipleBillingProfileInvoice](Invoke-AzBillingDownloadInvoiceMultipleBillingProfileInvoice.md) +Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip file. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. + +### [Invoke-AzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice](Invoke-AzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice.md) +Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip file. + +### [Move-AzBillingProduct](Move-AzBillingProduct.md) +Moves a product's charges to a new invoice section. +The new invoice section must belong to the same billing profile as the existing invoice section. +This operation is supported only for products that are purchased with a recurring charge and for billing accounts with agreement type Microsoft Customer Agreement. + +### [Move-AzBillingSubscription](Move-AzBillingSubscription.md) +Moves a subscription's charges to a new invoice section. +The new invoice section must belong to the same billing profile as the existing invoice section. +This operation is supported for billing accounts with agreement type Microsoft Customer Agreement. + +### [New-AzBillingInvoiceSection](New-AzBillingInvoiceSection.md) +Creates or updates an invoice section. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. + +### [New-AzBillingProfile](New-AzBillingProfile.md) +Creates or updates a billing profile. +The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement. + +### [Remove-AzBillingRoleAssignment](Remove-AzBillingRoleAssignment.md) +Deletes a role assignment for the caller on a billing account. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. + +### [Test-AzBillingAddress](Test-AzBillingAddress.md) +Validates an address. +Use the operation to validate an address before using it as soldTo or a billTo address. + +### [Test-AzBillingProductMove](Test-AzBillingProductMove.md) +Validates if a product's charges can be moved to a new invoice section. +This operation is supported only for products that are purchased with a recurring charge and for billing accounts with agreement type Microsoft Customer Agreement. + +### [Test-AzBillingSubscriptionMove](Test-AzBillingSubscriptionMove.md) +Validates if a subscription's charges can be moved to a new invoice section. +This operation is supported for billing accounts with agreement type Microsoft Customer Agreement. + +### [Update-AzBillingAccount](Update-AzBillingAccount.md) +Updates the properties of a billing account. +Currently, displayName and address can be updated. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. + +### [Update-AzBillingProduct](Update-AzBillingProduct.md) +Updates the properties of a Product. +Currently, auto renew can be updated. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. + +### [Update-AzBillingProperty](Update-AzBillingProperty.md) +Updates the billing property of a subscription. +Currently, cost center can be updated. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. + +### [Update-AzBillingSubscription](Update-AzBillingSubscription.md) +Updates the properties of a billing subscription. +Currently, cost center can be updated. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. + diff --git a/swaggerci/billing/docs/Get-AzBillingAccount.md b/swaggerci/billing/docs/Get-AzBillingAccount.md new file mode 100644 index 000000000000..4fe6a960505f --- /dev/null +++ b/swaggerci/billing/docs/Get-AzBillingAccount.md @@ -0,0 +1,158 @@ +--- +external help file: +Module Name: Az.Billing +online version: https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingaccount +schema: 2.0.0 +--- + +# Get-AzBillingAccount + +## SYNOPSIS +Gets a billing account by its ID. + +## SYNTAX + +### List (Default) +``` +Get-AzBillingAccount [-Expand ] [-DefaultProfile ] [] +``` + +### Get +``` +Get-AzBillingAccount -Name [-Expand ] [-DefaultProfile ] [] +``` + +### GetViaIdentity +``` +Get-AzBillingAccount -InputObject [-Expand ] [-DefaultProfile ] + [] +``` + +## DESCRIPTION +Gets a billing account by its ID. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Expand +May be used to expand the soldTo, invoice sections and billing profiles. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +Parameter Sets: GetViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +The ID that uniquely identifies a billing account. + +```yaml +Type: System.String +Parameter Sets: Get +Aliases: BillingAccountName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[AgreementName ]`: The ID that uniquely identifies an agreement. + - `[BillingAccountName ]`: The ID that uniquely identifies a billing account. + - `[BillingPeriodName ]`: The name of a BillingPeriod resource. + - `[BillingProfileName ]`: The ID that uniquely identifies a billing profile. + - `[BillingRoleAssignmentName ]`: The ID that uniquely identifies a role assignment. + - `[BillingRoleDefinitionName ]`: The ID that uniquely identifies a role definition. + - `[CustomerName ]`: The ID that uniquely identifies a customer. + - `[Id ]`: Resource identity path + - `[InstructionName ]`: Instruction Name. + - `[InvoiceName ]`: The ID that uniquely identifies an invoice. + - `[InvoiceSectionName ]`: The ID that uniquely identifies an invoice section. + - `[Name ]`: Enrollment Account name. + - `[ProductName ]`: The ID that uniquely identifies a product. + - `[SubscriptionId ]`: The ID that uniquely identifies an Azure subscription. + +## RELATED LINKS + diff --git a/swaggerci/billing/docs/Get-AzBillingAccountInvoiceSection.md b/swaggerci/billing/docs/Get-AzBillingAccountInvoiceSection.md new file mode 100644 index 000000000000..9e0d6840694d --- /dev/null +++ b/swaggerci/billing/docs/Get-AzBillingAccountInvoiceSection.md @@ -0,0 +1,126 @@ +--- +external help file: +Module Name: Az.Billing +online version: https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingaccountinvoicesection +schema: 2.0.0 +--- + +# Get-AzBillingAccountInvoiceSection + +## SYNOPSIS +Lists the invoice sections for which the user has permission to create Azure subscriptions. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. + +## SYNTAX + +``` +Get-AzBillingAccountInvoiceSection -BillingAccountName [-DefaultProfile ] [-Confirm] + [-WhatIf] [] +``` + +## DESCRIPTION +Lists the invoice sections for which the user has permission to create Azure subscriptions. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -BillingAccountName +The ID that uniquely identifies a billing account. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermission + +## NOTES + +ALIASES + +## RELATED LINKS + diff --git a/swaggerci/billing/docs/Get-AzBillingAgreement.md b/swaggerci/billing/docs/Get-AzBillingAgreement.md new file mode 100644 index 000000000000..598e0d00fc3a --- /dev/null +++ b/swaggerci/billing/docs/Get-AzBillingAgreement.md @@ -0,0 +1,175 @@ +--- +external help file: +Module Name: Az.Billing +online version: https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingagreement +schema: 2.0.0 +--- + +# Get-AzBillingAgreement + +## SYNOPSIS +Gets an agreement by ID. + +## SYNTAX + +### List (Default) +``` +Get-AzBillingAgreement -BillingAccountName [-Expand ] [-DefaultProfile ] + [] +``` + +### Get +``` +Get-AzBillingAgreement -BillingAccountName -Name [-Expand ] + [-DefaultProfile ] [] +``` + +### GetViaIdentity +``` +Get-AzBillingAgreement -InputObject [-Expand ] [-DefaultProfile ] + [] +``` + +## DESCRIPTION +Gets an agreement by ID. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -BillingAccountName +The ID that uniquely identifies a billing account. + +```yaml +Type: System.String +Parameter Sets: Get, List +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Expand +May be used to expand the participants. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +Parameter Sets: GetViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +The ID that uniquely identifies an agreement. + +```yaml +Type: System.String +Parameter Sets: Get +Aliases: AgreementName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreement + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[AgreementName ]`: The ID that uniquely identifies an agreement. + - `[BillingAccountName ]`: The ID that uniquely identifies a billing account. + - `[BillingPeriodName ]`: The name of a BillingPeriod resource. + - `[BillingProfileName ]`: The ID that uniquely identifies a billing profile. + - `[BillingRoleAssignmentName ]`: The ID that uniquely identifies a role assignment. + - `[BillingRoleDefinitionName ]`: The ID that uniquely identifies a role definition. + - `[CustomerName ]`: The ID that uniquely identifies a customer. + - `[Id ]`: Resource identity path + - `[InstructionName ]`: Instruction Name. + - `[InvoiceName ]`: The ID that uniquely identifies an invoice. + - `[InvoiceSectionName ]`: The ID that uniquely identifies an invoice section. + - `[Name ]`: Enrollment Account name. + - `[ProductName ]`: The ID that uniquely identifies a product. + - `[SubscriptionId ]`: The ID that uniquely identifies an Azure subscription. + +## RELATED LINKS + diff --git a/swaggerci/billing/docs/Get-AzBillingAvailableBalance.md b/swaggerci/billing/docs/Get-AzBillingAvailableBalance.md new file mode 100644 index 000000000000..e803de6c21f4 --- /dev/null +++ b/swaggerci/billing/docs/Get-AzBillingAvailableBalance.md @@ -0,0 +1,158 @@ +--- +external help file: +Module Name: Az.Billing +online version: https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingavailablebalance +schema: 2.0.0 +--- + +# Get-AzBillingAvailableBalance + +## SYNOPSIS +The available credit balance for a billing profile. +This is the balance that can be used for pay now to settle due or past due invoices. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. + +## SYNTAX + +### Get (Default) +``` +Get-AzBillingAvailableBalance -BillingAccountName -BillingProfileName + [-DefaultProfile ] [] +``` + +### GetViaIdentity +``` +Get-AzBillingAvailableBalance -InputObject [-DefaultProfile ] + [] +``` + +## DESCRIPTION +The available credit balance for a billing profile. +This is the balance that can be used for pay now to settle due or past due invoices. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -BillingAccountName +The ID that uniquely identifies a billing account. + +```yaml +Type: System.String +Parameter Sets: Get +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BillingProfileName +The ID that uniquely identifies a billing profile. + +```yaml +Type: System.String +Parameter Sets: Get +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +Parameter Sets: GetViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalance + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[AgreementName ]`: The ID that uniquely identifies an agreement. + - `[BillingAccountName ]`: The ID that uniquely identifies a billing account. + - `[BillingPeriodName ]`: The name of a BillingPeriod resource. + - `[BillingProfileName ]`: The ID that uniquely identifies a billing profile. + - `[BillingRoleAssignmentName ]`: The ID that uniquely identifies a role assignment. + - `[BillingRoleDefinitionName ]`: The ID that uniquely identifies a role definition. + - `[CustomerName ]`: The ID that uniquely identifies a customer. + - `[Id ]`: Resource identity path + - `[InstructionName ]`: Instruction Name. + - `[InvoiceName ]`: The ID that uniquely identifies an invoice. + - `[InvoiceSectionName ]`: The ID that uniquely identifies an invoice section. + - `[Name ]`: Enrollment Account name. + - `[ProductName ]`: The ID that uniquely identifies a product. + - `[SubscriptionId ]`: The ID that uniquely identifies an Azure subscription. + +## RELATED LINKS + diff --git a/swaggerci/billing/docs/Get-AzBillingCustomer.md b/swaggerci/billing/docs/Get-AzBillingCustomer.md new file mode 100644 index 000000000000..862f1cb85ddb --- /dev/null +++ b/swaggerci/billing/docs/Get-AzBillingCustomer.md @@ -0,0 +1,229 @@ +--- +external help file: +Module Name: Az.Billing +online version: https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingcustomer +schema: 2.0.0 +--- + +# Get-AzBillingCustomer + +## SYNOPSIS +Gets a customer by its ID. +The operation is supported only for billing accounts with agreement type Microsoft Partner Agreement. + +## SYNTAX + +### List1 (Default) +``` +Get-AzBillingCustomer -BillingAccountName [-Filter ] [-Search ] + [-DefaultProfile ] [] +``` + +### Get +``` +Get-AzBillingCustomer -BillingAccountName -Name [-Expand ] + [-DefaultProfile ] [] +``` + +### GetViaIdentity +``` +Get-AzBillingCustomer -InputObject [-Expand ] [-DefaultProfile ] + [] +``` + +### List +``` +Get-AzBillingCustomer -BillingAccountName -BillingProfileName [-Filter ] + [-Search ] [-DefaultProfile ] [] +``` + +## DESCRIPTION +Gets a customer by its ID. +The operation is supported only for billing accounts with agreement type Microsoft Partner Agreement. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -BillingAccountName +The ID that uniquely identifies a billing account. + +```yaml +Type: System.String +Parameter Sets: Get, List, List1 +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BillingProfileName +The ID that uniquely identifies a billing profile. + +```yaml +Type: System.String +Parameter Sets: List +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Expand +May be used to expand enabledAzurePlans and resellers + +```yaml +Type: System.String +Parameter Sets: Get, GetViaIdentity +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Filter +May be used to filter the list of customers. + +```yaml +Type: System.String +Parameter Sets: List, List1 +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +Parameter Sets: GetViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +The ID that uniquely identifies a customer. + +```yaml +Type: System.String +Parameter Sets: Get +Aliases: CustomerName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Search +Used for searching customers by their name. +Any customer with name containing the search text will be included in the response + +```yaml +Type: System.String +Parameter Sets: List, List1 +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomer + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[AgreementName ]`: The ID that uniquely identifies an agreement. + - `[BillingAccountName ]`: The ID that uniquely identifies a billing account. + - `[BillingPeriodName ]`: The name of a BillingPeriod resource. + - `[BillingProfileName ]`: The ID that uniquely identifies a billing profile. + - `[BillingRoleAssignmentName ]`: The ID that uniquely identifies a role assignment. + - `[BillingRoleDefinitionName ]`: The ID that uniquely identifies a role definition. + - `[CustomerName ]`: The ID that uniquely identifies a customer. + - `[Id ]`: Resource identity path + - `[InstructionName ]`: Instruction Name. + - `[InvoiceName ]`: The ID that uniquely identifies an invoice. + - `[InvoiceSectionName ]`: The ID that uniquely identifies an invoice section. + - `[Name ]`: Enrollment Account name. + - `[ProductName ]`: The ID that uniquely identifies a product. + - `[SubscriptionId ]`: The ID that uniquely identifies an Azure subscription. + +## RELATED LINKS + diff --git a/swaggerci/billing/docs/Get-AzBillingEnrollmentAccount.md b/swaggerci/billing/docs/Get-AzBillingEnrollmentAccount.md new file mode 100644 index 000000000000..8a861a7a2cdc --- /dev/null +++ b/swaggerci/billing/docs/Get-AzBillingEnrollmentAccount.md @@ -0,0 +1,143 @@ +--- +external help file: +Module Name: Az.Billing +online version: https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingenrollmentaccount +schema: 2.0.0 +--- + +# Get-AzBillingEnrollmentAccount + +## SYNOPSIS +Gets a enrollment account by name. + +## SYNTAX + +### List (Default) +``` +Get-AzBillingEnrollmentAccount [-DefaultProfile ] [] +``` + +### Get +``` +Get-AzBillingEnrollmentAccount -Name [-DefaultProfile ] [] +``` + +### GetViaIdentity +``` +Get-AzBillingEnrollmentAccount -InputObject [-DefaultProfile ] + [] +``` + +## DESCRIPTION +Gets a enrollment account by name. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +Parameter Sets: GetViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +Enrollment Account name. + +```yaml +Type: System.String +Parameter Sets: Get +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummary + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[AgreementName ]`: The ID that uniquely identifies an agreement. + - `[BillingAccountName ]`: The ID that uniquely identifies a billing account. + - `[BillingPeriodName ]`: The name of a BillingPeriod resource. + - `[BillingProfileName ]`: The ID that uniquely identifies a billing profile. + - `[BillingRoleAssignmentName ]`: The ID that uniquely identifies a role assignment. + - `[BillingRoleDefinitionName ]`: The ID that uniquely identifies a role definition. + - `[CustomerName ]`: The ID that uniquely identifies a customer. + - `[Id ]`: Resource identity path + - `[InstructionName ]`: Instruction Name. + - `[InvoiceName ]`: The ID that uniquely identifies an invoice. + - `[InvoiceSectionName ]`: The ID that uniquely identifies an invoice section. + - `[Name ]`: Enrollment Account name. + - `[ProductName ]`: The ID that uniquely identifies a product. + - `[SubscriptionId ]`: The ID that uniquely identifies an Azure subscription. + +## RELATED LINKS + diff --git a/swaggerci/billing/docs/Get-AzBillingInstruction.md b/swaggerci/billing/docs/Get-AzBillingInstruction.md new file mode 100644 index 000000000000..2659c6865bad --- /dev/null +++ b/swaggerci/billing/docs/Get-AzBillingInstruction.md @@ -0,0 +1,176 @@ +--- +external help file: +Module Name: Az.Billing +online version: https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillinginstruction +schema: 2.0.0 +--- + +# Get-AzBillingInstruction + +## SYNOPSIS +Get the instruction by name. +These are custom billing instructions and are only applicable for certain customers. + +## SYNTAX + +### List (Default) +``` +Get-AzBillingInstruction -BillingAccountName -BillingProfileName + [-DefaultProfile ] [] +``` + +### Get +``` +Get-AzBillingInstruction -BillingAccountName -BillingProfileName -Name + [-DefaultProfile ] [] +``` + +### GetViaIdentity +``` +Get-AzBillingInstruction -InputObject [-DefaultProfile ] [] +``` + +## DESCRIPTION +Get the instruction by name. +These are custom billing instructions and are only applicable for certain customers. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -BillingAccountName +The ID that uniquely identifies a billing account. + +```yaml +Type: System.String +Parameter Sets: Get, List +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BillingProfileName +The ID that uniquely identifies a billing profile. + +```yaml +Type: System.String +Parameter Sets: Get, List +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +Parameter Sets: GetViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +Instruction Name. + +```yaml +Type: System.String +Parameter Sets: Get +Aliases: InstructionName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstruction + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[AgreementName ]`: The ID that uniquely identifies an agreement. + - `[BillingAccountName ]`: The ID that uniquely identifies a billing account. + - `[BillingPeriodName ]`: The name of a BillingPeriod resource. + - `[BillingProfileName ]`: The ID that uniquely identifies a billing profile. + - `[BillingRoleAssignmentName ]`: The ID that uniquely identifies a role assignment. + - `[BillingRoleDefinitionName ]`: The ID that uniquely identifies a role definition. + - `[CustomerName ]`: The ID that uniquely identifies a customer. + - `[Id ]`: Resource identity path + - `[InstructionName ]`: Instruction Name. + - `[InvoiceName ]`: The ID that uniquely identifies an invoice. + - `[InvoiceSectionName ]`: The ID that uniquely identifies an invoice section. + - `[Name ]`: Enrollment Account name. + - `[ProductName ]`: The ID that uniquely identifies a product. + - `[SubscriptionId ]`: The ID that uniquely identifies an Azure subscription. + +## RELATED LINKS + diff --git a/swaggerci/billing/docs/Get-AzBillingInvoice.md b/swaggerci/billing/docs/Get-AzBillingInvoice.md new file mode 100644 index 000000000000..135adf444ea6 --- /dev/null +++ b/swaggerci/billing/docs/Get-AzBillingInvoice.md @@ -0,0 +1,256 @@ +--- +external help file: +Module Name: Az.Billing +online version: https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillinginvoice +schema: 2.0.0 +--- + +# Get-AzBillingInvoice + +## SYNOPSIS +Gets an invoice by billing account name and ID. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. + +## SYNTAX + +### Get1 (Default) +``` +Get-AzBillingInvoice -Name [-DefaultProfile ] [] +``` + +### Get +``` +Get-AzBillingInvoice -BillingAccountName -Name [-DefaultProfile ] + [] +``` + +### Get2 +``` +Get-AzBillingInvoice -Name [-SubscriptionId ] [-DefaultProfile ] + [] +``` + +### GetViaIdentity +``` +Get-AzBillingInvoice -InputObject [-DefaultProfile ] [] +``` + +### GetViaIdentity1 +``` +Get-AzBillingInvoice -InputObject [-DefaultProfile ] [] +``` + +### GetViaIdentity2 +``` +Get-AzBillingInvoice -InputObject [-DefaultProfile ] [] +``` + +### List +``` +Get-AzBillingInvoice -BillingAccountName -PeriodEndDate -PeriodStartDate + [-DefaultProfile ] [] +``` + +### List1 +``` +Get-AzBillingInvoice -BillingAccountName -BillingProfileName -PeriodEndDate + -PeriodStartDate [-DefaultProfile ] [] +``` + +### List2 +``` +Get-AzBillingInvoice -PeriodEndDate -PeriodStartDate [-SubscriptionId ] + [-DefaultProfile ] [] +``` + +## DESCRIPTION +Gets an invoice by billing account name and ID. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -BillingAccountName +The ID that uniquely identifies a billing account. + +```yaml +Type: System.String +Parameter Sets: Get, List, List1 +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BillingProfileName +The ID that uniquely identifies a billing profile. + +```yaml +Type: System.String +Parameter Sets: List1 +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +Parameter Sets: GetViaIdentity, GetViaIdentity1, GetViaIdentity2 +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +The ID that uniquely identifies an invoice. + +```yaml +Type: System.String +Parameter Sets: Get, Get1, Get2 +Aliases: InvoiceName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PeriodEndDate +The end date to fetch the invoices. +The date should be specified in MM-DD-YYYY format. + +```yaml +Type: System.String +Parameter Sets: List, List1, List2 +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PeriodStartDate +The start date to fetch the invoices. +The date should be specified in MM-DD-YYYY format. + +```yaml +Type: System.String +Parameter Sets: List, List1, List2 +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The ID that uniquely identifies an Azure subscription. + +```yaml +Type: System.String[] +Parameter Sets: Get2, List2 +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[AgreementName ]`: The ID that uniquely identifies an agreement. + - `[BillingAccountName ]`: The ID that uniquely identifies a billing account. + - `[BillingPeriodName ]`: The name of a BillingPeriod resource. + - `[BillingProfileName ]`: The ID that uniquely identifies a billing profile. + - `[BillingRoleAssignmentName ]`: The ID that uniquely identifies a role assignment. + - `[BillingRoleDefinitionName ]`: The ID that uniquely identifies a role definition. + - `[CustomerName ]`: The ID that uniquely identifies a customer. + - `[Id ]`: Resource identity path + - `[InstructionName ]`: Instruction Name. + - `[InvoiceName ]`: The ID that uniquely identifies an invoice. + - `[InvoiceSectionName ]`: The ID that uniquely identifies an invoice section. + - `[Name ]`: Enrollment Account name. + - `[ProductName ]`: The ID that uniquely identifies a product. + - `[SubscriptionId ]`: The ID that uniquely identifies an Azure subscription. + +## RELATED LINKS + diff --git a/swaggerci/billing/docs/Get-AzBillingInvoiceSection.md b/swaggerci/billing/docs/Get-AzBillingInvoiceSection.md new file mode 100644 index 000000000000..0c9bee5a6f27 --- /dev/null +++ b/swaggerci/billing/docs/Get-AzBillingInvoiceSection.md @@ -0,0 +1,176 @@ +--- +external help file: +Module Name: Az.Billing +online version: https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillinginvoicesection +schema: 2.0.0 +--- + +# Get-AzBillingInvoiceSection + +## SYNOPSIS +Gets an invoice section by its ID. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. + +## SYNTAX + +### List (Default) +``` +Get-AzBillingInvoiceSection -BillingAccountName -BillingProfileName + [-DefaultProfile ] [] +``` + +### Get +``` +Get-AzBillingInvoiceSection -BillingAccountName -BillingProfileName -Name + [-DefaultProfile ] [] +``` + +### GetViaIdentity +``` +Get-AzBillingInvoiceSection -InputObject [-DefaultProfile ] [] +``` + +## DESCRIPTION +Gets an invoice section by its ID. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -BillingAccountName +The ID that uniquely identifies a billing account. + +```yaml +Type: System.String +Parameter Sets: Get, List +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BillingProfileName +The ID that uniquely identifies a billing profile. + +```yaml +Type: System.String +Parameter Sets: Get, List +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +Parameter Sets: GetViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +The ID that uniquely identifies an invoice section. + +```yaml +Type: System.String +Parameter Sets: Get +Aliases: InvoiceSectionName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[AgreementName ]`: The ID that uniquely identifies an agreement. + - `[BillingAccountName ]`: The ID that uniquely identifies a billing account. + - `[BillingPeriodName ]`: The name of a BillingPeriod resource. + - `[BillingProfileName ]`: The ID that uniquely identifies a billing profile. + - `[BillingRoleAssignmentName ]`: The ID that uniquely identifies a role assignment. + - `[BillingRoleDefinitionName ]`: The ID that uniquely identifies a role definition. + - `[CustomerName ]`: The ID that uniquely identifies a customer. + - `[Id ]`: Resource identity path + - `[InstructionName ]`: Instruction Name. + - `[InvoiceName ]`: The ID that uniquely identifies an invoice. + - `[InvoiceSectionName ]`: The ID that uniquely identifies an invoice section. + - `[Name ]`: Enrollment Account name. + - `[ProductName ]`: The ID that uniquely identifies a product. + - `[SubscriptionId ]`: The ID that uniquely identifies an Azure subscription. + +## RELATED LINKS + diff --git a/swaggerci/billing/docs/Get-AzBillingPeriod.md b/swaggerci/billing/docs/Get-AzBillingPeriod.md new file mode 100644 index 000000000000..686f65e49b17 --- /dev/null +++ b/swaggerci/billing/docs/Get-AzBillingPeriod.md @@ -0,0 +1,211 @@ +--- +external help file: +Module Name: Az.Billing +online version: https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingperiod +schema: 2.0.0 +--- + +# Get-AzBillingPeriod + +## SYNOPSIS +Gets a named billing period. +This is only supported for Azure Web-Direct subscriptions. +Other subscription types which were not purchased directly through the Azure web portal are not supported through this preview API. + +## SYNTAX + +### List (Default) +``` +Get-AzBillingPeriod [-SubscriptionId ] [-Filter ] [-Skiptoken ] [-Top ] + [-DefaultProfile ] [] +``` + +### Get +``` +Get-AzBillingPeriod -Name [-SubscriptionId ] [-DefaultProfile ] + [] +``` + +### GetViaIdentity +``` +Get-AzBillingPeriod -InputObject [-DefaultProfile ] [] +``` + +## DESCRIPTION +Gets a named billing period. +This is only supported for Azure Web-Direct subscriptions. +Other subscription types which were not purchased directly through the Azure web portal are not supported through this preview API. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Filter +May be used to filter billing periods by billingPeriodEndDate. +The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. +It does not currently support 'ne', 'or', or 'not'. + +```yaml +Type: System.String +Parameter Sets: List +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +Parameter Sets: GetViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +The name of a BillingPeriod resource. + +```yaml +Type: System.String +Parameter Sets: Get +Aliases: BillingPeriodName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Skiptoken +Skiptoken is only used if a previous operation returned a partial result. +If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls. + +```yaml +Type: System.String +Parameter Sets: List +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The ID that uniquely identifies an Azure subscription. + +```yaml +Type: System.String[] +Parameter Sets: Get, List +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Top +May be used to limit the number of results to the most recent N billing periods. + +```yaml +Type: System.Int32 +Parameter Sets: List +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriod + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[AgreementName ]`: The ID that uniquely identifies an agreement. + - `[BillingAccountName ]`: The ID that uniquely identifies a billing account. + - `[BillingPeriodName ]`: The name of a BillingPeriod resource. + - `[BillingProfileName ]`: The ID that uniquely identifies a billing profile. + - `[BillingRoleAssignmentName ]`: The ID that uniquely identifies a role assignment. + - `[BillingRoleDefinitionName ]`: The ID that uniquely identifies a role definition. + - `[CustomerName ]`: The ID that uniquely identifies a customer. + - `[Id ]`: Resource identity path + - `[InstructionName ]`: Instruction Name. + - `[InvoiceName ]`: The ID that uniquely identifies an invoice. + - `[InvoiceSectionName ]`: The ID that uniquely identifies an invoice section. + - `[Name ]`: Enrollment Account name. + - `[ProductName ]`: The ID that uniquely identifies a product. + - `[SubscriptionId ]`: The ID that uniquely identifies an Azure subscription. + +## RELATED LINKS + diff --git a/swaggerci/billing/docs/Get-AzBillingPermission.md b/swaggerci/billing/docs/Get-AzBillingPermission.md new file mode 100644 index 000000000000..7349491ba113 --- /dev/null +++ b/swaggerci/billing/docs/Get-AzBillingPermission.md @@ -0,0 +1,156 @@ +--- +external help file: +Module Name: Az.Billing +online version: https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingpermission +schema: 2.0.0 +--- + +# Get-AzBillingPermission + +## SYNOPSIS +Lists the billing permissions the caller has for a customer. + +## SYNTAX + +### List1 (Default) +``` +Get-AzBillingPermission -BillingAccountName [-DefaultProfile ] [] +``` + +### List +``` +Get-AzBillingPermission -BillingAccountName -CustomerName [-DefaultProfile ] + [] +``` + +### List2 +``` +Get-AzBillingPermission -BillingAccountName -BillingProfileName -InvoiceSectionName + [-DefaultProfile ] [] +``` + +### List3 +``` +Get-AzBillingPermission -BillingAccountName -BillingProfileName [-DefaultProfile ] + [] +``` + +## DESCRIPTION +Lists the billing permissions the caller has for a customer. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -BillingAccountName +The ID that uniquely identifies a billing account. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BillingProfileName +The ID that uniquely identifies a billing profile. + +```yaml +Type: System.String +Parameter Sets: List2, List3 +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -CustomerName +The ID that uniquely identifies a customer. + +```yaml +Type: System.String +Parameter Sets: List +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InvoiceSectionName +The ID that uniquely identifies an invoice section. + +```yaml +Type: System.String +Parameter Sets: List2 +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsProperties + +## NOTES + +ALIASES + +## RELATED LINKS + diff --git a/swaggerci/billing/docs/Get-AzBillingPolicy.md b/swaggerci/billing/docs/Get-AzBillingPolicy.md new file mode 100644 index 000000000000..68c822b441f5 --- /dev/null +++ b/swaggerci/billing/docs/Get-AzBillingPolicy.md @@ -0,0 +1,183 @@ +--- +external help file: +Module Name: Az.Billing +online version: https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingpolicy +schema: 2.0.0 +--- + +# Get-AzBillingPolicy + +## SYNOPSIS +Lists the policies for a billing profile. +This operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. + +## SYNTAX + +### Get (Default) +``` +Get-AzBillingPolicy -BillingAccountName -BillingProfileName [-DefaultProfile ] + [] +``` + +### Get1 +``` +Get-AzBillingPolicy -BillingAccountName -CustomerName [-DefaultProfile ] + [] +``` + +### GetViaIdentity +``` +Get-AzBillingPolicy -InputObject [-DefaultProfile ] [] +``` + +### GetViaIdentity1 +``` +Get-AzBillingPolicy -InputObject [-DefaultProfile ] [] +``` + +## DESCRIPTION +Lists the policies for a billing profile. +This operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -BillingAccountName +The ID that uniquely identifies a billing account. + +```yaml +Type: System.String +Parameter Sets: Get, Get1 +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BillingProfileName +The ID that uniquely identifies a billing profile. + +```yaml +Type: System.String +Parameter Sets: Get +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -CustomerName +The ID that uniquely identifies a customer. + +```yaml +Type: System.String +Parameter Sets: Get1 +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +Parameter Sets: GetViaIdentity, GetViaIdentity1 +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicy + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicy + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[AgreementName ]`: The ID that uniquely identifies an agreement. + - `[BillingAccountName ]`: The ID that uniquely identifies a billing account. + - `[BillingPeriodName ]`: The name of a BillingPeriod resource. + - `[BillingProfileName ]`: The ID that uniquely identifies a billing profile. + - `[BillingRoleAssignmentName ]`: The ID that uniquely identifies a role assignment. + - `[BillingRoleDefinitionName ]`: The ID that uniquely identifies a role definition. + - `[CustomerName ]`: The ID that uniquely identifies a customer. + - `[Id ]`: Resource identity path + - `[InstructionName ]`: Instruction Name. + - `[InvoiceName ]`: The ID that uniquely identifies an invoice. + - `[InvoiceSectionName ]`: The ID that uniquely identifies an invoice section. + - `[Name ]`: Enrollment Account name. + - `[ProductName ]`: The ID that uniquely identifies a product. + - `[SubscriptionId ]`: The ID that uniquely identifies an Azure subscription. + +## RELATED LINKS + diff --git a/swaggerci/billing/docs/Get-AzBillingProduct.md b/swaggerci/billing/docs/Get-AzBillingProduct.md new file mode 100644 index 000000000000..90702d2afdf5 --- /dev/null +++ b/swaggerci/billing/docs/Get-AzBillingProduct.md @@ -0,0 +1,242 @@ +--- +external help file: +Module Name: Az.Billing +online version: https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingproduct +schema: 2.0.0 +--- + +# Get-AzBillingProduct + +## SYNOPSIS +Gets a product by ID. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. + +## SYNTAX + +### List1 (Default) +``` +Get-AzBillingProduct -BillingAccountName [-Filter ] [-DefaultProfile ] + [] +``` + +### Get +``` +Get-AzBillingProduct -BillingAccountName -Name [-DefaultProfile ] + [] +``` + +### GetViaIdentity +``` +Get-AzBillingProduct -InputObject [-DefaultProfile ] [] +``` + +### List +``` +Get-AzBillingProduct -BillingAccountName -CustomerName [-DefaultProfile ] + [] +``` + +### List2 +``` +Get-AzBillingProduct -BillingAccountName -BillingProfileName [-Filter ] + [-DefaultProfile ] [] +``` + +### List3 +``` +Get-AzBillingProduct -BillingAccountName -BillingProfileName -InvoiceSectionName + [-Filter ] [-DefaultProfile ] [] +``` + +## DESCRIPTION +Gets a product by ID. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -BillingAccountName +The ID that uniquely identifies a billing account. + +```yaml +Type: System.String +Parameter Sets: Get, List, List1, List2, List3 +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BillingProfileName +The ID that uniquely identifies a billing profile. + +```yaml +Type: System.String +Parameter Sets: List2, List3 +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -CustomerName +The ID that uniquely identifies a customer. + +```yaml +Type: System.String +Parameter Sets: List +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Filter +May be used to filter by product type. +The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. +It does not currently support 'ne', 'or', or 'not'. +Tag filter is a key value pair string where key and value are separated by a colon (:). + +```yaml +Type: System.String +Parameter Sets: List1, List2, List3 +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +Parameter Sets: GetViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -InvoiceSectionName +The ID that uniquely identifies an invoice section. + +```yaml +Type: System.String +Parameter Sets: List3 +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Name +The ID that uniquely identifies a product. + +```yaml +Type: System.String +Parameter Sets: Get +Aliases: ProductName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[AgreementName ]`: The ID that uniquely identifies an agreement. + - `[BillingAccountName ]`: The ID that uniquely identifies a billing account. + - `[BillingPeriodName ]`: The name of a BillingPeriod resource. + - `[BillingProfileName ]`: The ID that uniquely identifies a billing profile. + - `[BillingRoleAssignmentName ]`: The ID that uniquely identifies a role assignment. + - `[BillingRoleDefinitionName ]`: The ID that uniquely identifies a role definition. + - `[CustomerName ]`: The ID that uniquely identifies a customer. + - `[Id ]`: Resource identity path + - `[InstructionName ]`: Instruction Name. + - `[InvoiceName ]`: The ID that uniquely identifies an invoice. + - `[InvoiceSectionName ]`: The ID that uniquely identifies an invoice section. + - `[Name ]`: Enrollment Account name. + - `[ProductName ]`: The ID that uniquely identifies a product. + - `[SubscriptionId ]`: The ID that uniquely identifies an Azure subscription. + +## RELATED LINKS + diff --git a/swaggerci/billing/docs/Get-AzBillingProfile.md b/swaggerci/billing/docs/Get-AzBillingProfile.md new file mode 100644 index 000000000000..031db83d7ee4 --- /dev/null +++ b/swaggerci/billing/docs/Get-AzBillingProfile.md @@ -0,0 +1,177 @@ +--- +external help file: +Module Name: Az.Billing +online version: https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingprofile +schema: 2.0.0 +--- + +# Get-AzBillingProfile + +## SYNOPSIS +Gets a billing profile by its ID. +The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement. + +## SYNTAX + +### List (Default) +``` +Get-AzBillingProfile -BillingAccountName [-Expand ] [-DefaultProfile ] + [] +``` + +### Get +``` +Get-AzBillingProfile -BillingAccountName -Name [-Expand ] + [-DefaultProfile ] [] +``` + +### GetViaIdentity +``` +Get-AzBillingProfile -InputObject [-Expand ] [-DefaultProfile ] + [] +``` + +## DESCRIPTION +Gets a billing profile by its ID. +The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -BillingAccountName +The ID that uniquely identifies a billing account. + +```yaml +Type: System.String +Parameter Sets: Get, List +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Expand +May be used to expand the invoice sections. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +Parameter Sets: GetViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +The ID that uniquely identifies a billing profile. + +```yaml +Type: System.String +Parameter Sets: Get +Aliases: BillingProfileName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[AgreementName ]`: The ID that uniquely identifies an agreement. + - `[BillingAccountName ]`: The ID that uniquely identifies a billing account. + - `[BillingPeriodName ]`: The name of a BillingPeriod resource. + - `[BillingProfileName ]`: The ID that uniquely identifies a billing profile. + - `[BillingRoleAssignmentName ]`: The ID that uniquely identifies a role assignment. + - `[BillingRoleDefinitionName ]`: The ID that uniquely identifies a role definition. + - `[CustomerName ]`: The ID that uniquely identifies a customer. + - `[Id ]`: Resource identity path + - `[InstructionName ]`: Instruction Name. + - `[InvoiceName ]`: The ID that uniquely identifies an invoice. + - `[InvoiceSectionName ]`: The ID that uniquely identifies an invoice section. + - `[Name ]`: Enrollment Account name. + - `[ProductName ]`: The ID that uniquely identifies a product. + - `[SubscriptionId ]`: The ID that uniquely identifies an Azure subscription. + +## RELATED LINKS + diff --git a/swaggerci/billing/docs/Get-AzBillingProperty.md b/swaggerci/billing/docs/Get-AzBillingProperty.md new file mode 100644 index 000000000000..f38be4c822c1 --- /dev/null +++ b/swaggerci/billing/docs/Get-AzBillingProperty.md @@ -0,0 +1,139 @@ +--- +external help file: +Module Name: Az.Billing +online version: https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingproperty +schema: 2.0.0 +--- + +# Get-AzBillingProperty + +## SYNOPSIS +Get the billing properties for a subscription. +This operation is not supported for billing accounts with agreement type Enterprise Agreement. + +## SYNTAX + +### Get (Default) +``` +Get-AzBillingProperty [-SubscriptionId ] [-DefaultProfile ] [] +``` + +### GetViaIdentity +``` +Get-AzBillingProperty -InputObject [-DefaultProfile ] [] +``` + +## DESCRIPTION +Get the billing properties for a subscription. +This operation is not supported for billing accounts with agreement type Enterprise Agreement. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +Parameter Sets: GetViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -SubscriptionId +The ID that uniquely identifies an Azure subscription. + +```yaml +Type: System.String[] +Parameter Sets: Get +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProperty + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[AgreementName ]`: The ID that uniquely identifies an agreement. + - `[BillingAccountName ]`: The ID that uniquely identifies a billing account. + - `[BillingPeriodName ]`: The name of a BillingPeriod resource. + - `[BillingProfileName ]`: The ID that uniquely identifies a billing profile. + - `[BillingRoleAssignmentName ]`: The ID that uniquely identifies a role assignment. + - `[BillingRoleDefinitionName ]`: The ID that uniquely identifies a role definition. + - `[CustomerName ]`: The ID that uniquely identifies a customer. + - `[Id ]`: Resource identity path + - `[InstructionName ]`: Instruction Name. + - `[InvoiceName ]`: The ID that uniquely identifies an invoice. + - `[InvoiceSectionName ]`: The ID that uniquely identifies an invoice section. + - `[Name ]`: Enrollment Account name. + - `[ProductName ]`: The ID that uniquely identifies a product. + - `[SubscriptionId ]`: The ID that uniquely identifies an Azure subscription. + +## RELATED LINKS + diff --git a/swaggerci/billing/docs/Get-AzBillingReservation.md b/swaggerci/billing/docs/Get-AzBillingReservation.md new file mode 100644 index 000000000000..ddd2f0ee8716 --- /dev/null +++ b/swaggerci/billing/docs/Get-AzBillingReservation.md @@ -0,0 +1,178 @@ +--- +external help file: +Module Name: Az.Billing +online version: https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingreservation +schema: 2.0.0 +--- + +# Get-AzBillingReservation + +## SYNOPSIS +Lists the reservations for a billing account and the roll up counts of reservations group by provisioning states. + +## SYNTAX + +### List (Default) +``` +Get-AzBillingReservation -BillingAccountName [-Filter ] [-Orderby ] + [-RefreshSummary ] [-SelectedState ] [-DefaultProfile ] [] +``` + +### List1 +``` +Get-AzBillingReservation -BillingAccountName -BillingProfileName [-Filter ] + [-Orderby ] [-RefreshSummary ] [-SelectedState ] [-DefaultProfile ] + [] +``` + +## DESCRIPTION +Lists the reservations for a billing account and the roll up counts of reservations group by provisioning states. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -BillingAccountName +The ID that uniquely identifies a billing account. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BillingProfileName +The ID that uniquely identifies a billing profile. + +```yaml +Type: System.String +Parameter Sets: List1 +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Filter +May be used to filter by reservation properties. +The filter supports 'eq', 'or', and 'and'. +It does not currently support 'ne', 'gt', 'le', 'ge', or 'not'. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Orderby +May be used to sort order by reservation properties. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -RefreshSummary +To indicate whether to refresh the roll up counts of the reservations group by provisioning states + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SelectedState +The selected provisioning state + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservation + +## NOTES + +ALIASES + +## RELATED LINKS + diff --git a/swaggerci/billing/docs/Get-AzBillingRoleAssignment.md b/swaggerci/billing/docs/Get-AzBillingRoleAssignment.md new file mode 100644 index 000000000000..3d95f7a1e956 --- /dev/null +++ b/swaggerci/billing/docs/Get-AzBillingRoleAssignment.md @@ -0,0 +1,224 @@ +--- +external help file: +Module Name: Az.Billing +online version: https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingroleassignment +schema: 2.0.0 +--- + +# Get-AzBillingRoleAssignment + +## SYNOPSIS +Gets a role assignment for the caller on a billing account. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. + +## SYNTAX + +### List (Default) +``` +Get-AzBillingRoleAssignment -BillingAccountName [-DefaultProfile ] [] +``` + +### Get +``` +Get-AzBillingRoleAssignment -BillingAccountName -Name [-DefaultProfile ] + [] +``` + +### Get1 +``` +Get-AzBillingRoleAssignment -BillingAccountName -BillingProfileName + -InvoiceSectionName -Name [-DefaultProfile ] [] +``` + +### Get2 +``` +Get-AzBillingRoleAssignment -BillingAccountName -BillingProfileName -Name + [-DefaultProfile ] [] +``` + +### GetViaIdentity +``` +Get-AzBillingRoleAssignment -InputObject [-DefaultProfile ] [] +``` + +### GetViaIdentity1 +``` +Get-AzBillingRoleAssignment -InputObject [-DefaultProfile ] [] +``` + +### GetViaIdentity2 +``` +Get-AzBillingRoleAssignment -InputObject [-DefaultProfile ] [] +``` + +### List1 +``` +Get-AzBillingRoleAssignment -BillingAccountName -BillingProfileName + -InvoiceSectionName [-DefaultProfile ] [] +``` + +### List2 +``` +Get-AzBillingRoleAssignment -BillingAccountName -BillingProfileName + [-DefaultProfile ] [] +``` + +## DESCRIPTION +Gets a role assignment for the caller on a billing account. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -BillingAccountName +The ID that uniquely identifies a billing account. + +```yaml +Type: System.String +Parameter Sets: Get, Get1, Get2, List, List1, List2 +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BillingProfileName +The ID that uniquely identifies a billing profile. + +```yaml +Type: System.String +Parameter Sets: Get1, Get2, List1, List2 +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +Parameter Sets: GetViaIdentity, GetViaIdentity1, GetViaIdentity2 +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -InvoiceSectionName +The ID that uniquely identifies an invoice section. + +```yaml +Type: System.String +Parameter Sets: Get1, List1 +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Name +The ID that uniquely identifies a role assignment. + +```yaml +Type: System.String +Parameter Sets: Get, Get1, Get2 +Aliases: BillingRoleAssignmentName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[AgreementName ]`: The ID that uniquely identifies an agreement. + - `[BillingAccountName ]`: The ID that uniquely identifies a billing account. + - `[BillingPeriodName ]`: The name of a BillingPeriod resource. + - `[BillingProfileName ]`: The ID that uniquely identifies a billing profile. + - `[BillingRoleAssignmentName ]`: The ID that uniquely identifies a role assignment. + - `[BillingRoleDefinitionName ]`: The ID that uniquely identifies a role definition. + - `[CustomerName ]`: The ID that uniquely identifies a customer. + - `[Id ]`: Resource identity path + - `[InstructionName ]`: Instruction Name. + - `[InvoiceName ]`: The ID that uniquely identifies an invoice. + - `[InvoiceSectionName ]`: The ID that uniquely identifies an invoice section. + - `[Name ]`: Enrollment Account name. + - `[ProductName ]`: The ID that uniquely identifies a product. + - `[SubscriptionId ]`: The ID that uniquely identifies an Azure subscription. + +## RELATED LINKS + diff --git a/swaggerci/billing/docs/Get-AzBillingRoleDefinition.md b/swaggerci/billing/docs/Get-AzBillingRoleDefinition.md new file mode 100644 index 000000000000..89ac3809a390 --- /dev/null +++ b/swaggerci/billing/docs/Get-AzBillingRoleDefinition.md @@ -0,0 +1,224 @@ +--- +external help file: +Module Name: Az.Billing +online version: https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingroledefinition +schema: 2.0.0 +--- + +# Get-AzBillingRoleDefinition + +## SYNOPSIS +Gets the definition for a role on a billing account. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. + +## SYNTAX + +### List (Default) +``` +Get-AzBillingRoleDefinition -BillingAccountName [-DefaultProfile ] [] +``` + +### Get +``` +Get-AzBillingRoleDefinition -BillingAccountName -Name [-DefaultProfile ] + [] +``` + +### Get1 +``` +Get-AzBillingRoleDefinition -BillingAccountName -BillingProfileName + -InvoiceSectionName -Name [-DefaultProfile ] [] +``` + +### Get2 +``` +Get-AzBillingRoleDefinition -BillingAccountName -BillingProfileName -Name + [-DefaultProfile ] [] +``` + +### GetViaIdentity +``` +Get-AzBillingRoleDefinition -InputObject [-DefaultProfile ] [] +``` + +### GetViaIdentity1 +``` +Get-AzBillingRoleDefinition -InputObject [-DefaultProfile ] [] +``` + +### GetViaIdentity2 +``` +Get-AzBillingRoleDefinition -InputObject [-DefaultProfile ] [] +``` + +### List1 +``` +Get-AzBillingRoleDefinition -BillingAccountName -BillingProfileName + -InvoiceSectionName [-DefaultProfile ] [] +``` + +### List2 +``` +Get-AzBillingRoleDefinition -BillingAccountName -BillingProfileName + [-DefaultProfile ] [] +``` + +## DESCRIPTION +Gets the definition for a role on a billing account. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -BillingAccountName +The ID that uniquely identifies a billing account. + +```yaml +Type: System.String +Parameter Sets: Get, Get1, Get2, List, List1, List2 +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BillingProfileName +The ID that uniquely identifies a billing profile. + +```yaml +Type: System.String +Parameter Sets: Get1, Get2, List1, List2 +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +Parameter Sets: GetViaIdentity, GetViaIdentity1, GetViaIdentity2 +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -InvoiceSectionName +The ID that uniquely identifies an invoice section. + +```yaml +Type: System.String +Parameter Sets: Get1, List1 +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Name +The ID that uniquely identifies a role definition. + +```yaml +Type: System.String +Parameter Sets: Get, Get1, Get2 +Aliases: BillingRoleDefinitionName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[AgreementName ]`: The ID that uniquely identifies an agreement. + - `[BillingAccountName ]`: The ID that uniquely identifies a billing account. + - `[BillingPeriodName ]`: The name of a BillingPeriod resource. + - `[BillingProfileName ]`: The ID that uniquely identifies a billing profile. + - `[BillingRoleAssignmentName ]`: The ID that uniquely identifies a role assignment. + - `[BillingRoleDefinitionName ]`: The ID that uniquely identifies a role definition. + - `[CustomerName ]`: The ID that uniquely identifies a customer. + - `[Id ]`: Resource identity path + - `[InstructionName ]`: Instruction Name. + - `[InvoiceName ]`: The ID that uniquely identifies an invoice. + - `[InvoiceSectionName ]`: The ID that uniquely identifies an invoice section. + - `[Name ]`: Enrollment Account name. + - `[ProductName ]`: The ID that uniquely identifies a product. + - `[SubscriptionId ]`: The ID that uniquely identifies an Azure subscription. + +## RELATED LINKS + diff --git a/swaggerci/billing/docs/Get-AzBillingSubscription.md b/swaggerci/billing/docs/Get-AzBillingSubscription.md new file mode 100644 index 000000000000..e14e4b80af90 --- /dev/null +++ b/swaggerci/billing/docs/Get-AzBillingSubscription.md @@ -0,0 +1,223 @@ +--- +external help file: +Module Name: Az.Billing +online version: https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingsubscription +schema: 2.0.0 +--- + +# Get-AzBillingSubscription + +## SYNOPSIS +Gets a subscription by its ID. +The operation is supported for billing accounts with agreement type Microsoft Customer Agreement and Microsoft Partner Agreement. + +## SYNTAX + +### Get (Default) +``` +Get-AzBillingSubscription -BillingAccountName [-SubscriptionId ] + [-DefaultProfile ] [] +``` + +### GetViaIdentity +``` +Get-AzBillingSubscription -InputObject [-DefaultProfile ] [] +``` + +### List +``` +Get-AzBillingSubscription -BillingAccountName -CustomerName [-DefaultProfile ] + [] +``` + +### List1 +``` +Get-AzBillingSubscription -BillingAccountName [-DefaultProfile ] [] +``` + +### List2 +``` +Get-AzBillingSubscription -BillingAccountName -BillingProfileName + [-DefaultProfile ] [] +``` + +### List3 +``` +Get-AzBillingSubscription -BillingAccountName -BillingProfileName + -InvoiceSectionName [-DefaultProfile ] [] +``` + +## DESCRIPTION +Gets a subscription by its ID. +The operation is supported for billing accounts with agreement type Microsoft Customer Agreement and Microsoft Partner Agreement. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -BillingAccountName +The ID that uniquely identifies a billing account. + +```yaml +Type: System.String +Parameter Sets: Get, List, List1, List2, List3 +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BillingProfileName +The ID that uniquely identifies a billing profile. + +```yaml +Type: System.String +Parameter Sets: List2, List3 +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -CustomerName +The ID that uniquely identifies a customer. + +```yaml +Type: System.String +Parameter Sets: List +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +Parameter Sets: GetViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -InvoiceSectionName +The ID that uniquely identifies an invoice section. + +```yaml +Type: System.String +Parameter Sets: List3 +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The ID that uniquely identifies an Azure subscription. + +```yaml +Type: System.String[] +Parameter Sets: Get +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[AgreementName ]`: The ID that uniquely identifies an agreement. + - `[BillingAccountName ]`: The ID that uniquely identifies a billing account. + - `[BillingPeriodName ]`: The name of a BillingPeriod resource. + - `[BillingProfileName ]`: The ID that uniquely identifies a billing profile. + - `[BillingRoleAssignmentName ]`: The ID that uniquely identifies a role assignment. + - `[BillingRoleDefinitionName ]`: The ID that uniquely identifies a role definition. + - `[CustomerName ]`: The ID that uniquely identifies a customer. + - `[Id ]`: Resource identity path + - `[InstructionName ]`: Instruction Name. + - `[InvoiceName ]`: The ID that uniquely identifies an invoice. + - `[InvoiceSectionName ]`: The ID that uniquely identifies an invoice section. + - `[Name ]`: Enrollment Account name. + - `[ProductName ]`: The ID that uniquely identifies a product. + - `[SubscriptionId ]`: The ID that uniquely identifies an Azure subscription. + +## RELATED LINKS + diff --git a/swaggerci/billing/docs/Get-AzBillingTransaction.md b/swaggerci/billing/docs/Get-AzBillingTransaction.md new file mode 100644 index 000000000000..c0c5ee90b1a7 --- /dev/null +++ b/swaggerci/billing/docs/Get-AzBillingTransaction.md @@ -0,0 +1,110 @@ +--- +external help file: +Module Name: Az.Billing +online version: https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingtransaction +schema: 2.0.0 +--- + +# Get-AzBillingTransaction + +## SYNOPSIS +Lists the transactions for an invoice. +Transactions include purchases, refunds and Azure usage charges. + +## SYNTAX + +``` +Get-AzBillingTransaction -BillingAccountName -InvoiceName [-DefaultProfile ] + [] +``` + +## DESCRIPTION +Lists the transactions for an invoice. +Transactions include purchases, refunds and Azure usage charges. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -BillingAccountName +The ID that uniquely identifies a billing account. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InvoiceName +The ID that uniquely identifies an invoice. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransaction + +## NOTES + +ALIASES + +## RELATED LINKS + diff --git a/swaggerci/billing/docs/Invoke-AzBillingDownloadInvoice.md b/swaggerci/billing/docs/Invoke-AzBillingDownloadInvoice.md new file mode 100644 index 000000000000..230b28621f43 --- /dev/null +++ b/swaggerci/billing/docs/Invoke-AzBillingDownloadInvoice.md @@ -0,0 +1,232 @@ +--- +external help file: +Module Name: Az.Billing +online version: https://docs.microsoft.com/en-us/powershell/module/az.billing/invoke-azbillingdownloadinvoice +schema: 2.0.0 +--- + +# Invoke-AzBillingDownloadInvoice + +## SYNOPSIS +Gets a URL to download an invoice. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. + +## SYNTAX + +### Download (Default) +``` +Invoke-AzBillingDownloadInvoice -BillingAccountName -InvoiceName -DownloadToken + [-DefaultProfile ] [-AsJob] [-NoWait] [-Confirm] [-WhatIf] [] +``` + +### DownloadViaIdentity +``` +Invoke-AzBillingDownloadInvoice -InputObject -DownloadToken + [-DefaultProfile ] [-AsJob] [-NoWait] [-Confirm] [-WhatIf] [] +``` + +## DESCRIPTION +Gets a URL to download an invoice. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -AsJob +Run the command as a job + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BillingAccountName +The ID that uniquely identifies a billing account. + +```yaml +Type: System.String +Parameter Sets: Download +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DownloadToken +Download token with document source and document ID. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +Parameter Sets: DownloadViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -InvoiceName +The ID that uniquely identifies an invoice. + +```yaml +Type: System.String +Parameter Sets: Download +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -NoWait +Run the command asynchronously + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[AgreementName ]`: The ID that uniquely identifies an agreement. + - `[BillingAccountName ]`: The ID that uniquely identifies a billing account. + - `[BillingPeriodName ]`: The name of a BillingPeriod resource. + - `[BillingProfileName ]`: The ID that uniquely identifies a billing profile. + - `[BillingRoleAssignmentName ]`: The ID that uniquely identifies a role assignment. + - `[BillingRoleDefinitionName ]`: The ID that uniquely identifies a role definition. + - `[CustomerName ]`: The ID that uniquely identifies a customer. + - `[Id ]`: Resource identity path + - `[InstructionName ]`: Instruction Name. + - `[InvoiceName ]`: The ID that uniquely identifies an invoice. + - `[InvoiceSectionName ]`: The ID that uniquely identifies an invoice section. + - `[Name ]`: Enrollment Account name. + - `[ProductName ]`: The ID that uniquely identifies a product. + - `[SubscriptionId ]`: The ID that uniquely identifies an Azure subscription. + +## RELATED LINKS + diff --git a/swaggerci/billing/docs/Invoke-AzBillingDownloadInvoiceBillingSubscriptionInvoice.md b/swaggerci/billing/docs/Invoke-AzBillingDownloadInvoiceBillingSubscriptionInvoice.md new file mode 100644 index 000000000000..b4a5e1a4c719 --- /dev/null +++ b/swaggerci/billing/docs/Invoke-AzBillingDownloadInvoiceBillingSubscriptionInvoice.md @@ -0,0 +1,232 @@ +--- +external help file: +Module Name: Az.Billing +online version: https://docs.microsoft.com/en-us/powershell/module/az.billing/invoke-azbillingdownloadinvoicebillingsubscriptioninvoice +schema: 2.0.0 +--- + +# Invoke-AzBillingDownloadInvoiceBillingSubscriptionInvoice + +## SYNOPSIS +Gets a URL to download an invoice. + +## SYNTAX + +### Download (Default) +``` +Invoke-AzBillingDownloadInvoiceBillingSubscriptionInvoice -InvoiceName -DownloadToken + [-SubscriptionId ] [-DefaultProfile ] [-AsJob] [-NoWait] [-Confirm] [-WhatIf] + [] +``` + +### DownloadViaIdentity +``` +Invoke-AzBillingDownloadInvoiceBillingSubscriptionInvoice -InputObject + -DownloadToken [-DefaultProfile ] [-AsJob] [-NoWait] [-Confirm] [-WhatIf] + [] +``` + +## DESCRIPTION +Gets a URL to download an invoice. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -AsJob +Run the command as a job + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DownloadToken +Download token with document source and document ID. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +Parameter Sets: DownloadViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -InvoiceName +The ID that uniquely identifies an invoice. + +```yaml +Type: System.String +Parameter Sets: Download +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -NoWait +Run the command asynchronously + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The ID that uniquely identifies an Azure subscription. + +```yaml +Type: System.String +Parameter Sets: Download +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[AgreementName ]`: The ID that uniquely identifies an agreement. + - `[BillingAccountName ]`: The ID that uniquely identifies a billing account. + - `[BillingPeriodName ]`: The name of a BillingPeriod resource. + - `[BillingProfileName ]`: The ID that uniquely identifies a billing profile. + - `[BillingRoleAssignmentName ]`: The ID that uniquely identifies a role assignment. + - `[BillingRoleDefinitionName ]`: The ID that uniquely identifies a role definition. + - `[CustomerName ]`: The ID that uniquely identifies a customer. + - `[Id ]`: Resource identity path + - `[InstructionName ]`: Instruction Name. + - `[InvoiceName ]`: The ID that uniquely identifies an invoice. + - `[InvoiceSectionName ]`: The ID that uniquely identifies an invoice section. + - `[Name ]`: Enrollment Account name. + - `[ProductName ]`: The ID that uniquely identifies a product. + - `[SubscriptionId ]`: The ID that uniquely identifies an Azure subscription. + +## RELATED LINKS + diff --git a/swaggerci/billing/docs/Invoke-AzBillingDownloadInvoiceMultipleBillingProfileInvoice.md b/swaggerci/billing/docs/Invoke-AzBillingDownloadInvoiceMultipleBillingProfileInvoice.md new file mode 100644 index 000000000000..111e659bd9d7 --- /dev/null +++ b/swaggerci/billing/docs/Invoke-AzBillingDownloadInvoiceMultipleBillingProfileInvoice.md @@ -0,0 +1,221 @@ +--- +external help file: +Module Name: Az.Billing +online version: https://docs.microsoft.com/en-us/powershell/module/az.billing/invoke-azbillingdownloadinvoicemultiplebillingprofileinvoice +schema: 2.0.0 +--- + +# Invoke-AzBillingDownloadInvoiceMultipleBillingProfileInvoice + +## SYNOPSIS +Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip file. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. + +## SYNTAX + +### Download (Default) +``` +Invoke-AzBillingDownloadInvoiceMultipleBillingProfileInvoice -BillingAccountName + -DownloadUrl [-DefaultProfile ] [-AsJob] [-NoWait] [-Confirm] [-WhatIf] + [] +``` + +### DownloadViaIdentity +``` +Invoke-AzBillingDownloadInvoiceMultipleBillingProfileInvoice -InputObject + -DownloadUrl [-DefaultProfile ] [-AsJob] [-NoWait] [-Confirm] [-WhatIf] + [] +``` + +## DESCRIPTION +Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip file. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -AsJob +Run the command as a job + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BillingAccountName +The ID that uniquely identifies a billing account. + +```yaml +Type: System.String +Parameter Sets: Download +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DownloadUrl +Array of PostContentSchemaItem + +```yaml +Type: System.String[] +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +Parameter Sets: DownloadViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -NoWait +Run the command asynchronously + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity + +### System.String[] + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[AgreementName ]`: The ID that uniquely identifies an agreement. + - `[BillingAccountName ]`: The ID that uniquely identifies a billing account. + - `[BillingPeriodName ]`: The name of a BillingPeriod resource. + - `[BillingProfileName ]`: The ID that uniquely identifies a billing profile. + - `[BillingRoleAssignmentName ]`: The ID that uniquely identifies a role assignment. + - `[BillingRoleDefinitionName ]`: The ID that uniquely identifies a role definition. + - `[CustomerName ]`: The ID that uniquely identifies a customer. + - `[Id ]`: Resource identity path + - `[InstructionName ]`: Instruction Name. + - `[InvoiceName ]`: The ID that uniquely identifies an invoice. + - `[InvoiceSectionName ]`: The ID that uniquely identifies an invoice section. + - `[Name ]`: Enrollment Account name. + - `[ProductName ]`: The ID that uniquely identifies a product. + - `[SubscriptionId ]`: The ID that uniquely identifies an Azure subscription. + +## RELATED LINKS + diff --git a/swaggerci/billing/docs/Invoke-AzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice.md b/swaggerci/billing/docs/Invoke-AzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice.md new file mode 100644 index 000000000000..aa4b58649ee6 --- /dev/null +++ b/swaggerci/billing/docs/Invoke-AzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice.md @@ -0,0 +1,219 @@ +--- +external help file: +Module Name: Az.Billing +online version: https://docs.microsoft.com/en-us/powershell/module/az.billing/invoke-azbillingdownloadinvoicemultiplebillingsubscriptioninvoice +schema: 2.0.0 +--- + +# Invoke-AzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice + +## SYNOPSIS +Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip file. + +## SYNTAX + +### Download (Default) +``` +Invoke-AzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice -DownloadUrl + [-SubscriptionId ] [-DefaultProfile ] [-AsJob] [-NoWait] [-Confirm] [-WhatIf] + [] +``` + +### DownloadViaIdentity +``` +Invoke-AzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice -InputObject + -DownloadUrl [-DefaultProfile ] [-AsJob] [-NoWait] [-Confirm] [-WhatIf] + [] +``` + +## DESCRIPTION +Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip file. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -AsJob +Run the command as a job + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DownloadUrl +Array of String + +```yaml +Type: System.String[] +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +Parameter Sets: DownloadViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -NoWait +Run the command asynchronously + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The ID that uniquely identifies an Azure subscription. + +```yaml +Type: System.String +Parameter Sets: Download +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity + +### System.String[] + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[AgreementName ]`: The ID that uniquely identifies an agreement. + - `[BillingAccountName ]`: The ID that uniquely identifies a billing account. + - `[BillingPeriodName ]`: The name of a BillingPeriod resource. + - `[BillingProfileName ]`: The ID that uniquely identifies a billing profile. + - `[BillingRoleAssignmentName ]`: The ID that uniquely identifies a role assignment. + - `[BillingRoleDefinitionName ]`: The ID that uniquely identifies a role definition. + - `[CustomerName ]`: The ID that uniquely identifies a customer. + - `[Id ]`: Resource identity path + - `[InstructionName ]`: Instruction Name. + - `[InvoiceName ]`: The ID that uniquely identifies an invoice. + - `[InvoiceSectionName ]`: The ID that uniquely identifies an invoice section. + - `[Name ]`: Enrollment Account name. + - `[ProductName ]`: The ID that uniquely identifies a product. + - `[SubscriptionId ]`: The ID that uniquely identifies an Azure subscription. + +## RELATED LINKS + diff --git a/swaggerci/billing/docs/Move-AzBillingProduct.md b/swaggerci/billing/docs/Move-AzBillingProduct.md new file mode 100644 index 000000000000..c78a70949acd --- /dev/null +++ b/swaggerci/billing/docs/Move-AzBillingProduct.md @@ -0,0 +1,253 @@ +--- +external help file: +Module Name: Az.Billing +online version: https://docs.microsoft.com/en-us/powershell/module/az.billing/move-azbillingproduct +schema: 2.0.0 +--- + +# Move-AzBillingProduct + +## SYNOPSIS +Moves a product's charges to a new invoice section. +The new invoice section must belong to the same billing profile as the existing invoice section. +This operation is supported only for products that are purchased with a recurring charge and for billing accounts with agreement type Microsoft Customer Agreement. + +## SYNTAX + +### MoveExpanded (Default) +``` +Move-AzBillingProduct -BillingAccountName -Name [-DestinationInvoiceSectionId ] + [-DefaultProfile ] [-PassThru] [-Confirm] [-WhatIf] [] +``` + +### Move +``` +Move-AzBillingProduct -BillingAccountName -Name + -Parameter [-DefaultProfile ] [-PassThru] [-Confirm] [-WhatIf] + [] +``` + +### MoveViaIdentity +``` +Move-AzBillingProduct -InputObject -Parameter + [-DefaultProfile ] [-PassThru] [-Confirm] [-WhatIf] [] +``` + +### MoveViaIdentityExpanded +``` +Move-AzBillingProduct -InputObject [-DestinationInvoiceSectionId ] + [-DefaultProfile ] [-PassThru] [-Confirm] [-WhatIf] [] +``` + +## DESCRIPTION +Moves a product's charges to a new invoice section. +The new invoice section must belong to the same billing profile as the existing invoice section. +This operation is supported only for products that are purchased with a recurring charge and for billing accounts with agreement type Microsoft Customer Agreement. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -BillingAccountName +The ID that uniquely identifies a billing account. + +```yaml +Type: System.String +Parameter Sets: Move, MoveExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DestinationInvoiceSectionId +The destination invoice section id. + +```yaml +Type: System.String +Parameter Sets: MoveExpanded, MoveViaIdentityExpanded +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +Parameter Sets: MoveViaIdentity, MoveViaIdentityExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +The ID that uniquely identifies a product. + +```yaml +Type: System.String +Parameter Sets: Move, MoveExpanded +Aliases: ProductName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Parameter +The properties of the product to initiate a transfer. +To construct, see NOTES section for PARAMETER properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties +Parameter Sets: Move, MoveViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -PassThru +Returns true when the command succeeds + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[AgreementName ]`: The ID that uniquely identifies an agreement. + - `[BillingAccountName ]`: The ID that uniquely identifies a billing account. + - `[BillingPeriodName ]`: The name of a BillingPeriod resource. + - `[BillingProfileName ]`: The ID that uniquely identifies a billing profile. + - `[BillingRoleAssignmentName ]`: The ID that uniquely identifies a role assignment. + - `[BillingRoleDefinitionName ]`: The ID that uniquely identifies a role definition. + - `[CustomerName ]`: The ID that uniquely identifies a customer. + - `[Id ]`: Resource identity path + - `[InstructionName ]`: Instruction Name. + - `[InvoiceName ]`: The ID that uniquely identifies an invoice. + - `[InvoiceSectionName ]`: The ID that uniquely identifies an invoice section. + - `[Name ]`: Enrollment Account name. + - `[ProductName ]`: The ID that uniquely identifies a product. + - `[SubscriptionId ]`: The ID that uniquely identifies an Azure subscription. + +`PARAMETER `: The properties of the product to initiate a transfer. + - `[DestinationInvoiceSectionId ]`: The destination invoice section id. + +## RELATED LINKS + diff --git a/swaggerci/billing/docs/Move-AzBillingSubscription.md b/swaggerci/billing/docs/Move-AzBillingSubscription.md new file mode 100644 index 000000000000..14289af171ee --- /dev/null +++ b/swaggerci/billing/docs/Move-AzBillingSubscription.md @@ -0,0 +1,270 @@ +--- +external help file: +Module Name: Az.Billing +online version: https://docs.microsoft.com/en-us/powershell/module/az.billing/move-azbillingsubscription +schema: 2.0.0 +--- + +# Move-AzBillingSubscription + +## SYNOPSIS +Moves a subscription's charges to a new invoice section. +The new invoice section must belong to the same billing profile as the existing invoice section. +This operation is supported for billing accounts with agreement type Microsoft Customer Agreement. + +## SYNTAX + +### MoveExpanded (Default) +``` +Move-AzBillingSubscription -BillingAccountName -DestinationInvoiceSectionId + [-SubscriptionId ] [-DefaultProfile ] [-AsJob] [-NoWait] [-Confirm] [-WhatIf] + [] +``` + +### Move +``` +Move-AzBillingSubscription -BillingAccountName + -Parameter [-SubscriptionId ] + [-DefaultProfile ] [-AsJob] [-NoWait] [-Confirm] [-WhatIf] [] +``` + +### MoveViaIdentity +``` +Move-AzBillingSubscription -InputObject + -Parameter [-DefaultProfile ] [-AsJob] [-NoWait] + [-Confirm] [-WhatIf] [] +``` + +### MoveViaIdentityExpanded +``` +Move-AzBillingSubscription -InputObject -DestinationInvoiceSectionId + [-DefaultProfile ] [-AsJob] [-NoWait] [-Confirm] [-WhatIf] [] +``` + +## DESCRIPTION +Moves a subscription's charges to a new invoice section. +The new invoice section must belong to the same billing profile as the existing invoice section. +This operation is supported for billing accounts with agreement type Microsoft Customer Agreement. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -AsJob +Run the command as a job + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BillingAccountName +The ID that uniquely identifies a billing account. + +```yaml +Type: System.String +Parameter Sets: Move, MoveExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DestinationInvoiceSectionId +The destination invoice section id. + +```yaml +Type: System.String +Parameter Sets: MoveExpanded, MoveViaIdentityExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +Parameter Sets: MoveViaIdentity, MoveViaIdentityExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -NoWait +Run the command asynchronously + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Parameter +Request parameters to transfer billing subscription. +To construct, see NOTES section for PARAMETER properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties +Parameter Sets: Move, MoveViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -SubscriptionId +The ID that uniquely identifies an Azure subscription. + +```yaml +Type: System.String +Parameter Sets: Move, MoveExpanded +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[AgreementName ]`: The ID that uniquely identifies an agreement. + - `[BillingAccountName ]`: The ID that uniquely identifies a billing account. + - `[BillingPeriodName ]`: The name of a BillingPeriod resource. + - `[BillingProfileName ]`: The ID that uniquely identifies a billing profile. + - `[BillingRoleAssignmentName ]`: The ID that uniquely identifies a role assignment. + - `[BillingRoleDefinitionName ]`: The ID that uniquely identifies a role definition. + - `[CustomerName ]`: The ID that uniquely identifies a customer. + - `[Id ]`: Resource identity path + - `[InstructionName ]`: Instruction Name. + - `[InvoiceName ]`: The ID that uniquely identifies an invoice. + - `[InvoiceSectionName ]`: The ID that uniquely identifies an invoice section. + - `[Name ]`: Enrollment Account name. + - `[ProductName ]`: The ID that uniquely identifies a product. + - `[SubscriptionId ]`: The ID that uniquely identifies an Azure subscription. + +`PARAMETER `: Request parameters to transfer billing subscription. + - `DestinationInvoiceSectionId `: The destination invoice section id. + +## RELATED LINKS + diff --git a/swaggerci/billing/docs/New-AzBillingInvoiceSection.md b/swaggerci/billing/docs/New-AzBillingInvoiceSection.md new file mode 100644 index 000000000000..1653898a7127 --- /dev/null +++ b/swaggerci/billing/docs/New-AzBillingInvoiceSection.md @@ -0,0 +1,235 @@ +--- +external help file: +Module Name: Az.Billing +online version: https://docs.microsoft.com/en-us/powershell/module/az.billing/new-azbillinginvoicesection +schema: 2.0.0 +--- + +# New-AzBillingInvoiceSection + +## SYNOPSIS +Creates or updates an invoice section. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. + +## SYNTAX + +``` +New-AzBillingInvoiceSection -BillingAccountName -BillingProfileName -Name + [-DisplayName ] [-Label ] [-Tag ] [-DefaultProfile ] [-AsJob] + [-NoWait] [-Confirm] [-WhatIf] [] +``` + +## DESCRIPTION +Creates or updates an invoice section. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -AsJob +Run the command as a job + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BillingAccountName +The ID that uniquely identifies a billing account. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BillingProfileName +The ID that uniquely identifies a billing profile. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DisplayName +The name of the invoice section. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Label +Dictionary of metadata associated with the invoice section. + +```yaml +Type: System.Collections.Hashtable +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Name +The ID that uniquely identifies an invoice section. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: InvoiceSectionName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -NoWait +Run the command asynchronously + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Tag +Dictionary of metadata associated with the invoice section. +Maximum key/value length supported of 256 characters. +Keys/value should not empty value nor null. +Keys can not contain \< \> % & \ / + +```yaml +Type: System.Collections.Hashtable +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection + +## NOTES + +ALIASES + +## RELATED LINKS + diff --git a/swaggerci/billing/docs/New-AzBillingProfile.md b/swaggerci/billing/docs/New-AzBillingProfile.md new file mode 100644 index 000000000000..ed083e9b5995 --- /dev/null +++ b/swaggerci/billing/docs/New-AzBillingProfile.md @@ -0,0 +1,494 @@ +--- +external help file: +Module Name: Az.Billing +online version: https://docs.microsoft.com/en-us/powershell/module/az.billing/new-azbillingprofile +schema: 2.0.0 +--- + +# New-AzBillingProfile + +## SYNOPSIS +Creates or updates a billing profile. +The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement. + +## SYNTAX + +``` +New-AzBillingProfile -BillingAccountName -Name [-BillToAddressLine1 ] + [-BillToAddressLine2 ] [-BillToAddressLine3 ] [-BillToCity ] + [-BillToCompanyName ] [-BillToCountry ] [-BillToDistrict ] [-BillToEmail ] + [-BillToFirstName ] [-BillToLastName ] [-BillToMiddleName ] + [-BillToPhoneNumber ] [-BillToPostalCode ] [-BillToRegion ] [-DisplayName ] + [-EnabledAzurePlan ] [-InvoiceEmailOptIn] [-InvoiceSectionValue ] + [-PoNumber ] [-Tag ] [-DefaultProfile ] [-AsJob] [-NoWait] [-Confirm] [-WhatIf] + [] +``` + +## DESCRIPTION +Creates or updates a billing profile. +The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -AsJob +Run the command as a job + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BillingAccountName +The ID that uniquely identifies a billing account. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BillToAddressLine1 +Address line 1. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BillToAddressLine2 +Address line 2. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BillToAddressLine3 +Address line 3. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BillToCity +Address city. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BillToCompanyName +Company name. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BillToCountry +Country code uses ISO2, 2-digit format. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BillToDistrict +Address district. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BillToEmail +Email address. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BillToFirstName +First name. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BillToLastName +Last name. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BillToMiddleName +Middle name. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BillToPhoneNumber +Phone number. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BillToPostalCode +Postal code. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BillToRegion +Address region. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DisplayName +The name of the billing profile. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -EnabledAzurePlan +Information about the enabled azure plans. +To construct, see NOTES section for ENABLEDAZUREPLAN properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan[] +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InvoiceEmailOptIn +Flag controlling whether the invoices for the billing profile are sent through email. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InvoiceSectionValue +The invoice sections associated to the billing profile. +To construct, see NOTES section for INVOICESECTIONVALUE properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection[] +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Name +The ID that uniquely identifies a billing profile. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: BillingProfileName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -NoWait +Run the command asynchronously + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PoNumber +The purchase order name that will appear on the invoices generated for the billing profile. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Tag +Tags of billing profiles. + +```yaml +Type: System.Collections.Hashtable +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`ENABLEDAZUREPLAN `: Information about the enabled azure plans. + - `[SkuId ]`: The sku id. + +`INVOICESECTIONVALUE `: The invoice sections associated to the billing profile. + - `[DisplayName ]`: The name of the invoice section. + - `[Label ]`: Dictionary of metadata associated with the invoice section. + - `[(Any) ]`: This indicates any property can be added to this object. + - `[Tag ]`: Dictionary of metadata associated with the invoice section. Maximum key/value length supported of 256 characters. Keys/value should not empty value nor null. Keys can not contain < > % & \ ? / + - `[(Any) ]`: This indicates any property can be added to this object. + +## RELATED LINKS + diff --git a/swaggerci/billing/docs/README.md b/swaggerci/billing/docs/README.md new file mode 100644 index 000000000000..8f25d4f11c20 --- /dev/null +++ b/swaggerci/billing/docs/README.md @@ -0,0 +1,11 @@ +# Docs +This directory contains the documentation of the cmdlets for the `Az.Billing` module. To run documentation generation, use the `generate-help.ps1` script at the root module folder. Files in this folder will *always be overridden on regeneration*. To update documentation examples, please use the `../examples` folder. + +## Info +- Modifiable: no +- Generated: all +- Committed: yes +- Packaged: yes + +## Details +The process of documentation generation loads `Az.Billing` and analyzes the exported cmdlets from the module. It recognizes the [help comments](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_comment_based_help) that are generated into the scripts in the `../exports` folder. Additionally, when writing custom cmdlets in the `../custom` folder, you can use the help comments syntax, which decorate the exported scripts at build-time. The documentation examples are taken from the `../examples` folder. \ No newline at end of file diff --git a/swaggerci/billing/docs/Remove-AzBillingRoleAssignment.md b/swaggerci/billing/docs/Remove-AzBillingRoleAssignment.md new file mode 100644 index 000000000000..e66a785dbf0e --- /dev/null +++ b/swaggerci/billing/docs/Remove-AzBillingRoleAssignment.md @@ -0,0 +1,242 @@ +--- +external help file: +Module Name: Az.Billing +online version: https://docs.microsoft.com/en-us/powershell/module/az.billing/remove-azbillingroleassignment +schema: 2.0.0 +--- + +# Remove-AzBillingRoleAssignment + +## SYNOPSIS +Deletes a role assignment for the caller on a billing account. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. + +## SYNTAX + +### Delete (Default) +``` +Remove-AzBillingRoleAssignment -BillingAccountName -Name [-DefaultProfile ] + [-Confirm] [-WhatIf] [] +``` + +### Delete1 +``` +Remove-AzBillingRoleAssignment -BillingAccountName -BillingProfileName + -InvoiceSectionName -Name [-DefaultProfile ] [-Confirm] [-WhatIf] + [] +``` + +### Delete2 +``` +Remove-AzBillingRoleAssignment -BillingAccountName -BillingProfileName -Name + [-DefaultProfile ] [-Confirm] [-WhatIf] [] +``` + +### DeleteViaIdentity +``` +Remove-AzBillingRoleAssignment -InputObject [-DefaultProfile ] [-Confirm] + [-WhatIf] [] +``` + +### DeleteViaIdentity1 +``` +Remove-AzBillingRoleAssignment -InputObject [-DefaultProfile ] [-Confirm] + [-WhatIf] [] +``` + +### DeleteViaIdentity2 +``` +Remove-AzBillingRoleAssignment -InputObject [-DefaultProfile ] [-Confirm] + [-WhatIf] [] +``` + +## DESCRIPTION +Deletes a role assignment for the caller on a billing account. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -BillingAccountName +The ID that uniquely identifies a billing account. + +```yaml +Type: System.String +Parameter Sets: Delete, Delete1, Delete2 +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BillingProfileName +The ID that uniquely identifies a billing profile. + +```yaml +Type: System.String +Parameter Sets: Delete1, Delete2 +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +Parameter Sets: DeleteViaIdentity, DeleteViaIdentity1, DeleteViaIdentity2 +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -InvoiceSectionName +The ID that uniquely identifies an invoice section. + +```yaml +Type: System.String +Parameter Sets: Delete1 +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Name +The ID that uniquely identifies a role assignment. + +```yaml +Type: System.String +Parameter Sets: Delete, Delete1, Delete2 +Aliases: BillingRoleAssignmentName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[AgreementName ]`: The ID that uniquely identifies an agreement. + - `[BillingAccountName ]`: The ID that uniquely identifies a billing account. + - `[BillingPeriodName ]`: The name of a BillingPeriod resource. + - `[BillingProfileName ]`: The ID that uniquely identifies a billing profile. + - `[BillingRoleAssignmentName ]`: The ID that uniquely identifies a role assignment. + - `[BillingRoleDefinitionName ]`: The ID that uniquely identifies a role definition. + - `[CustomerName ]`: The ID that uniquely identifies a customer. + - `[Id ]`: Resource identity path + - `[InstructionName ]`: Instruction Name. + - `[InvoiceName ]`: The ID that uniquely identifies an invoice. + - `[InvoiceSectionName ]`: The ID that uniquely identifies an invoice section. + - `[Name ]`: Enrollment Account name. + - `[ProductName ]`: The ID that uniquely identifies a product. + - `[SubscriptionId ]`: The ID that uniquely identifies an Azure subscription. + +## RELATED LINKS + diff --git a/swaggerci/billing/docs/Test-AzBillingAddress.md b/swaggerci/billing/docs/Test-AzBillingAddress.md new file mode 100644 index 000000000000..495fe0872f06 --- /dev/null +++ b/swaggerci/billing/docs/Test-AzBillingAddress.md @@ -0,0 +1,370 @@ +--- +external help file: +Module Name: Az.Billing +online version: https://docs.microsoft.com/en-us/powershell/module/az.billing/test-azbillingaddress +schema: 2.0.0 +--- + +# Test-AzBillingAddress + +## SYNOPSIS +Validates an address. +Use the operation to validate an address before using it as soldTo or a billTo address. + +## SYNTAX + +### ValidateExpanded (Default) +``` +Test-AzBillingAddress -AddressLine1 -Country [-AddressLine2 ] + [-AddressLine3 ] [-City ] [-CompanyName ] [-District ] [-Email ] + [-FirstName ] [-LastName ] [-MiddleName ] [-PhoneNumber ] + [-PostalCode ] [-Region ] [-DefaultProfile ] [-Confirm] [-WhatIf] + [] +``` + +### Validate +``` +Test-AzBillingAddress -Address [-DefaultProfile ] [-Confirm] [-WhatIf] + [] +``` + +## DESCRIPTION +Validates an address. +Use the operation to validate an address before using it as soldTo or a billTo address. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -Address +Address details. +To construct, see NOTES section for ADDRESS properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails +Parameter Sets: Validate +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -AddressLine1 +Address line 1. + +```yaml +Type: System.String +Parameter Sets: ValidateExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -AddressLine2 +Address line 2. + +```yaml +Type: System.String +Parameter Sets: ValidateExpanded +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -AddressLine3 +Address line 3. + +```yaml +Type: System.String +Parameter Sets: ValidateExpanded +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -City +Address city. + +```yaml +Type: System.String +Parameter Sets: ValidateExpanded +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -CompanyName +Company name. + +```yaml +Type: System.String +Parameter Sets: ValidateExpanded +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Country +Country code uses ISO2, 2-digit format. + +```yaml +Type: System.String +Parameter Sets: ValidateExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -District +Address district. + +```yaml +Type: System.String +Parameter Sets: ValidateExpanded +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Email +Email address. + +```yaml +Type: System.String +Parameter Sets: ValidateExpanded +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -FirstName +First name. + +```yaml +Type: System.String +Parameter Sets: ValidateExpanded +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -LastName +Last name. + +```yaml +Type: System.String +Parameter Sets: ValidateExpanded +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -MiddleName +Middle name. + +```yaml +Type: System.String +Parameter Sets: ValidateExpanded +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PhoneNumber +Phone number. + +```yaml +Type: System.String +Parameter Sets: ValidateExpanded +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PostalCode +Postal code. + +```yaml +Type: System.String +Parameter Sets: ValidateExpanded +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Region +Address region. + +```yaml +Type: System.String +Parameter Sets: ValidateExpanded +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateAddressResponse + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`ADDRESS `: Address details. + - `AddressLine1 `: Address line 1. + - `Country `: Country code uses ISO2, 2-digit format. + - `[AddressLine2 ]`: Address line 2. + - `[AddressLine3 ]`: Address line 3. + - `[City ]`: Address city. + - `[CompanyName ]`: Company name. + - `[District ]`: Address district. + - `[Email ]`: Email address. + - `[FirstName ]`: First name. + - `[LastName ]`: Last name. + - `[MiddleName ]`: Middle name. + - `[PhoneNumber ]`: Phone number. + - `[PostalCode ]`: Postal code. + - `[Region ]`: Address region. + +## RELATED LINKS + diff --git a/swaggerci/billing/docs/Test-AzBillingProductMove.md b/swaggerci/billing/docs/Test-AzBillingProductMove.md new file mode 100644 index 000000000000..f03202ba4ad4 --- /dev/null +++ b/swaggerci/billing/docs/Test-AzBillingProductMove.md @@ -0,0 +1,237 @@ +--- +external help file: +Module Name: Az.Billing +online version: https://docs.microsoft.com/en-us/powershell/module/az.billing/test-azbillingproductmove +schema: 2.0.0 +--- + +# Test-AzBillingProductMove + +## SYNOPSIS +Validates if a product's charges can be moved to a new invoice section. +This operation is supported only for products that are purchased with a recurring charge and for billing accounts with agreement type Microsoft Customer Agreement. + +## SYNTAX + +### ValidateExpanded (Default) +``` +Test-AzBillingProductMove -BillingAccountName -ProductName + [-DestinationInvoiceSectionId ] [-DefaultProfile ] [-Confirm] [-WhatIf] + [] +``` + +### Validate +``` +Test-AzBillingProductMove -BillingAccountName -ProductName + -Parameter [-DefaultProfile ] [-Confirm] [-WhatIf] + [] +``` + +### ValidateViaIdentity +``` +Test-AzBillingProductMove -InputObject -Parameter + [-DefaultProfile ] [-Confirm] [-WhatIf] [] +``` + +### ValidateViaIdentityExpanded +``` +Test-AzBillingProductMove -InputObject [-DestinationInvoiceSectionId ] + [-DefaultProfile ] [-Confirm] [-WhatIf] [] +``` + +## DESCRIPTION +Validates if a product's charges can be moved to a new invoice section. +This operation is supported only for products that are purchased with a recurring charge and for billing accounts with agreement type Microsoft Customer Agreement. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -BillingAccountName +The ID that uniquely identifies a billing account. + +```yaml +Type: System.String +Parameter Sets: Validate, ValidateExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DestinationInvoiceSectionId +The destination invoice section id. + +```yaml +Type: System.String +Parameter Sets: ValidateExpanded, ValidateViaIdentityExpanded +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +Parameter Sets: ValidateViaIdentity, ValidateViaIdentityExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Parameter +The properties of the product to initiate a transfer. +To construct, see NOTES section for PARAMETER properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties +Parameter Sets: Validate, ValidateViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -ProductName +The ID that uniquely identifies a product. + +```yaml +Type: System.String +Parameter Sets: Validate, ValidateExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResult + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[AgreementName ]`: The ID that uniquely identifies an agreement. + - `[BillingAccountName ]`: The ID that uniquely identifies a billing account. + - `[BillingPeriodName ]`: The name of a BillingPeriod resource. + - `[BillingProfileName ]`: The ID that uniquely identifies a billing profile. + - `[BillingRoleAssignmentName ]`: The ID that uniquely identifies a role assignment. + - `[BillingRoleDefinitionName ]`: The ID that uniquely identifies a role definition. + - `[CustomerName ]`: The ID that uniquely identifies a customer. + - `[Id ]`: Resource identity path + - `[InstructionName ]`: Instruction Name. + - `[InvoiceName ]`: The ID that uniquely identifies an invoice. + - `[InvoiceSectionName ]`: The ID that uniquely identifies an invoice section. + - `[Name ]`: Enrollment Account name. + - `[ProductName ]`: The ID that uniquely identifies a product. + - `[SubscriptionId ]`: The ID that uniquely identifies an Azure subscription. + +`PARAMETER `: The properties of the product to initiate a transfer. + - `[DestinationInvoiceSectionId ]`: The destination invoice section id. + +## RELATED LINKS + diff --git a/swaggerci/billing/docs/Test-AzBillingSubscriptionMove.md b/swaggerci/billing/docs/Test-AzBillingSubscriptionMove.md new file mode 100644 index 000000000000..e74d9a865a23 --- /dev/null +++ b/swaggerci/billing/docs/Test-AzBillingSubscriptionMove.md @@ -0,0 +1,237 @@ +--- +external help file: +Module Name: Az.Billing +online version: https://docs.microsoft.com/en-us/powershell/module/az.billing/test-azbillingsubscriptionmove +schema: 2.0.0 +--- + +# Test-AzBillingSubscriptionMove + +## SYNOPSIS +Validates if a subscription's charges can be moved to a new invoice section. +This operation is supported for billing accounts with agreement type Microsoft Customer Agreement. + +## SYNTAX + +### ValidateExpanded (Default) +``` +Test-AzBillingSubscriptionMove -BillingAccountName -DestinationInvoiceSectionId + [-SubscriptionId ] [-DefaultProfile ] [-Confirm] [-WhatIf] [] +``` + +### Validate +``` +Test-AzBillingSubscriptionMove -BillingAccountName + -Parameter [-SubscriptionId ] + [-DefaultProfile ] [-Confirm] [-WhatIf] [] +``` + +### ValidateViaIdentity +``` +Test-AzBillingSubscriptionMove -InputObject + -Parameter [-DefaultProfile ] [-Confirm] [-WhatIf] + [] +``` + +### ValidateViaIdentityExpanded +``` +Test-AzBillingSubscriptionMove -InputObject -DestinationInvoiceSectionId + [-DefaultProfile ] [-Confirm] [-WhatIf] [] +``` + +## DESCRIPTION +Validates if a subscription's charges can be moved to a new invoice section. +This operation is supported for billing accounts with agreement type Microsoft Customer Agreement. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -BillingAccountName +The ID that uniquely identifies a billing account. + +```yaml +Type: System.String +Parameter Sets: Validate, ValidateExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DestinationInvoiceSectionId +The destination invoice section id. + +```yaml +Type: System.String +Parameter Sets: ValidateExpanded, ValidateViaIdentityExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +Parameter Sets: ValidateViaIdentity, ValidateViaIdentityExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Parameter +Request parameters to transfer billing subscription. +To construct, see NOTES section for PARAMETER properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties +Parameter Sets: Validate, ValidateViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -SubscriptionId +The ID that uniquely identifies an Azure subscription. + +```yaml +Type: System.String +Parameter Sets: Validate, ValidateExpanded +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResult + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[AgreementName ]`: The ID that uniquely identifies an agreement. + - `[BillingAccountName ]`: The ID that uniquely identifies a billing account. + - `[BillingPeriodName ]`: The name of a BillingPeriod resource. + - `[BillingProfileName ]`: The ID that uniquely identifies a billing profile. + - `[BillingRoleAssignmentName ]`: The ID that uniquely identifies a role assignment. + - `[BillingRoleDefinitionName ]`: The ID that uniquely identifies a role definition. + - `[CustomerName ]`: The ID that uniquely identifies a customer. + - `[Id ]`: Resource identity path + - `[InstructionName ]`: Instruction Name. + - `[InvoiceName ]`: The ID that uniquely identifies an invoice. + - `[InvoiceSectionName ]`: The ID that uniquely identifies an invoice section. + - `[Name ]`: Enrollment Account name. + - `[ProductName ]`: The ID that uniquely identifies a product. + - `[SubscriptionId ]`: The ID that uniquely identifies an Azure subscription. + +`PARAMETER `: Request parameters to transfer billing subscription. + - `DestinationInvoiceSectionId `: The destination invoice section id. + +## RELATED LINKS + diff --git a/swaggerci/billing/docs/Update-AzBillingAccount.md b/swaggerci/billing/docs/Update-AzBillingAccount.md new file mode 100644 index 000000000000..09d2d9e10407 --- /dev/null +++ b/swaggerci/billing/docs/Update-AzBillingAccount.md @@ -0,0 +1,566 @@ +--- +external help file: +Module Name: Az.Billing +online version: https://docs.microsoft.com/en-us/powershell/module/az.billing/update-azbillingaccount +schema: 2.0.0 +--- + +# Update-AzBillingAccount + +## SYNOPSIS +Updates the properties of a billing account. +Currently, displayName and address can be updated. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. + +## SYNTAX + +### UpdateExpanded (Default) +``` +Update-AzBillingAccount -Name [-BillingProfileValue ] + [-Department ] [-DisplayName ] [-EnrollmentAccount ] + [-NotificationEmailAddress ] [-SoldToAddressLine1 ] [-SoldToAddressLine2 ] + [-SoldToAddressLine3 ] [-SoldToCity ] [-SoldToCompanyName ] [-SoldToCountry ] + [-SoldToDistrict ] [-SoldToEmail ] [-SoldToFirstName ] [-SoldToLastName ] + [-SoldToMiddleName ] [-SoldToPhoneNumber ] [-SoldToPostalCode ] + [-SoldToRegion ] [-DefaultProfile ] [-AsJob] [-NoWait] [-Confirm] [-WhatIf] + [] +``` + +### UpdateViaIdentityExpanded +``` +Update-AzBillingAccount -InputObject [-BillingProfileValue ] + [-Department ] [-DisplayName ] [-EnrollmentAccount ] + [-NotificationEmailAddress ] [-SoldToAddressLine1 ] [-SoldToAddressLine2 ] + [-SoldToAddressLine3 ] [-SoldToCity ] [-SoldToCompanyName ] [-SoldToCountry ] + [-SoldToDistrict ] [-SoldToEmail ] [-SoldToFirstName ] [-SoldToLastName ] + [-SoldToMiddleName ] [-SoldToPhoneNumber ] [-SoldToPostalCode ] + [-SoldToRegion ] [-DefaultProfile ] [-AsJob] [-NoWait] [-Confirm] [-WhatIf] + [] +``` + +## DESCRIPTION +Updates the properties of a billing account. +Currently, displayName and address can be updated. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -AsJob +Run the command as a job + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BillingProfileValue +The billing profiles associated with the billing account. +To construct, see NOTES section for BILLINGPROFILEVALUE properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile[] +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Department +The departments associated to the enrollment. +To construct, see NOTES section for DEPARTMENT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment[] +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DisplayName +The billing account name. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -EnrollmentAccount +The accounts associated to the enrollment. +To construct, see NOTES section for ENROLLMENTACCOUNT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[] +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +Parameter Sets: UpdateViaIdentityExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +The ID that uniquely identifies a billing account. + +```yaml +Type: System.String +Parameter Sets: UpdateExpanded +Aliases: BillingAccountName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -NotificationEmailAddress +Notification email address, only for legacy accounts + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -NoWait +Run the command asynchronously + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SoldToAddressLine1 +Address line 1. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SoldToAddressLine2 +Address line 2. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SoldToAddressLine3 +Address line 3. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SoldToCity +Address city. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SoldToCompanyName +Company name. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SoldToCountry +Country code uses ISO2, 2-digit format. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SoldToDistrict +Address district. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SoldToEmail +Email address. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SoldToFirstName +First name. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SoldToLastName +Last name. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SoldToMiddleName +Middle name. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SoldToPhoneNumber +Phone number. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SoldToPostalCode +Postal code. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SoldToRegion +Address region. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`BILLINGPROFILEVALUE `: The billing profiles associated with the billing account. + - `[BillToAddressLine1 ]`: Address line 1. + - `[BillToAddressLine2 ]`: Address line 2. + - `[BillToAddressLine3 ]`: Address line 3. + - `[BillToCity ]`: Address city. + - `[BillToCompanyName ]`: Company name. + - `[BillToCountry ]`: Country code uses ISO2, 2-digit format. + - `[BillToDistrict ]`: Address district. + - `[BillToEmail ]`: Email address. + - `[BillToFirstName ]`: First name. + - `[BillToLastName ]`: Last name. + - `[BillToMiddleName ]`: Middle name. + - `[BillToPhoneNumber ]`: Phone number. + - `[BillToPostalCode ]`: Postal code. + - `[BillToRegion ]`: Address region. + - `[DisplayName ]`: The name of the billing profile. + - `[EnabledAzurePlan ]`: Information about the enabled azure plans. + - `[SkuId ]`: The sku id. + - `[IndirectRelationshipInfoBillingAccountName ]`: The billing account name of the partner or the customer for an indirect motion. + - `[IndirectRelationshipInfoBillingProfileName ]`: The billing profile name of the partner or the customer for an indirect motion. + - `[IndirectRelationshipInfoDisplayName ]`: The display name of the partner or customer for an indirect motion. + - `[InvoiceEmailOptIn ]`: Flag controlling whether the invoices for the billing profile are sent through email. + - `[InvoiceSectionValue ]`: The invoice sections associated to the billing profile. + - `[DisplayName ]`: The name of the invoice section. + - `[Label ]`: Dictionary of metadata associated with the invoice section. + - `[(Any) ]`: This indicates any property can be added to this object. + - `[Tag ]`: Dictionary of metadata associated with the invoice section. Maximum key/value length supported of 256 characters. Keys/value should not empty value nor null. Keys can not contain < > % & \ ? / + - `[(Any) ]`: This indicates any property can be added to this object. + - `[PoNumber ]`: The purchase order name that will appear on the invoices generated for the billing profile. + - `[Tag ]`: Tags of billing profiles. + - `[(Any) ]`: This indicates any property can be added to this object. + +`DEPARTMENT `: The departments associated to the enrollment. + - `[CostCenter ]`: The cost center associated with the department. + - `[DepartmentName ]`: The name of the department. + - `[EnrollmentAccount ]`: Associated enrollment accounts. By default this is not populated, unless it's specified in $expand. + - `[AccountName ]`: The name of the enrollment account. + - `[AccountOwner ]`: The owner of the enrollment account. + - `[AccountOwnerEmail ]`: The enrollment account owner email address. + - `[CostCenter ]`: The cost center associated with the enrollment account. + - `[DepartmentPropertiesCostCenter ]`: The cost center associated with the department. + - `[DepartmentPropertiesDepartmentName ]`: The name of the department. + - `[DepartmentPropertiesStatus ]`: The status of the department. + - `[EndDate ]`: The end date of the enrollment account. + - `[PropertiesDepartmentPropertiesEnrollmentAccounts ]`: Associated enrollment accounts. By default this is not populated, unless it's specified in $expand. + - `[StartDate ]`: The start date of the enrollment account. + - `[Status ]`: The status of the enrollment account. + - `[Status ]`: The status of the department. + +`ENROLLMENTACCOUNT `: The accounts associated to the enrollment. + - `[AccountName ]`: The name of the enrollment account. + - `[AccountOwner ]`: The owner of the enrollment account. + - `[AccountOwnerEmail ]`: The enrollment account owner email address. + - `[CostCenter ]`: The cost center associated with the enrollment account. + - `[DepartmentPropertiesCostCenter ]`: The cost center associated with the department. + - `[DepartmentPropertiesDepartmentName ]`: The name of the department. + - `[DepartmentPropertiesStatus ]`: The status of the department. + - `[EndDate ]`: The end date of the enrollment account. + - `[PropertiesDepartmentPropertiesEnrollmentAccounts ]`: Associated enrollment accounts. By default this is not populated, unless it's specified in $expand. + - `[StartDate ]`: The start date of the enrollment account. + - `[Status ]`: The status of the enrollment account. + +`INPUTOBJECT `: Identity Parameter + - `[AgreementName ]`: The ID that uniquely identifies an agreement. + - `[BillingAccountName ]`: The ID that uniquely identifies a billing account. + - `[BillingPeriodName ]`: The name of a BillingPeriod resource. + - `[BillingProfileName ]`: The ID that uniquely identifies a billing profile. + - `[BillingRoleAssignmentName ]`: The ID that uniquely identifies a role assignment. + - `[BillingRoleDefinitionName ]`: The ID that uniquely identifies a role definition. + - `[CustomerName ]`: The ID that uniquely identifies a customer. + - `[Id ]`: Resource identity path + - `[InstructionName ]`: Instruction Name. + - `[InvoiceName ]`: The ID that uniquely identifies an invoice. + - `[InvoiceSectionName ]`: The ID that uniquely identifies an invoice section. + - `[Name ]`: Enrollment Account name. + - `[ProductName ]`: The ID that uniquely identifies a product. + - `[SubscriptionId ]`: The ID that uniquely identifies an Azure subscription. + +## RELATED LINKS + diff --git a/swaggerci/billing/docs/Update-AzBillingProduct.md b/swaggerci/billing/docs/Update-AzBillingProduct.md new file mode 100644 index 000000000000..f002510e0143 --- /dev/null +++ b/swaggerci/billing/docs/Update-AzBillingProduct.md @@ -0,0 +1,236 @@ +--- +external help file: +Module Name: Az.Billing +online version: https://docs.microsoft.com/en-us/powershell/module/az.billing/update-azbillingproduct +schema: 2.0.0 +--- + +# Update-AzBillingProduct + +## SYNOPSIS +Updates the properties of a Product. +Currently, auto renew can be updated. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. + +## SYNTAX + +### UpdateExpanded (Default) +``` +Update-AzBillingProduct -BillingAccountName -Name [-AutoRenew ] + [-BillingFrequency ] [-Status ] [-DefaultProfile ] [-Confirm] + [-WhatIf] [] +``` + +### UpdateViaIdentityExpanded +``` +Update-AzBillingProduct -InputObject [-AutoRenew ] + [-BillingFrequency ] [-Status ] [-DefaultProfile ] [-Confirm] + [-WhatIf] [] +``` + +## DESCRIPTION +Updates the properties of a Product. +Currently, auto renew can be updated. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -AutoRenew +Indicates whether auto renewal is turned on or off for a product. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AutoRenew +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BillingAccountName +The ID that uniquely identifies a billing account. + +```yaml +Type: System.String +Parameter Sets: UpdateExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BillingFrequency +The frequency at which the product will be billed. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingFrequency +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +Parameter Sets: UpdateViaIdentityExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +The ID that uniquely identifies a product. + +```yaml +Type: System.String +Parameter Sets: UpdateExpanded +Aliases: ProductName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Status +The current status of the product. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[AgreementName ]`: The ID that uniquely identifies an agreement. + - `[BillingAccountName ]`: The ID that uniquely identifies a billing account. + - `[BillingPeriodName ]`: The name of a BillingPeriod resource. + - `[BillingProfileName ]`: The ID that uniquely identifies a billing profile. + - `[BillingRoleAssignmentName ]`: The ID that uniquely identifies a role assignment. + - `[BillingRoleDefinitionName ]`: The ID that uniquely identifies a role definition. + - `[CustomerName ]`: The ID that uniquely identifies a customer. + - `[Id ]`: Resource identity path + - `[InstructionName ]`: Instruction Name. + - `[InvoiceName ]`: The ID that uniquely identifies an invoice. + - `[InvoiceSectionName ]`: The ID that uniquely identifies an invoice section. + - `[Name ]`: Enrollment Account name. + - `[ProductName ]`: The ID that uniquely identifies a product. + - `[SubscriptionId ]`: The ID that uniquely identifies an Azure subscription. + +## RELATED LINKS + diff --git a/swaggerci/billing/docs/Update-AzBillingProperty.md b/swaggerci/billing/docs/Update-AzBillingProperty.md new file mode 100644 index 000000000000..fea4fd0857c8 --- /dev/null +++ b/swaggerci/billing/docs/Update-AzBillingProperty.md @@ -0,0 +1,189 @@ +--- +external help file: +Module Name: Az.Billing +online version: https://docs.microsoft.com/en-us/powershell/module/az.billing/update-azbillingproperty +schema: 2.0.0 +--- + +# Update-AzBillingProperty + +## SYNOPSIS +Updates the billing property of a subscription. +Currently, cost center can be updated. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. + +## SYNTAX + +### UpdateExpanded (Default) +``` +Update-AzBillingProperty [-SubscriptionId ] [-CostCenter ] [-DefaultProfile ] + [-Confirm] [-WhatIf] [] +``` + +### UpdateViaIdentityExpanded +``` +Update-AzBillingProperty -InputObject [-CostCenter ] [-DefaultProfile ] + [-Confirm] [-WhatIf] [] +``` + +## DESCRIPTION +Updates the billing property of a subscription. +Currently, cost center can be updated. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -CostCenter +The cost center applied to the subscription. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +Parameter Sets: UpdateViaIdentityExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -SubscriptionId +The ID that uniquely identifies an Azure subscription. + +```yaml +Type: System.String +Parameter Sets: UpdateExpanded +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProperty + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[AgreementName ]`: The ID that uniquely identifies an agreement. + - `[BillingAccountName ]`: The ID that uniquely identifies a billing account. + - `[BillingPeriodName ]`: The name of a BillingPeriod resource. + - `[BillingProfileName ]`: The ID that uniquely identifies a billing profile. + - `[BillingRoleAssignmentName ]`: The ID that uniquely identifies a role assignment. + - `[BillingRoleDefinitionName ]`: The ID that uniquely identifies a role definition. + - `[CustomerName ]`: The ID that uniquely identifies a customer. + - `[Id ]`: Resource identity path + - `[InstructionName ]`: Instruction Name. + - `[InvoiceName ]`: The ID that uniquely identifies an invoice. + - `[InvoiceSectionName ]`: The ID that uniquely identifies an invoice section. + - `[Name ]`: Enrollment Account name. + - `[ProductName ]`: The ID that uniquely identifies a product. + - `[SubscriptionId ]`: The ID that uniquely identifies an Azure subscription. + +## RELATED LINKS + diff --git a/swaggerci/billing/docs/Update-AzBillingSubscription.md b/swaggerci/billing/docs/Update-AzBillingSubscription.md new file mode 100644 index 000000000000..c8a37ff41826 --- /dev/null +++ b/swaggerci/billing/docs/Update-AzBillingSubscription.md @@ -0,0 +1,236 @@ +--- +external help file: +Module Name: Az.Billing +online version: https://docs.microsoft.com/en-us/powershell/module/az.billing/update-azbillingsubscription +schema: 2.0.0 +--- + +# Update-AzBillingSubscription + +## SYNOPSIS +Updates the properties of a billing subscription. +Currently, cost center can be updated. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. + +## SYNTAX + +### UpdateExpanded (Default) +``` +Update-AzBillingSubscription -BillingAccountName [-SubscriptionId ] [-CostCenter ] + [-SkuId ] [-SubscriptionBillingStatus ] [-DefaultProfile ] + [-Confirm] [-WhatIf] [] +``` + +### UpdateViaIdentityExpanded +``` +Update-AzBillingSubscription -InputObject [-CostCenter ] [-SkuId ] + [-SubscriptionBillingStatus ] [-DefaultProfile ] [-Confirm] + [-WhatIf] [] +``` + +## DESCRIPTION +Updates the properties of a billing subscription. +Currently, cost center can be updated. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. + +## EXAMPLES + +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +## PARAMETERS + +### -BillingAccountName +The ID that uniquely identifies a billing account. + +```yaml +Type: System.String +Parameter Sets: UpdateExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -CostCenter +The cost center applied to the subscription. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +Parameter Sets: UpdateViaIdentityExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -SkuId +The sku ID of the Azure plan for the subscription. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionBillingStatus +The current billing status of the subscription. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The ID that uniquely identifies an Azure subscription. + +```yaml +Type: System.String +Parameter Sets: UpdateExpanded +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[AgreementName ]`: The ID that uniquely identifies an agreement. + - `[BillingAccountName ]`: The ID that uniquely identifies a billing account. + - `[BillingPeriodName ]`: The name of a BillingPeriod resource. + - `[BillingProfileName ]`: The ID that uniquely identifies a billing profile. + - `[BillingRoleAssignmentName ]`: The ID that uniquely identifies a role assignment. + - `[BillingRoleDefinitionName ]`: The ID that uniquely identifies a role definition. + - `[CustomerName ]`: The ID that uniquely identifies a customer. + - `[Id ]`: Resource identity path + - `[InstructionName ]`: Instruction Name. + - `[InvoiceName ]`: The ID that uniquely identifies an invoice. + - `[InvoiceSectionName ]`: The ID that uniquely identifies an invoice section. + - `[Name ]`: Enrollment Account name. + - `[ProductName ]`: The ID that uniquely identifies a product. + - `[SubscriptionId ]`: The ID that uniquely identifies an Azure subscription. + +## RELATED LINKS + diff --git a/swaggerci/billing/examples/Get-AzBillingAccount.md b/swaggerci/billing/examples/Get-AzBillingAccount.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/billing/examples/Get-AzBillingAccount.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/billing/examples/Get-AzBillingAccountInvoiceSection.md b/swaggerci/billing/examples/Get-AzBillingAccountInvoiceSection.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/billing/examples/Get-AzBillingAccountInvoiceSection.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/billing/examples/Get-AzBillingAgreement.md b/swaggerci/billing/examples/Get-AzBillingAgreement.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/billing/examples/Get-AzBillingAgreement.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/billing/examples/Get-AzBillingAvailableBalance.md b/swaggerci/billing/examples/Get-AzBillingAvailableBalance.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/billing/examples/Get-AzBillingAvailableBalance.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/billing/examples/Get-AzBillingCustomer.md b/swaggerci/billing/examples/Get-AzBillingCustomer.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/billing/examples/Get-AzBillingCustomer.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/billing/examples/Get-AzBillingEnrollmentAccount.md b/swaggerci/billing/examples/Get-AzBillingEnrollmentAccount.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/billing/examples/Get-AzBillingEnrollmentAccount.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/billing/examples/Get-AzBillingInstruction.md b/swaggerci/billing/examples/Get-AzBillingInstruction.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/billing/examples/Get-AzBillingInstruction.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/billing/examples/Get-AzBillingInvoice.md b/swaggerci/billing/examples/Get-AzBillingInvoice.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/billing/examples/Get-AzBillingInvoice.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/billing/examples/Get-AzBillingInvoiceSection.md b/swaggerci/billing/examples/Get-AzBillingInvoiceSection.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/billing/examples/Get-AzBillingInvoiceSection.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/billing/examples/Get-AzBillingPeriod.md b/swaggerci/billing/examples/Get-AzBillingPeriod.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/billing/examples/Get-AzBillingPeriod.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/billing/examples/Get-AzBillingPermission.md b/swaggerci/billing/examples/Get-AzBillingPermission.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/billing/examples/Get-AzBillingPermission.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/billing/examples/Get-AzBillingPolicy.md b/swaggerci/billing/examples/Get-AzBillingPolicy.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/billing/examples/Get-AzBillingPolicy.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/billing/examples/Get-AzBillingProduct.md b/swaggerci/billing/examples/Get-AzBillingProduct.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/billing/examples/Get-AzBillingProduct.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/billing/examples/Get-AzBillingProfile.md b/swaggerci/billing/examples/Get-AzBillingProfile.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/billing/examples/Get-AzBillingProfile.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/billing/examples/Get-AzBillingProperty.md b/swaggerci/billing/examples/Get-AzBillingProperty.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/billing/examples/Get-AzBillingProperty.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/billing/examples/Get-AzBillingReservation.md b/swaggerci/billing/examples/Get-AzBillingReservation.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/billing/examples/Get-AzBillingReservation.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/billing/examples/Get-AzBillingRoleAssignment.md b/swaggerci/billing/examples/Get-AzBillingRoleAssignment.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/billing/examples/Get-AzBillingRoleAssignment.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/billing/examples/Get-AzBillingRoleDefinition.md b/swaggerci/billing/examples/Get-AzBillingRoleDefinition.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/billing/examples/Get-AzBillingRoleDefinition.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/billing/examples/Get-AzBillingSubscription.md b/swaggerci/billing/examples/Get-AzBillingSubscription.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/billing/examples/Get-AzBillingSubscription.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/billing/examples/Get-AzBillingTransaction.md b/swaggerci/billing/examples/Get-AzBillingTransaction.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/billing/examples/Get-AzBillingTransaction.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/billing/examples/Invoke-AzBillingDownloadInvoice.md b/swaggerci/billing/examples/Invoke-AzBillingDownloadInvoice.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/billing/examples/Invoke-AzBillingDownloadInvoice.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/billing/examples/Invoke-AzBillingDownloadInvoiceBillingSubscriptionInvoice.md b/swaggerci/billing/examples/Invoke-AzBillingDownloadInvoiceBillingSubscriptionInvoice.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/billing/examples/Invoke-AzBillingDownloadInvoiceBillingSubscriptionInvoice.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/billing/examples/Invoke-AzBillingDownloadInvoiceMultipleBillingProfileInvoice.md b/swaggerci/billing/examples/Invoke-AzBillingDownloadInvoiceMultipleBillingProfileInvoice.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/billing/examples/Invoke-AzBillingDownloadInvoiceMultipleBillingProfileInvoice.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/billing/examples/Invoke-AzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice.md b/swaggerci/billing/examples/Invoke-AzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/billing/examples/Invoke-AzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/billing/examples/Move-AzBillingProduct.md b/swaggerci/billing/examples/Move-AzBillingProduct.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/billing/examples/Move-AzBillingProduct.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/billing/examples/Move-AzBillingSubscription.md b/swaggerci/billing/examples/Move-AzBillingSubscription.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/billing/examples/Move-AzBillingSubscription.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/billing/examples/New-AzBillingInvoiceSection.md b/swaggerci/billing/examples/New-AzBillingInvoiceSection.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/billing/examples/New-AzBillingInvoiceSection.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/billing/examples/New-AzBillingProfile.md b/swaggerci/billing/examples/New-AzBillingProfile.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/billing/examples/New-AzBillingProfile.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/billing/examples/Remove-AzBillingRoleAssignment.md b/swaggerci/billing/examples/Remove-AzBillingRoleAssignment.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/billing/examples/Remove-AzBillingRoleAssignment.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/billing/examples/Test-AzBillingAddress.md b/swaggerci/billing/examples/Test-AzBillingAddress.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/billing/examples/Test-AzBillingAddress.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/billing/examples/Test-AzBillingProductMove.md b/swaggerci/billing/examples/Test-AzBillingProductMove.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/billing/examples/Test-AzBillingProductMove.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/billing/examples/Test-AzBillingSubscriptionMove.md b/swaggerci/billing/examples/Test-AzBillingSubscriptionMove.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/billing/examples/Test-AzBillingSubscriptionMove.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/billing/examples/Update-AzBillingAccount.md b/swaggerci/billing/examples/Update-AzBillingAccount.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/billing/examples/Update-AzBillingAccount.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/billing/examples/Update-AzBillingProduct.md b/swaggerci/billing/examples/Update-AzBillingProduct.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/billing/examples/Update-AzBillingProduct.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/billing/examples/Update-AzBillingProperty.md b/swaggerci/billing/examples/Update-AzBillingProperty.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/billing/examples/Update-AzBillingProperty.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/billing/examples/Update-AzBillingSubscription.md b/swaggerci/billing/examples/Update-AzBillingSubscription.md new file mode 100644 index 000000000000..6ee1a83db970 --- /dev/null +++ b/swaggerci/billing/examples/Update-AzBillingSubscription.md @@ -0,0 +1,22 @@ +### Example 1: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + +### Example 2: {{ Add title here }} +```powershell +{{ Add code here }} +``` + +```output +{{ Add output here }} +``` + +{{ Add description here }} + diff --git a/swaggerci/billing/export-surface.ps1 b/swaggerci/billing/export-surface.ps1 new file mode 100644 index 000000000000..44dc867566a6 --- /dev/null +++ b/swaggerci/billing/export-surface.ps1 @@ -0,0 +1,33 @@ +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- +param([switch]$Isolated, [switch]$IncludeGeneralParameters, [switch]$UseExpandedFormat) +$ErrorActionPreference = 'Stop' + +$pwsh = [System.Diagnostics.Process]::GetCurrentProcess().Path +if(-not $Isolated) { + Write-Host -ForegroundColor Green 'Creating isolated process...' + & "$pwsh" -NonInteractive -NoLogo -NoProfile -File $MyInvocation.MyCommand.Path @PSBoundParameters -Isolated + return +} + +$dll = Join-Path $PSScriptRoot 'bin/Az.Billing.private.dll' +if(-not (Test-Path $dll)) { + Write-Error "Unable to find output assembly in '$binFolder'." +} +$null = Import-Module -Name $dll + +$moduleName = 'Az.Billing' +$exportsFolder = Join-Path $PSScriptRoot 'exports' +$resourcesFolder = Join-Path $PSScriptRoot 'resources' + +Export-CmdletSurface -ModuleName $moduleName -CmdletFolder $exportsFolder -OutputFolder $resourcesFolder -IncludeGeneralParameters $IncludeGeneralParameters.IsPresent -UseExpandedFormat $UseExpandedFormat.IsPresent +Write-Host -ForegroundColor Green "CmdletSurface file(s) created in '$resourcesFolder'" + +Export-ModelSurface -OutputFolder $resourcesFolder -UseExpandedFormat $UseExpandedFormat.IsPresent +Write-Host -ForegroundColor Green "ModelSurface file created in '$resourcesFolder'" + +Write-Host -ForegroundColor Green '-------------Done-------------' \ No newline at end of file diff --git a/swaggerci/billing/exports/Get-AzBillingAccount.ps1 b/swaggerci/billing/exports/Get-AzBillingAccount.ps1 new file mode 100644 index 000000000000..23d74ab1a794 --- /dev/null +++ b/swaggerci/billing/exports/Get-AzBillingAccount.ps1 @@ -0,0 +1,192 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Gets a billing account by its ID. +.Description +Gets a billing account by its ID. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingaccount +#> +function Get-AzBillingAccount { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Alias('BillingAccountName')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${Name}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Query')] + [System.String] + # May be used to expand the soldTo, invoice sections and billing profiles. + ${Expand}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Billing.private\Get-AzBillingAccount_Get'; + GetViaIdentity = 'Az.Billing.private\Get-AzBillingAccount_GetViaIdentity'; + List = 'Az.Billing.private\Get-AzBillingAccount_List'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/billing/exports/Get-AzBillingAccountInvoiceSection.ps1 b/swaggerci/billing/exports/Get-AzBillingAccountInvoiceSection.ps1 new file mode 100644 index 000000000000..6e6a3fcc8626 --- /dev/null +++ b/swaggerci/billing/exports/Get-AzBillingAccountInvoiceSection.ps1 @@ -0,0 +1,156 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Lists the invoice sections for which the user has permission to create Azure subscriptions. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. +.Description +Lists the invoice sections for which the user has permission to create Azure subscriptions. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermission +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingaccountinvoicesection +#> +function Get-AzBillingAccountInvoiceSection { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermission])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + List = 'Az.Billing.private\Get-AzBillingAccountInvoiceSection_List'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/billing/exports/Get-AzBillingAgreement.ps1 b/swaggerci/billing/exports/Get-AzBillingAgreement.ps1 new file mode 100644 index 000000000000..5096ac5d32be --- /dev/null +++ b/swaggerci/billing/exports/Get-AzBillingAgreement.ps1 @@ -0,0 +1,199 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Gets an agreement by ID. +.Description +Gets an agreement by ID. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreement +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingagreement +#> +function Get-AzBillingAgreement { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreement])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Alias('AgreementName')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies an agreement. + ${Name}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Query')] + [System.String] + # May be used to expand the participants. + ${Expand}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Billing.private\Get-AzBillingAgreement_Get'; + GetViaIdentity = 'Az.Billing.private\Get-AzBillingAgreement_GetViaIdentity'; + List = 'Az.Billing.private\Get-AzBillingAgreement_List'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/billing/exports/Get-AzBillingAvailableBalance.ps1 b/swaggerci/billing/exports/Get-AzBillingAvailableBalance.ps1 new file mode 100644 index 000000000000..41de49c26b0c --- /dev/null +++ b/swaggerci/billing/exports/Get-AzBillingAvailableBalance.ps1 @@ -0,0 +1,194 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +The available credit balance for a billing profile. +This is the balance that can be used for pay now to settle due or past due invoices. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. +.Description +The available credit balance for a billing profile. +This is the balance that can be used for pay now to settle due or past due invoices. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalance +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingavailablebalance +#> +function Get-AzBillingAvailableBalance { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalance])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing profile. + ${BillingProfileName}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Billing.private\Get-AzBillingAvailableBalance_Get'; + GetViaIdentity = 'Az.Billing.private\Get-AzBillingAvailableBalance_GetViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/billing/exports/Get-AzBillingCustomer.ps1 b/swaggerci/billing/exports/Get-AzBillingCustomer.ps1 new file mode 100644 index 000000000000..469f409247b9 --- /dev/null +++ b/swaggerci/billing/exports/Get-AzBillingCustomer.ps1 @@ -0,0 +1,225 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Gets a customer by its ID. +The operation is supported only for billing accounts with agreement type Microsoft Partner Agreement. +.Description +Gets a customer by its ID. +The operation is supported only for billing accounts with agreement type Microsoft Partner Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomer +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingcustomer +#> +function Get-AzBillingCustomer { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomer])] +[CmdletBinding(DefaultParameterSetName='List1', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Parameter(ParameterSetName='List1', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Alias('CustomerName')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a customer. + ${Name}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing profile. + ${BillingProfileName}, + + [Parameter(ParameterSetName='Get')] + [Parameter(ParameterSetName='GetViaIdentity')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Query')] + [System.String] + # May be used to expand enabledAzurePlans and resellers + ${Expand}, + + [Parameter(ParameterSetName='List')] + [Parameter(ParameterSetName='List1')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Query')] + [System.String] + # May be used to filter the list of customers. + ${Filter}, + + [Parameter(ParameterSetName='List')] + [Parameter(ParameterSetName='List1')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Query')] + [System.String] + # Used for searching customers by their name. + # Any customer with name containing the search text will be included in the response + ${Search}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Billing.private\Get-AzBillingCustomer_Get'; + GetViaIdentity = 'Az.Billing.private\Get-AzBillingCustomer_GetViaIdentity'; + List = 'Az.Billing.private\Get-AzBillingCustomer_List'; + List1 = 'Az.Billing.private\Get-AzBillingCustomer_List1'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/billing/exports/Get-AzBillingEnrollmentAccount.ps1 b/swaggerci/billing/exports/Get-AzBillingEnrollmentAccount.ps1 new file mode 100644 index 000000000000..b6f955684824 --- /dev/null +++ b/swaggerci/billing/exports/Get-AzBillingEnrollmentAccount.ps1 @@ -0,0 +1,185 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Gets a enrollment account by name. +.Description +Gets a enrollment account by name. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummary +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingenrollmentaccount +#> +function Get-AzBillingEnrollmentAccount { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummary])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # Enrollment Account name. + ${Name}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Billing.private\Get-AzBillingEnrollmentAccount_Get'; + GetViaIdentity = 'Az.Billing.private\Get-AzBillingEnrollmentAccount_GetViaIdentity'; + List = 'Az.Billing.private\Get-AzBillingEnrollmentAccount_List'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/billing/exports/Get-AzBillingInstruction.ps1 b/swaggerci/billing/exports/Get-AzBillingInstruction.ps1 new file mode 100644 index 000000000000..7d9a66e6063c --- /dev/null +++ b/swaggerci/billing/exports/Get-AzBillingInstruction.ps1 @@ -0,0 +1,202 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Get the instruction by name. +These are custom billing instructions and are only applicable for certain customers. +.Description +Get the instruction by name. +These are custom billing instructions and are only applicable for certain customers. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstruction +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillinginstruction +#> +function Get-AzBillingInstruction { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstruction])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing profile. + ${BillingProfileName}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Alias('InstructionName')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # Instruction Name. + ${Name}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Billing.private\Get-AzBillingInstruction_Get'; + GetViaIdentity = 'Az.Billing.private\Get-AzBillingInstruction_GetViaIdentity'; + List = 'Az.Billing.private\Get-AzBillingInstruction_List'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/billing/exports/Get-AzBillingInvoice.ps1 b/swaggerci/billing/exports/Get-AzBillingInvoice.ps1 new file mode 100644 index 000000000000..6ba9975962fa --- /dev/null +++ b/swaggerci/billing/exports/Get-AzBillingInvoice.ps1 @@ -0,0 +1,241 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Gets an invoice by billing account name and ID. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. +.Description +Gets an invoice by billing account name and ID. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillinginvoice +#> +function Get-AzBillingInvoice { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice])] +[CmdletBinding(DefaultParameterSetName='Get1', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Parameter(ParameterSetName='List1', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='Get1', Mandatory)] + [Parameter(ParameterSetName='Get2', Mandatory)] + [Alias('InvoiceName')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies an invoice. + ${Name}, + + [Parameter(ParameterSetName='Get2')] + [Parameter(ParameterSetName='List2')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String[]] + # The ID that uniquely identifies an Azure subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='GetViaIdentity1', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='GetViaIdentity2', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='List1', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing profile. + ${BillingProfileName}, + + [Parameter(ParameterSetName='List', Mandatory)] + [Parameter(ParameterSetName='List1', Mandatory)] + [Parameter(ParameterSetName='List2', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Query')] + [System.String] + # The end date to fetch the invoices. + # The date should be specified in MM-DD-YYYY format. + ${PeriodEndDate}, + + [Parameter(ParameterSetName='List', Mandatory)] + [Parameter(ParameterSetName='List1', Mandatory)] + [Parameter(ParameterSetName='List2', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Query')] + [System.String] + # The start date to fetch the invoices. + # The date should be specified in MM-DD-YYYY format. + ${PeriodStartDate}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Billing.private\Get-AzBillingInvoice_Get'; + Get1 = 'Az.Billing.private\Get-AzBillingInvoice_Get1'; + Get2 = 'Az.Billing.private\Get-AzBillingInvoice_Get2'; + GetViaIdentity = 'Az.Billing.private\Get-AzBillingInvoice_GetViaIdentity'; + GetViaIdentity1 = 'Az.Billing.private\Get-AzBillingInvoice_GetViaIdentity1'; + GetViaIdentity2 = 'Az.Billing.private\Get-AzBillingInvoice_GetViaIdentity2'; + List = 'Az.Billing.private\Get-AzBillingInvoice_List'; + List1 = 'Az.Billing.private\Get-AzBillingInvoice_List1'; + List2 = 'Az.Billing.private\Get-AzBillingInvoice_List2'; + } + if (('Get2', 'List2') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/billing/exports/Get-AzBillingInvoiceSection.ps1 b/swaggerci/billing/exports/Get-AzBillingInvoiceSection.ps1 new file mode 100644 index 000000000000..3119b9ea5e54 --- /dev/null +++ b/swaggerci/billing/exports/Get-AzBillingInvoiceSection.ps1 @@ -0,0 +1,202 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Gets an invoice section by its ID. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. +.Description +Gets an invoice section by its ID. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillinginvoicesection +#> +function Get-AzBillingInvoiceSection { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing profile. + ${BillingProfileName}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Alias('InvoiceSectionName')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies an invoice section. + ${Name}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Billing.private\Get-AzBillingInvoiceSection_Get'; + GetViaIdentity = 'Az.Billing.private\Get-AzBillingInvoiceSection_GetViaIdentity'; + List = 'Az.Billing.private\Get-AzBillingInvoiceSection_List'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/billing/exports/Get-AzBillingPeriod.ps1 b/swaggerci/billing/exports/Get-AzBillingPeriod.ps1 new file mode 100644 index 000000000000..4f96a38a1999 --- /dev/null +++ b/swaggerci/billing/exports/Get-AzBillingPeriod.ps1 @@ -0,0 +1,222 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Gets a named billing period. +This is only supported for Azure Web-Direct subscriptions. +Other subscription types which were not purchased directly through the Azure web portal are not supported through this preview API. +.Description +Gets a named billing period. +This is only supported for Azure Web-Direct subscriptions. +Other subscription types which were not purchased directly through the Azure web portal are not supported through this preview API. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriod +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingperiod +#> +function Get-AzBillingPeriod { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriod])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Alias('BillingPeriodName')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The name of a BillingPeriod resource. + ${Name}, + + [Parameter(ParameterSetName='Get')] + [Parameter(ParameterSetName='List')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String[]] + # The ID that uniquely identifies an Azure subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='List')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Query')] + [System.String] + # May be used to filter billing periods by billingPeriodEndDate. + # The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. + # It does not currently support 'ne', 'or', or 'not'. + ${Filter}, + + [Parameter(ParameterSetName='List')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Query')] + [System.String] + # Skiptoken is only used if a previous operation returned a partial result. + # If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls. + ${Skiptoken}, + + [Parameter(ParameterSetName='List')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Query')] + [System.Int32] + # May be used to limit the number of results to the most recent N billing periods. + ${Top}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Billing.private\Get-AzBillingPeriod_Get'; + GetViaIdentity = 'Az.Billing.private\Get-AzBillingPeriod_GetViaIdentity'; + List = 'Az.Billing.private\Get-AzBillingPeriod_List'; + } + if (('Get', 'List') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/billing/exports/Get-AzBillingPermission.ps1 b/swaggerci/billing/exports/Get-AzBillingPermission.ps1 new file mode 100644 index 000000000000..08ca416437b6 --- /dev/null +++ b/swaggerci/billing/exports/Get-AzBillingPermission.ps1 @@ -0,0 +1,176 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Lists the billing permissions the caller has for a customer. +.Description +Lists the billing permissions the caller has for a customer. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsProperties +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingpermission +#> +function Get-AzBillingPermission { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsProperties])] +[CmdletBinding(DefaultParameterSetName='List1', PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a customer. + ${CustomerName}, + + [Parameter(ParameterSetName='List2', Mandatory)] + [Parameter(ParameterSetName='List3', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing profile. + ${BillingProfileName}, + + [Parameter(ParameterSetName='List2', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies an invoice section. + ${InvoiceSectionName}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + List = 'Az.Billing.private\Get-AzBillingPermission_List'; + List1 = 'Az.Billing.private\Get-AzBillingPermission_List1'; + List2 = 'Az.Billing.private\Get-AzBillingPermission_List2'; + List3 = 'Az.Billing.private\Get-AzBillingPermission_List3'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/billing/exports/Get-AzBillingPolicy.ps1 b/swaggerci/billing/exports/Get-AzBillingPolicy.ps1 new file mode 100644 index 000000000000..7714548e52a3 --- /dev/null +++ b/swaggerci/billing/exports/Get-AzBillingPolicy.ps1 @@ -0,0 +1,204 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Lists the policies for a billing profile. +This operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. +.Description +Lists the policies for a billing profile. +This operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicy +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicy +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingpolicy +#> +function Get-AzBillingPolicy { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicy], [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicy])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='Get1', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing profile. + ${BillingProfileName}, + + [Parameter(ParameterSetName='Get1', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a customer. + ${CustomerName}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='GetViaIdentity1', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Billing.private\Get-AzBillingPolicy_Get'; + Get1 = 'Az.Billing.private\Get-AzBillingPolicy_Get1'; + GetViaIdentity = 'Az.Billing.private\Get-AzBillingPolicy_GetViaIdentity'; + GetViaIdentity1 = 'Az.Billing.private\Get-AzBillingPolicy_GetViaIdentity1'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/billing/exports/Get-AzBillingProduct.ps1 b/swaggerci/billing/exports/Get-AzBillingProduct.ps1 new file mode 100644 index 000000000000..9791776cf764 --- /dev/null +++ b/swaggerci/billing/exports/Get-AzBillingProduct.ps1 @@ -0,0 +1,231 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Gets a product by ID. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. +.Description +Gets a product by ID. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingproduct +#> +function Get-AzBillingProduct { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct])] +[CmdletBinding(DefaultParameterSetName='List1', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Parameter(ParameterSetName='List1', Mandatory)] + [Parameter(ParameterSetName='List2', Mandatory)] + [Parameter(ParameterSetName='List3', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Alias('ProductName')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a product. + ${Name}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a customer. + ${CustomerName}, + + [Parameter(ParameterSetName='List2', Mandatory)] + [Parameter(ParameterSetName='List3', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing profile. + ${BillingProfileName}, + + [Parameter(ParameterSetName='List3', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies an invoice section. + ${InvoiceSectionName}, + + [Parameter(ParameterSetName='List1')] + [Parameter(ParameterSetName='List2')] + [Parameter(ParameterSetName='List3')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Query')] + [System.String] + # May be used to filter by product type. + # The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. + # It does not currently support 'ne', 'or', or 'not'. + # Tag filter is a key value pair string where key and value are separated by a colon (:). + ${Filter}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Billing.private\Get-AzBillingProduct_Get'; + GetViaIdentity = 'Az.Billing.private\Get-AzBillingProduct_GetViaIdentity'; + List = 'Az.Billing.private\Get-AzBillingProduct_List'; + List1 = 'Az.Billing.private\Get-AzBillingProduct_List1'; + List2 = 'Az.Billing.private\Get-AzBillingProduct_List2'; + List3 = 'Az.Billing.private\Get-AzBillingProduct_List3'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/billing/exports/Get-AzBillingProfile.ps1 b/swaggerci/billing/exports/Get-AzBillingProfile.ps1 new file mode 100644 index 000000000000..6f7f4fd505f7 --- /dev/null +++ b/swaggerci/billing/exports/Get-AzBillingProfile.ps1 @@ -0,0 +1,201 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Gets a billing profile by its ID. +The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement. +.Description +Gets a billing profile by its ID. +The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingprofile +#> +function Get-AzBillingProfile { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Alias('BillingProfileName')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing profile. + ${Name}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Query')] + [System.String] + # May be used to expand the invoice sections. + ${Expand}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Billing.private\Get-AzBillingProfile_Get'; + GetViaIdentity = 'Az.Billing.private\Get-AzBillingProfile_GetViaIdentity'; + List = 'Az.Billing.private\Get-AzBillingProfile_List'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/billing/exports/Get-AzBillingProperty.ps1 b/swaggerci/billing/exports/Get-AzBillingProperty.ps1 new file mode 100644 index 000000000000..60111e205137 --- /dev/null +++ b/swaggerci/billing/exports/Get-AzBillingProperty.ps1 @@ -0,0 +1,190 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Get the billing properties for a subscription. +This operation is not supported for billing accounts with agreement type Enterprise Agreement. +.Description +Get the billing properties for a subscription. +This operation is not supported for billing accounts with agreement type Enterprise Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProperty +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingproperty +#> +function Get-AzBillingProperty { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProperty])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String[]] + # The ID that uniquely identifies an Azure subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Billing.private\Get-AzBillingProperty_Get'; + GetViaIdentity = 'Az.Billing.private\Get-AzBillingProperty_GetViaIdentity'; + } + if (('Get') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/billing/exports/Get-AzBillingReservation.ps1 b/swaggerci/billing/exports/Get-AzBillingReservation.ps1 new file mode 100644 index 000000000000..75875b4f48ab --- /dev/null +++ b/swaggerci/billing/exports/Get-AzBillingReservation.ps1 @@ -0,0 +1,187 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Lists the reservations for a billing account and the roll up counts of reservations group by provisioning states. +.Description +Lists the reservations for a billing account and the roll up counts of reservations group by provisioning states. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservation +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingreservation +#> +function Get-AzBillingReservation { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservation])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='List1', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing profile. + ${BillingProfileName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Query')] + [System.String] + # May be used to filter by reservation properties. + # The filter supports 'eq', 'or', and 'and'. + # It does not currently support 'ne', 'gt', 'le', 'ge', or 'not'. + ${Filter}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Query')] + [System.String] + # May be used to sort order by reservation properties. + ${Orderby}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Query')] + [System.String] + # To indicate whether to refresh the roll up counts of the reservations group by provisioning states + ${RefreshSummary}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Query')] + [System.String] + # The selected provisioning state + ${SelectedState}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + List = 'Az.Billing.private\Get-AzBillingReservation_List'; + List1 = 'Az.Billing.private\Get-AzBillingReservation_List1'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/billing/exports/Get-AzBillingRoleAssignment.ps1 b/swaggerci/billing/exports/Get-AzBillingRoleAssignment.ps1 new file mode 100644 index 000000000000..d043b3a82f60 --- /dev/null +++ b/swaggerci/billing/exports/Get-AzBillingRoleAssignment.ps1 @@ -0,0 +1,225 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Gets a role assignment for the caller on a billing account. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. +.Description +Gets a role assignment for the caller on a billing account. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingroleassignment +#> +function Get-AzBillingRoleAssignment { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='Get1', Mandatory)] + [Parameter(ParameterSetName='Get2', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Parameter(ParameterSetName='List1', Mandatory)] + [Parameter(ParameterSetName='List2', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='Get1', Mandatory)] + [Parameter(ParameterSetName='Get2', Mandatory)] + [Alias('BillingRoleAssignmentName')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a role assignment. + ${Name}, + + [Parameter(ParameterSetName='Get1', Mandatory)] + [Parameter(ParameterSetName='Get2', Mandatory)] + [Parameter(ParameterSetName='List1', Mandatory)] + [Parameter(ParameterSetName='List2', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing profile. + ${BillingProfileName}, + + [Parameter(ParameterSetName='Get1', Mandatory)] + [Parameter(ParameterSetName='List1', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies an invoice section. + ${InvoiceSectionName}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='GetViaIdentity1', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='GetViaIdentity2', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Billing.private\Get-AzBillingRoleAssignment_Get'; + Get1 = 'Az.Billing.private\Get-AzBillingRoleAssignment_Get1'; + Get2 = 'Az.Billing.private\Get-AzBillingRoleAssignment_Get2'; + GetViaIdentity = 'Az.Billing.private\Get-AzBillingRoleAssignment_GetViaIdentity'; + GetViaIdentity1 = 'Az.Billing.private\Get-AzBillingRoleAssignment_GetViaIdentity1'; + GetViaIdentity2 = 'Az.Billing.private\Get-AzBillingRoleAssignment_GetViaIdentity2'; + List = 'Az.Billing.private\Get-AzBillingRoleAssignment_List'; + List1 = 'Az.Billing.private\Get-AzBillingRoleAssignment_List1'; + List2 = 'Az.Billing.private\Get-AzBillingRoleAssignment_List2'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/billing/exports/Get-AzBillingRoleDefinition.ps1 b/swaggerci/billing/exports/Get-AzBillingRoleDefinition.ps1 new file mode 100644 index 000000000000..61b0ee2909e2 --- /dev/null +++ b/swaggerci/billing/exports/Get-AzBillingRoleDefinition.ps1 @@ -0,0 +1,225 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Gets the definition for a role on a billing account. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. +.Description +Gets the definition for a role on a billing account. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingroledefinition +#> +function Get-AzBillingRoleDefinition { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='Get1', Mandatory)] + [Parameter(ParameterSetName='Get2', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Parameter(ParameterSetName='List1', Mandatory)] + [Parameter(ParameterSetName='List2', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='Get1', Mandatory)] + [Parameter(ParameterSetName='Get2', Mandatory)] + [Alias('BillingRoleDefinitionName')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a role definition. + ${Name}, + + [Parameter(ParameterSetName='Get1', Mandatory)] + [Parameter(ParameterSetName='Get2', Mandatory)] + [Parameter(ParameterSetName='List1', Mandatory)] + [Parameter(ParameterSetName='List2', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing profile. + ${BillingProfileName}, + + [Parameter(ParameterSetName='Get1', Mandatory)] + [Parameter(ParameterSetName='List1', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies an invoice section. + ${InvoiceSectionName}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='GetViaIdentity1', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='GetViaIdentity2', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Billing.private\Get-AzBillingRoleDefinition_Get'; + Get1 = 'Az.Billing.private\Get-AzBillingRoleDefinition_Get1'; + Get2 = 'Az.Billing.private\Get-AzBillingRoleDefinition_Get2'; + GetViaIdentity = 'Az.Billing.private\Get-AzBillingRoleDefinition_GetViaIdentity'; + GetViaIdentity1 = 'Az.Billing.private\Get-AzBillingRoleDefinition_GetViaIdentity1'; + GetViaIdentity2 = 'Az.Billing.private\Get-AzBillingRoleDefinition_GetViaIdentity2'; + List = 'Az.Billing.private\Get-AzBillingRoleDefinition_List'; + List1 = 'Az.Billing.private\Get-AzBillingRoleDefinition_List1'; + List2 = 'Az.Billing.private\Get-AzBillingRoleDefinition_List2'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/billing/exports/Get-AzBillingSubscription.ps1 b/swaggerci/billing/exports/Get-AzBillingSubscription.ps1 new file mode 100644 index 000000000000..38ab3bcedee0 --- /dev/null +++ b/swaggerci/billing/exports/Get-AzBillingSubscription.ps1 @@ -0,0 +1,223 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Gets a subscription by its ID. +The operation is supported for billing accounts with agreement type Microsoft Customer Agreement and Microsoft Partner Agreement. +.Description +Gets a subscription by its ID. +The operation is supported for billing accounts with agreement type Microsoft Customer Agreement and Microsoft Partner Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingsubscription +#> +function Get-AzBillingSubscription { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Parameter(ParameterSetName='List1', Mandatory)] + [Parameter(ParameterSetName='List2', Mandatory)] + [Parameter(ParameterSetName='List3', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String[]] + # The ID that uniquely identifies an Azure subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a customer. + ${CustomerName}, + + [Parameter(ParameterSetName='List2', Mandatory)] + [Parameter(ParameterSetName='List3', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing profile. + ${BillingProfileName}, + + [Parameter(ParameterSetName='List3', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies an invoice section. + ${InvoiceSectionName}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Billing.private\Get-AzBillingSubscription_Get'; + GetViaIdentity = 'Az.Billing.private\Get-AzBillingSubscription_GetViaIdentity'; + List = 'Az.Billing.private\Get-AzBillingSubscription_List'; + List1 = 'Az.Billing.private\Get-AzBillingSubscription_List1'; + List2 = 'Az.Billing.private\Get-AzBillingSubscription_List2'; + List3 = 'Az.Billing.private\Get-AzBillingSubscription_List3'; + } + if (('Get') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/billing/exports/Get-AzBillingTransaction.ps1 b/swaggerci/billing/exports/Get-AzBillingTransaction.ps1 new file mode 100644 index 000000000000..b979e3477926 --- /dev/null +++ b/swaggerci/billing/exports/Get-AzBillingTransaction.ps1 @@ -0,0 +1,162 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Lists the transactions for an invoice. +Transactions include purchases, refunds and Azure usage charges. +.Description +Lists the transactions for an invoice. +Transactions include purchases, refunds and Azure usage charges. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransaction +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingtransaction +#> +function Get-AzBillingTransaction { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransaction])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies an invoice. + ${InvoiceName}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + List = 'Az.Billing.private\Get-AzBillingTransaction_List'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/billing/exports/Invoke-AzBillingDownloadInvoice.ps1 b/swaggerci/billing/exports/Invoke-AzBillingDownloadInvoice.ps1 new file mode 100644 index 000000000000..352278f5ec48 --- /dev/null +++ b/swaggerci/billing/exports/Invoke-AzBillingDownloadInvoice.ps1 @@ -0,0 +1,210 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Gets a URL to download an invoice. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. +.Description +Gets a URL to download an invoice. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/invoke-azbillingdownloadinvoice +#> +function Invoke-AzBillingDownloadInvoice { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl])] +[CmdletBinding(DefaultParameterSetName='Download', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Download', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='Download', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies an invoice. + ${InvoiceName}, + + [Parameter(ParameterSetName='DownloadViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Query')] + [System.String] + # Download token with document source and document ID. + ${DownloadToken}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Download = 'Az.Billing.private\Invoke-AzBillingDownloadInvoice_Download'; + DownloadViaIdentity = 'Az.Billing.private\Invoke-AzBillingDownloadInvoice_DownloadViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/billing/exports/Invoke-AzBillingDownloadInvoiceBillingSubscriptionInvoice.ps1 b/swaggerci/billing/exports/Invoke-AzBillingDownloadInvoiceBillingSubscriptionInvoice.ps1 new file mode 100644 index 000000000000..d8f4ae80a73d --- /dev/null +++ b/swaggerci/billing/exports/Invoke-AzBillingDownloadInvoiceBillingSubscriptionInvoice.ps1 @@ -0,0 +1,212 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Gets a URL to download an invoice. +.Description +Gets a URL to download an invoice. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/invoke-azbillingdownloadinvoicebillingsubscriptioninvoice +#> +function Invoke-AzBillingDownloadInvoiceBillingSubscriptionInvoice { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl])] +[CmdletBinding(DefaultParameterSetName='Download', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Download', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies an invoice. + ${InvoiceName}, + + [Parameter(ParameterSetName='Download')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # The ID that uniquely identifies an Azure subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='DownloadViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Query')] + [System.String] + # Download token with document source and document ID. + ${DownloadToken}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Download = 'Az.Billing.private\Invoke-AzBillingDownloadInvoiceBillingSubscriptionInvoice_Download'; + DownloadViaIdentity = 'Az.Billing.private\Invoke-AzBillingDownloadInvoiceBillingSubscriptionInvoice_DownloadViaIdentity'; + } + if (('Download') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/billing/exports/Invoke-AzBillingDownloadInvoiceMultipleBillingProfileInvoice.ps1 b/swaggerci/billing/exports/Invoke-AzBillingDownloadInvoiceMultipleBillingProfileInvoice.ps1 new file mode 100644 index 000000000000..e793d22d2a9f --- /dev/null +++ b/swaggerci/billing/exports/Invoke-AzBillingDownloadInvoiceMultipleBillingProfileInvoice.ps1 @@ -0,0 +1,207 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip file. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. +.Description +Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip file. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Inputs +System.String[] +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/invoke-azbillingdownloadinvoicemultiplebillingprofileinvoice +#> +function Invoke-AzBillingDownloadInvoiceMultipleBillingProfileInvoice { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl])] +[CmdletBinding(DefaultParameterSetName='Download', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Download', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='DownloadViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(Mandatory, ValueFromPipeline)] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String[]] + # Array of PostContentSchemaItem + ${DownloadUrl}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Download = 'Az.Billing.private\Invoke-AzBillingDownloadInvoiceMultipleBillingProfileInvoice_Download'; + DownloadViaIdentity = 'Az.Billing.private\Invoke-AzBillingDownloadInvoiceMultipleBillingProfileInvoice_DownloadViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/billing/exports/Invoke-AzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice.ps1 b/swaggerci/billing/exports/Invoke-AzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice.ps1 new file mode 100644 index 000000000000..d9ed945540e0 --- /dev/null +++ b/swaggerci/billing/exports/Invoke-AzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice.ps1 @@ -0,0 +1,209 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip file. +.Description +Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip file. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Inputs +System.String[] +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/invoke-azbillingdownloadinvoicemultiplebillingsubscriptioninvoice +#> +function Invoke-AzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl])] +[CmdletBinding(DefaultParameterSetName='Download', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Download')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # The ID that uniquely identifies an Azure subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='DownloadViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(Mandatory, ValueFromPipeline)] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String[]] + # Array of String + ${DownloadUrl}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Download = 'Az.Billing.private\Invoke-AzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice_Download'; + DownloadViaIdentity = 'Az.Billing.private\Invoke-AzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice_DownloadViaIdentity'; + } + if (('Download') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/billing/exports/Move-AzBillingProduct.ps1 b/swaggerci/billing/exports/Move-AzBillingProduct.ps1 new file mode 100644 index 000000000000..dea0224c68d6 --- /dev/null +++ b/swaggerci/billing/exports/Move-AzBillingProduct.ps1 @@ -0,0 +1,226 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Moves a product's charges to a new invoice section. +The new invoice section must belong to the same billing profile as the existing invoice section. +This operation is supported only for products that are purchased with a recurring charge and for billing accounts with agreement type Microsoft Customer Agreement. +.Description +Moves a product's charges to a new invoice section. +The new invoice section must belong to the same billing profile as the existing invoice section. +This operation is supported only for products that are purchased with a recurring charge and for billing accounts with agreement type Microsoft Customer Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. + +PARAMETER : The properties of the product to initiate a transfer. + [DestinationInvoiceSectionId ]: The destination invoice section id. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/move-azbillingproduct +#> +function Move-AzBillingProduct { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct])] +[CmdletBinding(DefaultParameterSetName='MoveExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Move', Mandatory)] + [Parameter(ParameterSetName='MoveExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='Move', Mandatory)] + [Parameter(ParameterSetName='MoveExpanded', Mandatory)] + [Alias('ProductName')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a product. + ${Name}, + + [Parameter(ParameterSetName='MoveViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='MoveViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Move', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='MoveViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties] + # The properties of the product to initiate a transfer. + # To construct, see NOTES section for PARAMETER properties and create a hash table. + ${Parameter}, + + [Parameter(ParameterSetName='MoveExpanded')] + [Parameter(ParameterSetName='MoveViaIdentityExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # The destination invoice section id. + ${DestinationInvoiceSectionId}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Move = 'Az.Billing.private\Move-AzBillingProduct_Move'; + MoveExpanded = 'Az.Billing.private\Move-AzBillingProduct_MoveExpanded'; + MoveViaIdentity = 'Az.Billing.private\Move-AzBillingProduct_MoveViaIdentity'; + MoveViaIdentityExpanded = 'Az.Billing.private\Move-AzBillingProduct_MoveViaIdentityExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/billing/exports/Move-AzBillingSubscription.ps1 b/swaggerci/billing/exports/Move-AzBillingSubscription.ps1 new file mode 100644 index 000000000000..16dd0d57a15d --- /dev/null +++ b/swaggerci/billing/exports/Move-AzBillingSubscription.ps1 @@ -0,0 +1,235 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Moves a subscription's charges to a new invoice section. +The new invoice section must belong to the same billing profile as the existing invoice section. +This operation is supported for billing accounts with agreement type Microsoft Customer Agreement. +.Description +Moves a subscription's charges to a new invoice section. +The new invoice section must belong to the same billing profile as the existing invoice section. +This operation is supported for billing accounts with agreement type Microsoft Customer Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. + +PARAMETER : Request parameters to transfer billing subscription. + DestinationInvoiceSectionId : The destination invoice section id. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/move-azbillingsubscription +#> +function Move-AzBillingSubscription { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription])] +[CmdletBinding(DefaultParameterSetName='MoveExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Move', Mandatory)] + [Parameter(ParameterSetName='MoveExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='Move')] + [Parameter(ParameterSetName='MoveExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # The ID that uniquely identifies an Azure subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='MoveViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='MoveViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Move', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='MoveViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties] + # Request parameters to transfer billing subscription. + # To construct, see NOTES section for PARAMETER properties and create a hash table. + ${Parameter}, + + [Parameter(ParameterSetName='MoveExpanded', Mandatory)] + [Parameter(ParameterSetName='MoveViaIdentityExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # The destination invoice section id. + ${DestinationInvoiceSectionId}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Move = 'Az.Billing.private\Move-AzBillingSubscription_Move'; + MoveExpanded = 'Az.Billing.private\Move-AzBillingSubscription_MoveExpanded'; + MoveViaIdentity = 'Az.Billing.private\Move-AzBillingSubscription_MoveViaIdentity'; + MoveViaIdentityExpanded = 'Az.Billing.private\Move-AzBillingSubscription_MoveViaIdentityExpanded'; + } + if (('Move', 'MoveExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/billing/exports/New-AzBillingInvoiceSection.ps1 b/swaggerci/billing/exports/New-AzBillingInvoiceSection.ps1 new file mode 100644 index 000000000000..4af12cb4bdb5 --- /dev/null +++ b/swaggerci/billing/exports/New-AzBillingInvoiceSection.ps1 @@ -0,0 +1,204 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Creates or updates an invoice section. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. +.Description +Creates or updates an invoice section. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/new-azbillinginvoicesection +#> +function New-AzBillingInvoiceSection { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection])] +[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing profile. + ${BillingProfileName}, + + [Parameter(Mandatory)] + [Alias('InvoiceSectionName')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies an invoice section. + ${Name}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # The name of the invoice section. + ${DisplayName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesLabels]))] + [System.Collections.Hashtable] + # Dictionary of metadata associated with the invoice section. + ${Label}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesTags]))] + [System.Collections.Hashtable] + # Dictionary of metadata associated with the invoice section. + # Maximum key/value length supported of 256 characters. + # Keys/value should not empty value nor null. + # Keys can not contain < > % & \ / + ${Tag}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + CreateExpanded = 'Az.Billing.private\New-AzBillingInvoiceSection_CreateExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/billing/exports/New-AzBillingProfile.ps1 b/swaggerci/billing/exports/New-AzBillingProfile.ps1 new file mode 100644 index 000000000000..beeb5c539b00 --- /dev/null +++ b/swaggerci/billing/exports/New-AzBillingProfile.ps1 @@ -0,0 +1,314 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Creates or updates a billing profile. +The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement. +.Description +Creates or updates a billing profile. +The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +ENABLEDAZUREPLAN : Information about the enabled azure plans. + [SkuId ]: The sku id. + +INVOICESECTIONVALUE : The invoice sections associated to the billing profile. + [DisplayName ]: The name of the invoice section. + [Label ]: Dictionary of metadata associated with the invoice section. + [(Any) ]: This indicates any property can be added to this object. + [Tag ]: Dictionary of metadata associated with the invoice section. Maximum key/value length supported of 256 characters. Keys/value should not empty value nor null. Keys can not contain < > % & \ ? / + [(Any) ]: This indicates any property can be added to this object. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/new-azbillingprofile +#> +function New-AzBillingProfile { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile])] +[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(Mandatory)] + [Alias('BillingProfileName')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing profile. + ${Name}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Address line 1. + ${BillToAddressLine1}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Address line 2. + ${BillToAddressLine2}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Address line 3. + ${BillToAddressLine3}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Address city. + ${BillToCity}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Company name. + ${BillToCompanyName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Country code uses ISO2, 2-digit format. + ${BillToCountry}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Address district. + ${BillToDistrict}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Email address. + ${BillToEmail}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # First name. + ${BillToFirstName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Last name. + ${BillToLastName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Middle name. + ${BillToMiddleName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Phone number. + ${BillToPhoneNumber}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Postal code. + ${BillToPostalCode}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Address region. + ${BillToRegion}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # The name of the billing profile. + ${DisplayName}, + + [Parameter()] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan[]] + # Information about the enabled azure plans. + # To construct, see NOTES section for ENABLEDAZUREPLAN properties and create a hash table. + ${EnabledAzurePlan}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Flag controlling whether the invoices for the billing profile are sent through email. + ${InvoiceEmailOptIn}, + + [Parameter()] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection[]] + # The invoice sections associated to the billing profile. + # To construct, see NOTES section for INVOICESECTIONVALUE properties and create a hash table. + ${InvoiceSectionValue}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # The purchase order name that will appear on the invoices generated for the billing profile. + ${PoNumber}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesTags]))] + [System.Collections.Hashtable] + # Tags of billing profiles. + ${Tag}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + CreateExpanded = 'Az.Billing.private\New-AzBillingProfile_CreateExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/billing/exports/ProxyCmdletDefinitions.ps1 b/swaggerci/billing/exports/ProxyCmdletDefinitions.ps1 new file mode 100644 index 000000000000..b9a7930ec8ac --- /dev/null +++ b/swaggerci/billing/exports/ProxyCmdletDefinitions.ps1 @@ -0,0 +1,7546 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Lists the invoice sections for which the user has permission to create Azure subscriptions. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. +.Description +Lists the invoice sections for which the user has permission to create Azure subscriptions. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermission +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingaccountinvoicesection +#> +function Get-AzBillingAccountInvoiceSection { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermission])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + List = 'Az.Billing.private\Get-AzBillingAccountInvoiceSection_List'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Gets a billing account by its ID. +.Description +Gets a billing account by its ID. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingaccount +#> +function Get-AzBillingAccount { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Alias('BillingAccountName')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${Name}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Query')] + [System.String] + # May be used to expand the soldTo, invoice sections and billing profiles. + ${Expand}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Billing.private\Get-AzBillingAccount_Get'; + GetViaIdentity = 'Az.Billing.private\Get-AzBillingAccount_GetViaIdentity'; + List = 'Az.Billing.private\Get-AzBillingAccount_List'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Gets an agreement by ID. +.Description +Gets an agreement by ID. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreement +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingagreement +#> +function Get-AzBillingAgreement { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreement])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Alias('AgreementName')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies an agreement. + ${Name}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Query')] + [System.String] + # May be used to expand the participants. + ${Expand}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Billing.private\Get-AzBillingAgreement_Get'; + GetViaIdentity = 'Az.Billing.private\Get-AzBillingAgreement_GetViaIdentity'; + List = 'Az.Billing.private\Get-AzBillingAgreement_List'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +The available credit balance for a billing profile. +This is the balance that can be used for pay now to settle due or past due invoices. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. +.Description +The available credit balance for a billing profile. +This is the balance that can be used for pay now to settle due or past due invoices. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalance +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingavailablebalance +#> +function Get-AzBillingAvailableBalance { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalance])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing profile. + ${BillingProfileName}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Billing.private\Get-AzBillingAvailableBalance_Get'; + GetViaIdentity = 'Az.Billing.private\Get-AzBillingAvailableBalance_GetViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Gets a customer by its ID. +The operation is supported only for billing accounts with agreement type Microsoft Partner Agreement. +.Description +Gets a customer by its ID. +The operation is supported only for billing accounts with agreement type Microsoft Partner Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomer +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingcustomer +#> +function Get-AzBillingCustomer { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomer])] +[CmdletBinding(DefaultParameterSetName='List1', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Parameter(ParameterSetName='List1', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Alias('CustomerName')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a customer. + ${Name}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing profile. + ${BillingProfileName}, + + [Parameter(ParameterSetName='Get')] + [Parameter(ParameterSetName='GetViaIdentity')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Query')] + [System.String] + # May be used to expand enabledAzurePlans and resellers + ${Expand}, + + [Parameter(ParameterSetName='List')] + [Parameter(ParameterSetName='List1')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Query')] + [System.String] + # May be used to filter the list of customers. + ${Filter}, + + [Parameter(ParameterSetName='List')] + [Parameter(ParameterSetName='List1')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Query')] + [System.String] + # Used for searching customers by their name. + # Any customer with name containing the search text will be included in the response + ${Search}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Billing.private\Get-AzBillingCustomer_Get'; + GetViaIdentity = 'Az.Billing.private\Get-AzBillingCustomer_GetViaIdentity'; + List = 'Az.Billing.private\Get-AzBillingCustomer_List'; + List1 = 'Az.Billing.private\Get-AzBillingCustomer_List1'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Gets a enrollment account by name. +.Description +Gets a enrollment account by name. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummary +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingenrollmentaccount +#> +function Get-AzBillingEnrollmentAccount { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummary])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # Enrollment Account name. + ${Name}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Billing.private\Get-AzBillingEnrollmentAccount_Get'; + GetViaIdentity = 'Az.Billing.private\Get-AzBillingEnrollmentAccount_GetViaIdentity'; + List = 'Az.Billing.private\Get-AzBillingEnrollmentAccount_List'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Get the instruction by name. +These are custom billing instructions and are only applicable for certain customers. +.Description +Get the instruction by name. +These are custom billing instructions and are only applicable for certain customers. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstruction +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillinginstruction +#> +function Get-AzBillingInstruction { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstruction])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing profile. + ${BillingProfileName}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Alias('InstructionName')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # Instruction Name. + ${Name}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Billing.private\Get-AzBillingInstruction_Get'; + GetViaIdentity = 'Az.Billing.private\Get-AzBillingInstruction_GetViaIdentity'; + List = 'Az.Billing.private\Get-AzBillingInstruction_List'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Gets an invoice section by its ID. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. +.Description +Gets an invoice section by its ID. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillinginvoicesection +#> +function Get-AzBillingInvoiceSection { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing profile. + ${BillingProfileName}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Alias('InvoiceSectionName')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies an invoice section. + ${Name}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Billing.private\Get-AzBillingInvoiceSection_Get'; + GetViaIdentity = 'Az.Billing.private\Get-AzBillingInvoiceSection_GetViaIdentity'; + List = 'Az.Billing.private\Get-AzBillingInvoiceSection_List'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Gets an invoice by billing account name and ID. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. +.Description +Gets an invoice by billing account name and ID. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillinginvoice +#> +function Get-AzBillingInvoice { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice])] +[CmdletBinding(DefaultParameterSetName='Get1', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Parameter(ParameterSetName='List1', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='Get1', Mandatory)] + [Parameter(ParameterSetName='Get2', Mandatory)] + [Alias('InvoiceName')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies an invoice. + ${Name}, + + [Parameter(ParameterSetName='Get2')] + [Parameter(ParameterSetName='List2')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String[]] + # The ID that uniquely identifies an Azure subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='GetViaIdentity1', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='GetViaIdentity2', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='List1', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing profile. + ${BillingProfileName}, + + [Parameter(ParameterSetName='List', Mandatory)] + [Parameter(ParameterSetName='List1', Mandatory)] + [Parameter(ParameterSetName='List2', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Query')] + [System.String] + # The end date to fetch the invoices. + # The date should be specified in MM-DD-YYYY format. + ${PeriodEndDate}, + + [Parameter(ParameterSetName='List', Mandatory)] + [Parameter(ParameterSetName='List1', Mandatory)] + [Parameter(ParameterSetName='List2', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Query')] + [System.String] + # The start date to fetch the invoices. + # The date should be specified in MM-DD-YYYY format. + ${PeriodStartDate}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Billing.private\Get-AzBillingInvoice_Get'; + Get1 = 'Az.Billing.private\Get-AzBillingInvoice_Get1'; + Get2 = 'Az.Billing.private\Get-AzBillingInvoice_Get2'; + GetViaIdentity = 'Az.Billing.private\Get-AzBillingInvoice_GetViaIdentity'; + GetViaIdentity1 = 'Az.Billing.private\Get-AzBillingInvoice_GetViaIdentity1'; + GetViaIdentity2 = 'Az.Billing.private\Get-AzBillingInvoice_GetViaIdentity2'; + List = 'Az.Billing.private\Get-AzBillingInvoice_List'; + List1 = 'Az.Billing.private\Get-AzBillingInvoice_List1'; + List2 = 'Az.Billing.private\Get-AzBillingInvoice_List2'; + } + if (('Get2', 'List2') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Gets a named billing period. +This is only supported for Azure Web-Direct subscriptions. +Other subscription types which were not purchased directly through the Azure web portal are not supported through this preview API. +.Description +Gets a named billing period. +This is only supported for Azure Web-Direct subscriptions. +Other subscription types which were not purchased directly through the Azure web portal are not supported through this preview API. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriod +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingperiod +#> +function Get-AzBillingPeriod { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriod])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Alias('BillingPeriodName')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The name of a BillingPeriod resource. + ${Name}, + + [Parameter(ParameterSetName='Get')] + [Parameter(ParameterSetName='List')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String[]] + # The ID that uniquely identifies an Azure subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='List')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Query')] + [System.String] + # May be used to filter billing periods by billingPeriodEndDate. + # The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. + # It does not currently support 'ne', 'or', or 'not'. + ${Filter}, + + [Parameter(ParameterSetName='List')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Query')] + [System.String] + # Skiptoken is only used if a previous operation returned a partial result. + # If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls. + ${Skiptoken}, + + [Parameter(ParameterSetName='List')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Query')] + [System.Int32] + # May be used to limit the number of results to the most recent N billing periods. + ${Top}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Billing.private\Get-AzBillingPeriod_Get'; + GetViaIdentity = 'Az.Billing.private\Get-AzBillingPeriod_GetViaIdentity'; + List = 'Az.Billing.private\Get-AzBillingPeriod_List'; + } + if (('Get', 'List') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Lists the billing permissions the caller has for a customer. +.Description +Lists the billing permissions the caller has for a customer. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsProperties +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingpermission +#> +function Get-AzBillingPermission { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsProperties])] +[CmdletBinding(DefaultParameterSetName='List1', PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a customer. + ${CustomerName}, + + [Parameter(ParameterSetName='List2', Mandatory)] + [Parameter(ParameterSetName='List3', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing profile. + ${BillingProfileName}, + + [Parameter(ParameterSetName='List2', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies an invoice section. + ${InvoiceSectionName}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + List = 'Az.Billing.private\Get-AzBillingPermission_List'; + List1 = 'Az.Billing.private\Get-AzBillingPermission_List1'; + List2 = 'Az.Billing.private\Get-AzBillingPermission_List2'; + List3 = 'Az.Billing.private\Get-AzBillingPermission_List3'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Lists the policies for a billing profile. +This operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. +.Description +Lists the policies for a billing profile. +This operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicy +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicy +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingpolicy +#> +function Get-AzBillingPolicy { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicy], [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicy])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='Get1', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing profile. + ${BillingProfileName}, + + [Parameter(ParameterSetName='Get1', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a customer. + ${CustomerName}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='GetViaIdentity1', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Billing.private\Get-AzBillingPolicy_Get'; + Get1 = 'Az.Billing.private\Get-AzBillingPolicy_Get1'; + GetViaIdentity = 'Az.Billing.private\Get-AzBillingPolicy_GetViaIdentity'; + GetViaIdentity1 = 'Az.Billing.private\Get-AzBillingPolicy_GetViaIdentity1'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Gets a product by ID. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. +.Description +Gets a product by ID. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingproduct +#> +function Get-AzBillingProduct { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct])] +[CmdletBinding(DefaultParameterSetName='List1', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Parameter(ParameterSetName='List1', Mandatory)] + [Parameter(ParameterSetName='List2', Mandatory)] + [Parameter(ParameterSetName='List3', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Alias('ProductName')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a product. + ${Name}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a customer. + ${CustomerName}, + + [Parameter(ParameterSetName='List2', Mandatory)] + [Parameter(ParameterSetName='List3', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing profile. + ${BillingProfileName}, + + [Parameter(ParameterSetName='List3', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies an invoice section. + ${InvoiceSectionName}, + + [Parameter(ParameterSetName='List1')] + [Parameter(ParameterSetName='List2')] + [Parameter(ParameterSetName='List3')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Query')] + [System.String] + # May be used to filter by product type. + # The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. + # It does not currently support 'ne', 'or', or 'not'. + # Tag filter is a key value pair string where key and value are separated by a colon (:). + ${Filter}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Billing.private\Get-AzBillingProduct_Get'; + GetViaIdentity = 'Az.Billing.private\Get-AzBillingProduct_GetViaIdentity'; + List = 'Az.Billing.private\Get-AzBillingProduct_List'; + List1 = 'Az.Billing.private\Get-AzBillingProduct_List1'; + List2 = 'Az.Billing.private\Get-AzBillingProduct_List2'; + List3 = 'Az.Billing.private\Get-AzBillingProduct_List3'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Gets a billing profile by its ID. +The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement. +.Description +Gets a billing profile by its ID. +The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingprofile +#> +function Get-AzBillingProfile { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Alias('BillingProfileName')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing profile. + ${Name}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Query')] + [System.String] + # May be used to expand the invoice sections. + ${Expand}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Billing.private\Get-AzBillingProfile_Get'; + GetViaIdentity = 'Az.Billing.private\Get-AzBillingProfile_GetViaIdentity'; + List = 'Az.Billing.private\Get-AzBillingProfile_List'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Get the billing properties for a subscription. +This operation is not supported for billing accounts with agreement type Enterprise Agreement. +.Description +Get the billing properties for a subscription. +This operation is not supported for billing accounts with agreement type Enterprise Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProperty +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingproperty +#> +function Get-AzBillingProperty { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProperty])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String[]] + # The ID that uniquely identifies an Azure subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Billing.private\Get-AzBillingProperty_Get'; + GetViaIdentity = 'Az.Billing.private\Get-AzBillingProperty_GetViaIdentity'; + } + if (('Get') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Lists the reservations for a billing account and the roll up counts of reservations group by provisioning states. +.Description +Lists the reservations for a billing account and the roll up counts of reservations group by provisioning states. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservation +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingreservation +#> +function Get-AzBillingReservation { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservation])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='List1', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing profile. + ${BillingProfileName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Query')] + [System.String] + # May be used to filter by reservation properties. + # The filter supports 'eq', 'or', and 'and'. + # It does not currently support 'ne', 'gt', 'le', 'ge', or 'not'. + ${Filter}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Query')] + [System.String] + # May be used to sort order by reservation properties. + ${Orderby}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Query')] + [System.String] + # To indicate whether to refresh the roll up counts of the reservations group by provisioning states + ${RefreshSummary}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Query')] + [System.String] + # The selected provisioning state + ${SelectedState}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + List = 'Az.Billing.private\Get-AzBillingReservation_List'; + List1 = 'Az.Billing.private\Get-AzBillingReservation_List1'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Gets a role assignment for the caller on a billing account. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. +.Description +Gets a role assignment for the caller on a billing account. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingroleassignment +#> +function Get-AzBillingRoleAssignment { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='Get1', Mandatory)] + [Parameter(ParameterSetName='Get2', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Parameter(ParameterSetName='List1', Mandatory)] + [Parameter(ParameterSetName='List2', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='Get1', Mandatory)] + [Parameter(ParameterSetName='Get2', Mandatory)] + [Alias('BillingRoleAssignmentName')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a role assignment. + ${Name}, + + [Parameter(ParameterSetName='Get1', Mandatory)] + [Parameter(ParameterSetName='Get2', Mandatory)] + [Parameter(ParameterSetName='List1', Mandatory)] + [Parameter(ParameterSetName='List2', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing profile. + ${BillingProfileName}, + + [Parameter(ParameterSetName='Get1', Mandatory)] + [Parameter(ParameterSetName='List1', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies an invoice section. + ${InvoiceSectionName}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='GetViaIdentity1', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='GetViaIdentity2', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Billing.private\Get-AzBillingRoleAssignment_Get'; + Get1 = 'Az.Billing.private\Get-AzBillingRoleAssignment_Get1'; + Get2 = 'Az.Billing.private\Get-AzBillingRoleAssignment_Get2'; + GetViaIdentity = 'Az.Billing.private\Get-AzBillingRoleAssignment_GetViaIdentity'; + GetViaIdentity1 = 'Az.Billing.private\Get-AzBillingRoleAssignment_GetViaIdentity1'; + GetViaIdentity2 = 'Az.Billing.private\Get-AzBillingRoleAssignment_GetViaIdentity2'; + List = 'Az.Billing.private\Get-AzBillingRoleAssignment_List'; + List1 = 'Az.Billing.private\Get-AzBillingRoleAssignment_List1'; + List2 = 'Az.Billing.private\Get-AzBillingRoleAssignment_List2'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Gets the definition for a role on a billing account. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. +.Description +Gets the definition for a role on a billing account. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingroledefinition +#> +function Get-AzBillingRoleDefinition { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='Get1', Mandatory)] + [Parameter(ParameterSetName='Get2', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Parameter(ParameterSetName='List1', Mandatory)] + [Parameter(ParameterSetName='List2', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='Get1', Mandatory)] + [Parameter(ParameterSetName='Get2', Mandatory)] + [Alias('BillingRoleDefinitionName')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a role definition. + ${Name}, + + [Parameter(ParameterSetName='Get1', Mandatory)] + [Parameter(ParameterSetName='Get2', Mandatory)] + [Parameter(ParameterSetName='List1', Mandatory)] + [Parameter(ParameterSetName='List2', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing profile. + ${BillingProfileName}, + + [Parameter(ParameterSetName='Get1', Mandatory)] + [Parameter(ParameterSetName='List1', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies an invoice section. + ${InvoiceSectionName}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='GetViaIdentity1', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='GetViaIdentity2', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Billing.private\Get-AzBillingRoleDefinition_Get'; + Get1 = 'Az.Billing.private\Get-AzBillingRoleDefinition_Get1'; + Get2 = 'Az.Billing.private\Get-AzBillingRoleDefinition_Get2'; + GetViaIdentity = 'Az.Billing.private\Get-AzBillingRoleDefinition_GetViaIdentity'; + GetViaIdentity1 = 'Az.Billing.private\Get-AzBillingRoleDefinition_GetViaIdentity1'; + GetViaIdentity2 = 'Az.Billing.private\Get-AzBillingRoleDefinition_GetViaIdentity2'; + List = 'Az.Billing.private\Get-AzBillingRoleDefinition_List'; + List1 = 'Az.Billing.private\Get-AzBillingRoleDefinition_List1'; + List2 = 'Az.Billing.private\Get-AzBillingRoleDefinition_List2'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Gets a subscription by its ID. +The operation is supported for billing accounts with agreement type Microsoft Customer Agreement and Microsoft Partner Agreement. +.Description +Gets a subscription by its ID. +The operation is supported for billing accounts with agreement type Microsoft Customer Agreement and Microsoft Partner Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingsubscription +#> +function Get-AzBillingSubscription { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription])] +[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)] +param( + [Parameter(ParameterSetName='Get', Mandatory)] + [Parameter(ParameterSetName='List', Mandatory)] + [Parameter(ParameterSetName='List1', Mandatory)] + [Parameter(ParameterSetName='List2', Mandatory)] + [Parameter(ParameterSetName='List3', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='Get')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String[]] + # The ID that uniquely identifies an Azure subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='List', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a customer. + ${CustomerName}, + + [Parameter(ParameterSetName='List2', Mandatory)] + [Parameter(ParameterSetName='List3', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing profile. + ${BillingProfileName}, + + [Parameter(ParameterSetName='List3', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies an invoice section. + ${InvoiceSectionName}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Get = 'Az.Billing.private\Get-AzBillingSubscription_Get'; + GetViaIdentity = 'Az.Billing.private\Get-AzBillingSubscription_GetViaIdentity'; + List = 'Az.Billing.private\Get-AzBillingSubscription_List'; + List1 = 'Az.Billing.private\Get-AzBillingSubscription_List1'; + List2 = 'Az.Billing.private\Get-AzBillingSubscription_List2'; + List3 = 'Az.Billing.private\Get-AzBillingSubscription_List3'; + } + if (('Get') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Lists the transactions for an invoice. +Transactions include purchases, refunds and Azure usage charges. +.Description +Lists the transactions for an invoice. +Transactions include purchases, refunds and Azure usage charges. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransaction +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingtransaction +#> +function Get-AzBillingTransaction { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransaction])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] +param( + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies an invoice. + ${InvoiceName}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + List = 'Az.Billing.private\Get-AzBillingTransaction_List'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Gets a URL to download an invoice. +.Description +Gets a URL to download an invoice. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/invoke-azbillingdownloadinvoicebillingsubscriptioninvoice +#> +function Invoke-AzBillingDownloadInvoiceBillingSubscriptionInvoice { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl])] +[CmdletBinding(DefaultParameterSetName='Download', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Download', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies an invoice. + ${InvoiceName}, + + [Parameter(ParameterSetName='Download')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # The ID that uniquely identifies an Azure subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='DownloadViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Query')] + [System.String] + # Download token with document source and document ID. + ${DownloadToken}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Download = 'Az.Billing.private\Invoke-AzBillingDownloadInvoiceBillingSubscriptionInvoice_Download'; + DownloadViaIdentity = 'Az.Billing.private\Invoke-AzBillingDownloadInvoiceBillingSubscriptionInvoice_DownloadViaIdentity'; + } + if (('Download') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip file. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. +.Description +Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip file. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Inputs +System.String[] +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/invoke-azbillingdownloadinvoicemultiplebillingprofileinvoice +#> +function Invoke-AzBillingDownloadInvoiceMultipleBillingProfileInvoice { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl])] +[CmdletBinding(DefaultParameterSetName='Download', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Download', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='DownloadViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(Mandatory, ValueFromPipeline)] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String[]] + # Array of PostContentSchemaItem + ${DownloadUrl}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Download = 'Az.Billing.private\Invoke-AzBillingDownloadInvoiceMultipleBillingProfileInvoice_Download'; + DownloadViaIdentity = 'Az.Billing.private\Invoke-AzBillingDownloadInvoiceMultipleBillingProfileInvoice_DownloadViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip file. +.Description +Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip file. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Inputs +System.String[] +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/invoke-azbillingdownloadinvoicemultiplebillingsubscriptioninvoice +#> +function Invoke-AzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl])] +[CmdletBinding(DefaultParameterSetName='Download', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Download')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # The ID that uniquely identifies an Azure subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='DownloadViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(Mandatory, ValueFromPipeline)] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String[]] + # Array of String + ${DownloadUrl}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Download = 'Az.Billing.private\Invoke-AzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice_Download'; + DownloadViaIdentity = 'Az.Billing.private\Invoke-AzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice_DownloadViaIdentity'; + } + if (('Download') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Gets a URL to download an invoice. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. +.Description +Gets a URL to download an invoice. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/invoke-azbillingdownloadinvoice +#> +function Invoke-AzBillingDownloadInvoice { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl])] +[CmdletBinding(DefaultParameterSetName='Download', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Download', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='Download', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies an invoice. + ${InvoiceName}, + + [Parameter(ParameterSetName='DownloadViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Query')] + [System.String] + # Download token with document source and document ID. + ${DownloadToken}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Download = 'Az.Billing.private\Invoke-AzBillingDownloadInvoice_Download'; + DownloadViaIdentity = 'Az.Billing.private\Invoke-AzBillingDownloadInvoice_DownloadViaIdentity'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Moves a product's charges to a new invoice section. +The new invoice section must belong to the same billing profile as the existing invoice section. +This operation is supported only for products that are purchased with a recurring charge and for billing accounts with agreement type Microsoft Customer Agreement. +.Description +Moves a product's charges to a new invoice section. +The new invoice section must belong to the same billing profile as the existing invoice section. +This operation is supported only for products that are purchased with a recurring charge and for billing accounts with agreement type Microsoft Customer Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. + +PARAMETER : The properties of the product to initiate a transfer. + [DestinationInvoiceSectionId ]: The destination invoice section id. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/move-azbillingproduct +#> +function Move-AzBillingProduct { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct])] +[CmdletBinding(DefaultParameterSetName='MoveExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Move', Mandatory)] + [Parameter(ParameterSetName='MoveExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='Move', Mandatory)] + [Parameter(ParameterSetName='MoveExpanded', Mandatory)] + [Alias('ProductName')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a product. + ${Name}, + + [Parameter(ParameterSetName='MoveViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='MoveViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Move', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='MoveViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties] + # The properties of the product to initiate a transfer. + # To construct, see NOTES section for PARAMETER properties and create a hash table. + ${Parameter}, + + [Parameter(ParameterSetName='MoveExpanded')] + [Parameter(ParameterSetName='MoveViaIdentityExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # The destination invoice section id. + ${DestinationInvoiceSectionId}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Returns true when the command succeeds + ${PassThru}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Move = 'Az.Billing.private\Move-AzBillingProduct_Move'; + MoveExpanded = 'Az.Billing.private\Move-AzBillingProduct_MoveExpanded'; + MoveViaIdentity = 'Az.Billing.private\Move-AzBillingProduct_MoveViaIdentity'; + MoveViaIdentityExpanded = 'Az.Billing.private\Move-AzBillingProduct_MoveViaIdentityExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Moves a subscription's charges to a new invoice section. +The new invoice section must belong to the same billing profile as the existing invoice section. +This operation is supported for billing accounts with agreement type Microsoft Customer Agreement. +.Description +Moves a subscription's charges to a new invoice section. +The new invoice section must belong to the same billing profile as the existing invoice section. +This operation is supported for billing accounts with agreement type Microsoft Customer Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. + +PARAMETER : Request parameters to transfer billing subscription. + DestinationInvoiceSectionId : The destination invoice section id. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/move-azbillingsubscription +#> +function Move-AzBillingSubscription { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription])] +[CmdletBinding(DefaultParameterSetName='MoveExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Move', Mandatory)] + [Parameter(ParameterSetName='MoveExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='Move')] + [Parameter(ParameterSetName='MoveExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # The ID that uniquely identifies an Azure subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='MoveViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='MoveViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Move', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='MoveViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties] + # Request parameters to transfer billing subscription. + # To construct, see NOTES section for PARAMETER properties and create a hash table. + ${Parameter}, + + [Parameter(ParameterSetName='MoveExpanded', Mandatory)] + [Parameter(ParameterSetName='MoveViaIdentityExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # The destination invoice section id. + ${DestinationInvoiceSectionId}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Move = 'Az.Billing.private\Move-AzBillingSubscription_Move'; + MoveExpanded = 'Az.Billing.private\Move-AzBillingSubscription_MoveExpanded'; + MoveViaIdentity = 'Az.Billing.private\Move-AzBillingSubscription_MoveViaIdentity'; + MoveViaIdentityExpanded = 'Az.Billing.private\Move-AzBillingSubscription_MoveViaIdentityExpanded'; + } + if (('Move', 'MoveExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Creates or updates an invoice section. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. +.Description +Creates or updates an invoice section. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/new-azbillinginvoicesection +#> +function New-AzBillingInvoiceSection { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection])] +[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing profile. + ${BillingProfileName}, + + [Parameter(Mandatory)] + [Alias('InvoiceSectionName')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies an invoice section. + ${Name}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # The name of the invoice section. + ${DisplayName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesLabels]))] + [System.Collections.Hashtable] + # Dictionary of metadata associated with the invoice section. + ${Label}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesTags]))] + [System.Collections.Hashtable] + # Dictionary of metadata associated with the invoice section. + # Maximum key/value length supported of 256 characters. + # Keys/value should not empty value nor null. + # Keys can not contain < > % & \ / + ${Tag}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + CreateExpanded = 'Az.Billing.private\New-AzBillingInvoiceSection_CreateExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Creates or updates a billing profile. +The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement. +.Description +Creates or updates a billing profile. +The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +ENABLEDAZUREPLAN : Information about the enabled azure plans. + [SkuId ]: The sku id. + +INVOICESECTIONVALUE : The invoice sections associated to the billing profile. + [DisplayName ]: The name of the invoice section. + [Label ]: Dictionary of metadata associated with the invoice section. + [(Any) ]: This indicates any property can be added to this object. + [Tag ]: Dictionary of metadata associated with the invoice section. Maximum key/value length supported of 256 characters. Keys/value should not empty value nor null. Keys can not contain < > % & \ ? / + [(Any) ]: This indicates any property can be added to this object. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/new-azbillingprofile +#> +function New-AzBillingProfile { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile])] +[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(Mandatory)] + [Alias('BillingProfileName')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing profile. + ${Name}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Address line 1. + ${BillToAddressLine1}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Address line 2. + ${BillToAddressLine2}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Address line 3. + ${BillToAddressLine3}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Address city. + ${BillToCity}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Company name. + ${BillToCompanyName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Country code uses ISO2, 2-digit format. + ${BillToCountry}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Address district. + ${BillToDistrict}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Email address. + ${BillToEmail}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # First name. + ${BillToFirstName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Last name. + ${BillToLastName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Middle name. + ${BillToMiddleName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Phone number. + ${BillToPhoneNumber}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Postal code. + ${BillToPostalCode}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Address region. + ${BillToRegion}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # The name of the billing profile. + ${DisplayName}, + + [Parameter()] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan[]] + # Information about the enabled azure plans. + # To construct, see NOTES section for ENABLEDAZUREPLAN properties and create a hash table. + ${EnabledAzurePlan}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.Management.Automation.SwitchParameter] + # Flag controlling whether the invoices for the billing profile are sent through email. + ${InvoiceEmailOptIn}, + + [Parameter()] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection[]] + # The invoice sections associated to the billing profile. + # To construct, see NOTES section for INVOICESECTIONVALUE properties and create a hash table. + ${InvoiceSectionValue}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # The purchase order name that will appear on the invoices generated for the billing profile. + ${PoNumber}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesTags]))] + [System.Collections.Hashtable] + # Tags of billing profiles. + ${Tag}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + CreateExpanded = 'Az.Billing.private\New-AzBillingProfile_CreateExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Deletes a role assignment for the caller on a billing account. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. +.Description +Deletes a role assignment for the caller on a billing account. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/remove-azbillingroleassignment +#> +function Remove-AzBillingRoleAssignment { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment])] +[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Delete', Mandatory)] + [Parameter(ParameterSetName='Delete1', Mandatory)] + [Parameter(ParameterSetName='Delete2', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='Delete', Mandatory)] + [Parameter(ParameterSetName='Delete1', Mandatory)] + [Parameter(ParameterSetName='Delete2', Mandatory)] + [Alias('BillingRoleAssignmentName')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a role assignment. + ${Name}, + + [Parameter(ParameterSetName='Delete1', Mandatory)] + [Parameter(ParameterSetName='Delete2', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing profile. + ${BillingProfileName}, + + [Parameter(ParameterSetName='Delete1', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies an invoice section. + ${InvoiceSectionName}, + + [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='DeleteViaIdentity1', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='DeleteViaIdentity2', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Delete = 'Az.Billing.private\Remove-AzBillingRoleAssignment_Delete'; + Delete1 = 'Az.Billing.private\Remove-AzBillingRoleAssignment_Delete1'; + Delete2 = 'Az.Billing.private\Remove-AzBillingRoleAssignment_Delete2'; + DeleteViaIdentity = 'Az.Billing.private\Remove-AzBillingRoleAssignment_DeleteViaIdentity'; + DeleteViaIdentity1 = 'Az.Billing.private\Remove-AzBillingRoleAssignment_DeleteViaIdentity1'; + DeleteViaIdentity2 = 'Az.Billing.private\Remove-AzBillingRoleAssignment_DeleteViaIdentity2'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Validates an address. +Use the operation to validate an address before using it as soldTo or a billTo address. +.Description +Validates an address. +Use the operation to validate an address before using it as soldTo or a billTo address. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateAddressResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +ADDRESS : Address details. + AddressLine1 : Address line 1. + Country : Country code uses ISO2, 2-digit format. + [AddressLine2 ]: Address line 2. + [AddressLine3 ]: Address line 3. + [City ]: Address city. + [CompanyName ]: Company name. + [District ]: Address district. + [Email ]: Email address. + [FirstName ]: First name. + [LastName ]: Last name. + [MiddleName ]: Middle name. + [PhoneNumber ]: Phone number. + [PostalCode ]: Postal code. + [Region ]: Address region. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/test-azbillingaddress +#> +function Test-AzBillingAddress { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateAddressResponse])] +[CmdletBinding(DefaultParameterSetName='ValidateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Validate', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails] + # Address details. + # To construct, see NOTES section for ADDRESS properties and create a hash table. + ${Address}, + + [Parameter(ParameterSetName='ValidateExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Address line 1. + ${AddressLine1}, + + [Parameter(ParameterSetName='ValidateExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Country code uses ISO2, 2-digit format. + ${Country}, + + [Parameter(ParameterSetName='ValidateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Address line 2. + ${AddressLine2}, + + [Parameter(ParameterSetName='ValidateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Address line 3. + ${AddressLine3}, + + [Parameter(ParameterSetName='ValidateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Address city. + ${City}, + + [Parameter(ParameterSetName='ValidateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Company name. + ${CompanyName}, + + [Parameter(ParameterSetName='ValidateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Address district. + ${District}, + + [Parameter(ParameterSetName='ValidateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Email address. + ${Email}, + + [Parameter(ParameterSetName='ValidateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # First name. + ${FirstName}, + + [Parameter(ParameterSetName='ValidateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Last name. + ${LastName}, + + [Parameter(ParameterSetName='ValidateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Middle name. + ${MiddleName}, + + [Parameter(ParameterSetName='ValidateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Phone number. + ${PhoneNumber}, + + [Parameter(ParameterSetName='ValidateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Postal code. + ${PostalCode}, + + [Parameter(ParameterSetName='ValidateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Address region. + ${Region}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Validate = 'Az.Billing.private\Test-AzBillingAddress_Validate'; + ValidateExpanded = 'Az.Billing.private\Test-AzBillingAddress_ValidateExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Validates if a product's charges can be moved to a new invoice section. +This operation is supported only for products that are purchased with a recurring charge and for billing accounts with agreement type Microsoft Customer Agreement. +.Description +Validates if a product's charges can be moved to a new invoice section. +This operation is supported only for products that are purchased with a recurring charge and for billing accounts with agreement type Microsoft Customer Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResult +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. + +PARAMETER : The properties of the product to initiate a transfer. + [DestinationInvoiceSectionId ]: The destination invoice section id. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/test-azbillingproductmove +#> +function Test-AzBillingProductMove { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResult])] +[CmdletBinding(DefaultParameterSetName='ValidateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Validate', Mandatory)] + [Parameter(ParameterSetName='ValidateExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='Validate', Mandatory)] + [Parameter(ParameterSetName='ValidateExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a product. + ${ProductName}, + + [Parameter(ParameterSetName='ValidateViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='ValidateViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Validate', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='ValidateViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties] + # The properties of the product to initiate a transfer. + # To construct, see NOTES section for PARAMETER properties and create a hash table. + ${Parameter}, + + [Parameter(ParameterSetName='ValidateExpanded')] + [Parameter(ParameterSetName='ValidateViaIdentityExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # The destination invoice section id. + ${DestinationInvoiceSectionId}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Validate = 'Az.Billing.private\Test-AzBillingProductMove_Validate'; + ValidateExpanded = 'Az.Billing.private\Test-AzBillingProductMove_ValidateExpanded'; + ValidateViaIdentity = 'Az.Billing.private\Test-AzBillingProductMove_ValidateViaIdentity'; + ValidateViaIdentityExpanded = 'Az.Billing.private\Test-AzBillingProductMove_ValidateViaIdentityExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Validates if a subscription's charges can be moved to a new invoice section. +This operation is supported for billing accounts with agreement type Microsoft Customer Agreement. +.Description +Validates if a subscription's charges can be moved to a new invoice section. +This operation is supported for billing accounts with agreement type Microsoft Customer Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResult +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. + +PARAMETER : Request parameters to transfer billing subscription. + DestinationInvoiceSectionId : The destination invoice section id. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/test-azbillingsubscriptionmove +#> +function Test-AzBillingSubscriptionMove { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResult])] +[CmdletBinding(DefaultParameterSetName='ValidateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Validate', Mandatory)] + [Parameter(ParameterSetName='ValidateExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='Validate')] + [Parameter(ParameterSetName='ValidateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # The ID that uniquely identifies an Azure subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='ValidateViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='ValidateViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Validate', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='ValidateViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties] + # Request parameters to transfer billing subscription. + # To construct, see NOTES section for PARAMETER properties and create a hash table. + ${Parameter}, + + [Parameter(ParameterSetName='ValidateExpanded', Mandatory)] + [Parameter(ParameterSetName='ValidateViaIdentityExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # The destination invoice section id. + ${DestinationInvoiceSectionId}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Validate = 'Az.Billing.private\Test-AzBillingSubscriptionMove_Validate'; + ValidateExpanded = 'Az.Billing.private\Test-AzBillingSubscriptionMove_ValidateExpanded'; + ValidateViaIdentity = 'Az.Billing.private\Test-AzBillingSubscriptionMove_ValidateViaIdentity'; + ValidateViaIdentityExpanded = 'Az.Billing.private\Test-AzBillingSubscriptionMove_ValidateViaIdentityExpanded'; + } + if (('Validate', 'ValidateExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Updates the properties of a billing account. +Currently, displayName and address can be updated. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. +.Description +Updates the properties of a billing account. +Currently, displayName and address can be updated. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BILLINGPROFILEVALUE : The billing profiles associated with the billing account. + [BillToAddressLine1 ]: Address line 1. + [BillToAddressLine2 ]: Address line 2. + [BillToAddressLine3 ]: Address line 3. + [BillToCity ]: Address city. + [BillToCompanyName ]: Company name. + [BillToCountry ]: Country code uses ISO2, 2-digit format. + [BillToDistrict ]: Address district. + [BillToEmail ]: Email address. + [BillToFirstName ]: First name. + [BillToLastName ]: Last name. + [BillToMiddleName ]: Middle name. + [BillToPhoneNumber ]: Phone number. + [BillToPostalCode ]: Postal code. + [BillToRegion ]: Address region. + [DisplayName ]: The name of the billing profile. + [EnabledAzurePlan ]: Information about the enabled azure plans. + [SkuId ]: The sku id. + [IndirectRelationshipInfoBillingAccountName ]: The billing account name of the partner or the customer for an indirect motion. + [IndirectRelationshipInfoBillingProfileName ]: The billing profile name of the partner or the customer for an indirect motion. + [IndirectRelationshipInfoDisplayName ]: The display name of the partner or customer for an indirect motion. + [InvoiceEmailOptIn ]: Flag controlling whether the invoices for the billing profile are sent through email. + [InvoiceSectionValue ]: The invoice sections associated to the billing profile. + [DisplayName ]: The name of the invoice section. + [Label ]: Dictionary of metadata associated with the invoice section. + [(Any) ]: This indicates any property can be added to this object. + [Tag ]: Dictionary of metadata associated with the invoice section. Maximum key/value length supported of 256 characters. Keys/value should not empty value nor null. Keys can not contain < > % & \ ? / + [(Any) ]: This indicates any property can be added to this object. + [PoNumber ]: The purchase order name that will appear on the invoices generated for the billing profile. + [Tag ]: Tags of billing profiles. + [(Any) ]: This indicates any property can be added to this object. + +DEPARTMENT : The departments associated to the enrollment. + [CostCenter ]: The cost center associated with the department. + [DepartmentName ]: The name of the department. + [EnrollmentAccount ]: Associated enrollment accounts. By default this is not populated, unless it's specified in $expand. + [AccountName ]: The name of the enrollment account. + [AccountOwner ]: The owner of the enrollment account. + [AccountOwnerEmail ]: The enrollment account owner email address. + [CostCenter ]: The cost center associated with the enrollment account. + [DepartmentPropertiesCostCenter ]: The cost center associated with the department. + [DepartmentPropertiesDepartmentName ]: The name of the department. + [DepartmentPropertiesStatus ]: The status of the department. + [EndDate ]: The end date of the enrollment account. + [PropertiesDepartmentPropertiesEnrollmentAccounts ]: Associated enrollment accounts. By default this is not populated, unless it's specified in $expand. + [StartDate ]: The start date of the enrollment account. + [Status ]: The status of the enrollment account. + [Status ]: The status of the department. + +ENROLLMENTACCOUNT : The accounts associated to the enrollment. + [AccountName ]: The name of the enrollment account. + [AccountOwner ]: The owner of the enrollment account. + [AccountOwnerEmail ]: The enrollment account owner email address. + [CostCenter ]: The cost center associated with the enrollment account. + [DepartmentPropertiesCostCenter ]: The cost center associated with the department. + [DepartmentPropertiesDepartmentName ]: The name of the department. + [DepartmentPropertiesStatus ]: The status of the department. + [EndDate ]: The end date of the enrollment account. + [PropertiesDepartmentPropertiesEnrollmentAccounts ]: Associated enrollment accounts. By default this is not populated, unless it's specified in $expand. + [StartDate ]: The start date of the enrollment account. + [Status ]: The status of the enrollment account. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/update-azbillingaccount +#> +function Update-AzBillingAccount { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount])] +[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Alias('BillingAccountName')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${Name}, + + [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile[]] + # The billing profiles associated with the billing account. + # To construct, see NOTES section for BILLINGPROFILEVALUE properties and create a hash table. + ${BillingProfileValue}, + + [Parameter()] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment[]] + # The departments associated to the enrollment. + # To construct, see NOTES section for DEPARTMENT properties and create a hash table. + ${Department}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # The billing account name. + ${DisplayName}, + + [Parameter()] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[]] + # The accounts associated to the enrollment. + # To construct, see NOTES section for ENROLLMENTACCOUNT properties and create a hash table. + ${EnrollmentAccount}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Notification email address, only for legacy accounts + ${NotificationEmailAddress}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Address line 1. + ${SoldToAddressLine1}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Address line 2. + ${SoldToAddressLine2}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Address line 3. + ${SoldToAddressLine3}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Address city. + ${SoldToCity}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Company name. + ${SoldToCompanyName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Country code uses ISO2, 2-digit format. + ${SoldToCountry}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Address district. + ${SoldToDistrict}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Email address. + ${SoldToEmail}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # First name. + ${SoldToFirstName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Last name. + ${SoldToLastName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Middle name. + ${SoldToMiddleName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Phone number. + ${SoldToPhoneNumber}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Postal code. + ${SoldToPostalCode}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Address region. + ${SoldToRegion}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + UpdateExpanded = 'Az.Billing.private\Update-AzBillingAccount_UpdateExpanded'; + UpdateViaIdentityExpanded = 'Az.Billing.private\Update-AzBillingAccount_UpdateViaIdentityExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Updates the properties of a Product. +Currently, auto renew can be updated. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. +.Description +Updates the properties of a Product. +Currently, auto renew can be updated. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/update-azbillingproduct +#> +function Update-AzBillingProduct { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct])] +[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Alias('ProductName')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a product. + ${Name}, + + [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AutoRenew])] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AutoRenew] + # Indicates whether auto renewal is turned on or off for a product. + ${AutoRenew}, + + [Parameter()] + [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingFrequency])] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingFrequency] + # The frequency at which the product will be billed. + ${BillingFrequency}, + + [Parameter()] + [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType])] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType] + # The current status of the product. + ${Status}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + UpdateExpanded = 'Az.Billing.private\Update-AzBillingProduct_UpdateExpanded'; + UpdateViaIdentityExpanded = 'Az.Billing.private\Update-AzBillingProduct_UpdateViaIdentityExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Updates the billing property of a subscription. +Currently, cost center can be updated. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. +.Description +Updates the billing property of a subscription. +Currently, cost center can be updated. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProperty +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/update-azbillingproperty +#> +function Update-AzBillingProperty { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProperty])] +[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # The ID that uniquely identifies an Azure subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # The cost center applied to the subscription. + ${CostCenter}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + UpdateExpanded = 'Az.Billing.private\Update-AzBillingProperty_UpdateExpanded'; + UpdateViaIdentityExpanded = 'Az.Billing.private\Update-AzBillingProperty_UpdateViaIdentityExpanded'; + } + if (('UpdateExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} + +<# +.Synopsis +Updates the properties of a billing subscription. +Currently, cost center can be updated. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. +.Description +Updates the properties of a billing subscription. +Currently, cost center can be updated. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/update-azbillingsubscription +#> +function Update-AzBillingSubscription { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription])] +[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # The ID that uniquely identifies an Azure subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # The cost center applied to the subscription. + ${CostCenter}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # The sku ID of the Azure plan for the subscription. + ${SkuId}, + + [Parameter()] + [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType])] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType] + # The current billing status of the subscription. + ${SubscriptionBillingStatus}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + UpdateExpanded = 'Az.Billing.private\Update-AzBillingSubscription_UpdateExpanded'; + UpdateViaIdentityExpanded = 'Az.Billing.private\Update-AzBillingSubscription_UpdateViaIdentityExpanded'; + } + if (('UpdateExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/billing/exports/README.md b/swaggerci/billing/exports/README.md new file mode 100644 index 000000000000..a7d9a1d4f4e8 --- /dev/null +++ b/swaggerci/billing/exports/README.md @@ -0,0 +1,20 @@ +# Exports +This directory contains the cmdlets *exported by* `Az.Billing`. No other cmdlets in this repository are directly exported. What that means is the `Az.Billing` module will run [Export-ModuleMember](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/export-modulemember) on the cmldets in this directory. The cmdlets in this directory are generated at **build-time**. Do not put any custom code, files, cmdlets, etc. into this directory. Please use `../custom` for all custom implementation. + +## Info +- Modifiable: no +- Generated: all +- Committed: no +- Packaged: yes + +## Details +The cmdlets generated here are created every time you run `build-module.ps1`. These cmdlets are a merge of all (excluding `InternalExport`) cmdlets from the private binary (`../bin/Az.Billing.private.dll`) and from the `../custom/Az.Billing.custom.psm1` module. Cmdlets that are *not merged* from those directories are decorated with the `InternalExport` attribute. This happens when you set the cmdlet to **hide** from configuration. For more information on hiding, see [cmdlet hiding](https://github.com/Azure/autorest/blob/master/docs/powershell/options.md#cmdlet-hiding-exportation-suppression) or the [README.md](../internal/README.md) in the `../internal` folder. + +## Purpose +We generate script cmdlets out of the binary cmdlets and custom cmdlets. The format of script cmdlets are simplistic; thus, easier to generate at build time. Generating the cmdlets is required as to allow merging of generated binary, hand-written binary, and hand-written custom cmdlets. For Azure cmdlets, having script cmdlets simplifies the mechanism for exporting Azure profiles. + +## Structure +The cmdlets generated here will flat in the directory (no sub-folders) as long as there are no Azure profiles specified for any cmdlets. Azure profiles (the `Profiles` attribute) is only applied when generating with the `--azure` attribute (or `azure: true` in the configuration). When Azure profiles are applied, the folder structure has a folder per profile. Each profile folder has only those cmdlets that apply to that profile. + +## Usage +When `./Az.Billing.psm1` is loaded, it dynamically exports cmdlets here based on the folder structure and on the selected profile. If there are no sub-folders, it exports all cmdlets at the root of this folder. If there are sub-folders, it checks to see the selected profile. If no profile is selected, it exports the cmdlets in the last sub-folder (alphabetically). If a profile is selected, it exports the cmdlets in the sub-folder that matches the profile name. If there is no sub-folder that matches the profile name, it exports no cmdlets and writes a warning message. \ No newline at end of file diff --git a/swaggerci/billing/exports/Remove-AzBillingRoleAssignment.ps1 b/swaggerci/billing/exports/Remove-AzBillingRoleAssignment.ps1 new file mode 100644 index 000000000000..b984ae440d18 --- /dev/null +++ b/swaggerci/billing/exports/Remove-AzBillingRoleAssignment.ps1 @@ -0,0 +1,216 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Deletes a role assignment for the caller on a billing account. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. +.Description +Deletes a role assignment for the caller on a billing account. +The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/remove-azbillingroleassignment +#> +function Remove-AzBillingRoleAssignment { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment])] +[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Delete', Mandatory)] + [Parameter(ParameterSetName='Delete1', Mandatory)] + [Parameter(ParameterSetName='Delete2', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='Delete', Mandatory)] + [Parameter(ParameterSetName='Delete1', Mandatory)] + [Parameter(ParameterSetName='Delete2', Mandatory)] + [Alias('BillingRoleAssignmentName')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a role assignment. + ${Name}, + + [Parameter(ParameterSetName='Delete1', Mandatory)] + [Parameter(ParameterSetName='Delete2', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing profile. + ${BillingProfileName}, + + [Parameter(ParameterSetName='Delete1', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies an invoice section. + ${InvoiceSectionName}, + + [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='DeleteViaIdentity1', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='DeleteViaIdentity2', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Delete = 'Az.Billing.private\Remove-AzBillingRoleAssignment_Delete'; + Delete1 = 'Az.Billing.private\Remove-AzBillingRoleAssignment_Delete1'; + Delete2 = 'Az.Billing.private\Remove-AzBillingRoleAssignment_Delete2'; + DeleteViaIdentity = 'Az.Billing.private\Remove-AzBillingRoleAssignment_DeleteViaIdentity'; + DeleteViaIdentity1 = 'Az.Billing.private\Remove-AzBillingRoleAssignment_DeleteViaIdentity1'; + DeleteViaIdentity2 = 'Az.Billing.private\Remove-AzBillingRoleAssignment_DeleteViaIdentity2'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/billing/exports/Test-AzBillingAddress.ps1 b/swaggerci/billing/exports/Test-AzBillingAddress.ps1 new file mode 100644 index 000000000000..3c298898191b --- /dev/null +++ b/swaggerci/billing/exports/Test-AzBillingAddress.ps1 @@ -0,0 +1,264 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Validates an address. +Use the operation to validate an address before using it as soldTo or a billTo address. +.Description +Validates an address. +Use the operation to validate an address before using it as soldTo or a billTo address. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateAddressResponse +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +ADDRESS : Address details. + AddressLine1 : Address line 1. + Country : Country code uses ISO2, 2-digit format. + [AddressLine2 ]: Address line 2. + [AddressLine3 ]: Address line 3. + [City ]: Address city. + [CompanyName ]: Company name. + [District ]: Address district. + [Email ]: Email address. + [FirstName ]: First name. + [LastName ]: Last name. + [MiddleName ]: Middle name. + [PhoneNumber ]: Phone number. + [PostalCode ]: Postal code. + [Region ]: Address region. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/test-azbillingaddress +#> +function Test-AzBillingAddress { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateAddressResponse])] +[CmdletBinding(DefaultParameterSetName='ValidateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Validate', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails] + # Address details. + # To construct, see NOTES section for ADDRESS properties and create a hash table. + ${Address}, + + [Parameter(ParameterSetName='ValidateExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Address line 1. + ${AddressLine1}, + + [Parameter(ParameterSetName='ValidateExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Country code uses ISO2, 2-digit format. + ${Country}, + + [Parameter(ParameterSetName='ValidateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Address line 2. + ${AddressLine2}, + + [Parameter(ParameterSetName='ValidateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Address line 3. + ${AddressLine3}, + + [Parameter(ParameterSetName='ValidateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Address city. + ${City}, + + [Parameter(ParameterSetName='ValidateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Company name. + ${CompanyName}, + + [Parameter(ParameterSetName='ValidateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Address district. + ${District}, + + [Parameter(ParameterSetName='ValidateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Email address. + ${Email}, + + [Parameter(ParameterSetName='ValidateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # First name. + ${FirstName}, + + [Parameter(ParameterSetName='ValidateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Last name. + ${LastName}, + + [Parameter(ParameterSetName='ValidateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Middle name. + ${MiddleName}, + + [Parameter(ParameterSetName='ValidateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Phone number. + ${PhoneNumber}, + + [Parameter(ParameterSetName='ValidateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Postal code. + ${PostalCode}, + + [Parameter(ParameterSetName='ValidateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Address region. + ${Region}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Validate = 'Az.Billing.private\Test-AzBillingAddress_Validate'; + ValidateExpanded = 'Az.Billing.private\Test-AzBillingAddress_ValidateExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/billing/exports/Test-AzBillingProductMove.ps1 b/swaggerci/billing/exports/Test-AzBillingProductMove.ps1 new file mode 100644 index 000000000000..23bd1fb70b41 --- /dev/null +++ b/swaggerci/billing/exports/Test-AzBillingProductMove.ps1 @@ -0,0 +1,217 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Validates if a product's charges can be moved to a new invoice section. +This operation is supported only for products that are purchased with a recurring charge and for billing accounts with agreement type Microsoft Customer Agreement. +.Description +Validates if a product's charges can be moved to a new invoice section. +This operation is supported only for products that are purchased with a recurring charge and for billing accounts with agreement type Microsoft Customer Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResult +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. + +PARAMETER : The properties of the product to initiate a transfer. + [DestinationInvoiceSectionId ]: The destination invoice section id. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/test-azbillingproductmove +#> +function Test-AzBillingProductMove { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResult])] +[CmdletBinding(DefaultParameterSetName='ValidateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Validate', Mandatory)] + [Parameter(ParameterSetName='ValidateExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='Validate', Mandatory)] + [Parameter(ParameterSetName='ValidateExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a product. + ${ProductName}, + + [Parameter(ParameterSetName='ValidateViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='ValidateViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Validate', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='ValidateViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties] + # The properties of the product to initiate a transfer. + # To construct, see NOTES section for PARAMETER properties and create a hash table. + ${Parameter}, + + [Parameter(ParameterSetName='ValidateExpanded')] + [Parameter(ParameterSetName='ValidateViaIdentityExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # The destination invoice section id. + ${DestinationInvoiceSectionId}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Validate = 'Az.Billing.private\Test-AzBillingProductMove_Validate'; + ValidateExpanded = 'Az.Billing.private\Test-AzBillingProductMove_ValidateExpanded'; + ValidateViaIdentity = 'Az.Billing.private\Test-AzBillingProductMove_ValidateViaIdentity'; + ValidateViaIdentityExpanded = 'Az.Billing.private\Test-AzBillingProductMove_ValidateViaIdentityExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/billing/exports/Test-AzBillingSubscriptionMove.ps1 b/swaggerci/billing/exports/Test-AzBillingSubscriptionMove.ps1 new file mode 100644 index 000000000000..6db22ebee825 --- /dev/null +++ b/swaggerci/billing/exports/Test-AzBillingSubscriptionMove.ps1 @@ -0,0 +1,221 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Validates if a subscription's charges can be moved to a new invoice section. +This operation is supported for billing accounts with agreement type Microsoft Customer Agreement. +.Description +Validates if a subscription's charges can be moved to a new invoice section. +This operation is supported for billing accounts with agreement type Microsoft Customer Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResult +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. + +PARAMETER : Request parameters to transfer billing subscription. + DestinationInvoiceSectionId : The destination invoice section id. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/test-azbillingsubscriptionmove +#> +function Test-AzBillingSubscriptionMove { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResult])] +[CmdletBinding(DefaultParameterSetName='ValidateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Validate', Mandatory)] + [Parameter(ParameterSetName='ValidateExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='Validate')] + [Parameter(ParameterSetName='ValidateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # The ID that uniquely identifies an Azure subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='ValidateViaIdentity', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='ValidateViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter(ParameterSetName='Validate', Mandatory, ValueFromPipeline)] + [Parameter(ParameterSetName='ValidateViaIdentity', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties] + # Request parameters to transfer billing subscription. + # To construct, see NOTES section for PARAMETER properties and create a hash table. + ${Parameter}, + + [Parameter(ParameterSetName='ValidateExpanded', Mandatory)] + [Parameter(ParameterSetName='ValidateViaIdentityExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # The destination invoice section id. + ${DestinationInvoiceSectionId}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + Validate = 'Az.Billing.private\Test-AzBillingSubscriptionMove_Validate'; + ValidateExpanded = 'Az.Billing.private\Test-AzBillingSubscriptionMove_ValidateExpanded'; + ValidateViaIdentity = 'Az.Billing.private\Test-AzBillingSubscriptionMove_ValidateViaIdentity'; + ValidateViaIdentityExpanded = 'Az.Billing.private\Test-AzBillingSubscriptionMove_ValidateViaIdentityExpanded'; + } + if (('Validate', 'ValidateExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/billing/exports/Update-AzBillingAccount.ps1 b/swaggerci/billing/exports/Update-AzBillingAccount.ps1 new file mode 100644 index 000000000000..a4c78185a675 --- /dev/null +++ b/swaggerci/billing/exports/Update-AzBillingAccount.ps1 @@ -0,0 +1,383 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Updates the properties of a billing account. +Currently, displayName and address can be updated. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. +.Description +Updates the properties of a billing account. +Currently, displayName and address can be updated. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +BILLINGPROFILEVALUE : The billing profiles associated with the billing account. + [BillToAddressLine1 ]: Address line 1. + [BillToAddressLine2 ]: Address line 2. + [BillToAddressLine3 ]: Address line 3. + [BillToCity ]: Address city. + [BillToCompanyName ]: Company name. + [BillToCountry ]: Country code uses ISO2, 2-digit format. + [BillToDistrict ]: Address district. + [BillToEmail ]: Email address. + [BillToFirstName ]: First name. + [BillToLastName ]: Last name. + [BillToMiddleName ]: Middle name. + [BillToPhoneNumber ]: Phone number. + [BillToPostalCode ]: Postal code. + [BillToRegion ]: Address region. + [DisplayName ]: The name of the billing profile. + [EnabledAzurePlan ]: Information about the enabled azure plans. + [SkuId ]: The sku id. + [IndirectRelationshipInfoBillingAccountName ]: The billing account name of the partner or the customer for an indirect motion. + [IndirectRelationshipInfoBillingProfileName ]: The billing profile name of the partner or the customer for an indirect motion. + [IndirectRelationshipInfoDisplayName ]: The display name of the partner or customer for an indirect motion. + [InvoiceEmailOptIn ]: Flag controlling whether the invoices for the billing profile are sent through email. + [InvoiceSectionValue ]: The invoice sections associated to the billing profile. + [DisplayName ]: The name of the invoice section. + [Label ]: Dictionary of metadata associated with the invoice section. + [(Any) ]: This indicates any property can be added to this object. + [Tag ]: Dictionary of metadata associated with the invoice section. Maximum key/value length supported of 256 characters. Keys/value should not empty value nor null. Keys can not contain < > % & \ ? / + [(Any) ]: This indicates any property can be added to this object. + [PoNumber ]: The purchase order name that will appear on the invoices generated for the billing profile. + [Tag ]: Tags of billing profiles. + [(Any) ]: This indicates any property can be added to this object. + +DEPARTMENT : The departments associated to the enrollment. + [CostCenter ]: The cost center associated with the department. + [DepartmentName ]: The name of the department. + [EnrollmentAccount ]: Associated enrollment accounts. By default this is not populated, unless it's specified in $expand. + [AccountName ]: The name of the enrollment account. + [AccountOwner ]: The owner of the enrollment account. + [AccountOwnerEmail ]: The enrollment account owner email address. + [CostCenter ]: The cost center associated with the enrollment account. + [DepartmentPropertiesCostCenter ]: The cost center associated with the department. + [DepartmentPropertiesDepartmentName ]: The name of the department. + [DepartmentPropertiesStatus ]: The status of the department. + [EndDate ]: The end date of the enrollment account. + [PropertiesDepartmentPropertiesEnrollmentAccounts ]: Associated enrollment accounts. By default this is not populated, unless it's specified in $expand. + [StartDate ]: The start date of the enrollment account. + [Status ]: The status of the enrollment account. + [Status ]: The status of the department. + +ENROLLMENTACCOUNT : The accounts associated to the enrollment. + [AccountName ]: The name of the enrollment account. + [AccountOwner ]: The owner of the enrollment account. + [AccountOwnerEmail ]: The enrollment account owner email address. + [CostCenter ]: The cost center associated with the enrollment account. + [DepartmentPropertiesCostCenter ]: The cost center associated with the department. + [DepartmentPropertiesDepartmentName ]: The name of the department. + [DepartmentPropertiesStatus ]: The status of the department. + [EndDate ]: The end date of the enrollment account. + [PropertiesDepartmentPropertiesEnrollmentAccounts ]: Associated enrollment accounts. By default this is not populated, unless it's specified in $expand. + [StartDate ]: The start date of the enrollment account. + [Status ]: The status of the enrollment account. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/update-azbillingaccount +#> +function Update-AzBillingAccount { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount])] +[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Alias('BillingAccountName')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${Name}, + + [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile[]] + # The billing profiles associated with the billing account. + # To construct, see NOTES section for BILLINGPROFILEVALUE properties and create a hash table. + ${BillingProfileValue}, + + [Parameter()] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment[]] + # The departments associated to the enrollment. + # To construct, see NOTES section for DEPARTMENT properties and create a hash table. + ${Department}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # The billing account name. + ${DisplayName}, + + [Parameter()] + [AllowEmptyCollection()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[]] + # The accounts associated to the enrollment. + # To construct, see NOTES section for ENROLLMENTACCOUNT properties and create a hash table. + ${EnrollmentAccount}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Notification email address, only for legacy accounts + ${NotificationEmailAddress}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Address line 1. + ${SoldToAddressLine1}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Address line 2. + ${SoldToAddressLine2}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Address line 3. + ${SoldToAddressLine3}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Address city. + ${SoldToCity}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Company name. + ${SoldToCompanyName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Country code uses ISO2, 2-digit format. + ${SoldToCountry}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Address district. + ${SoldToDistrict}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Email address. + ${SoldToEmail}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # First name. + ${SoldToFirstName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Last name. + ${SoldToLastName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Middle name. + ${SoldToMiddleName}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Phone number. + ${SoldToPhoneNumber}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Postal code. + ${SoldToPostalCode}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # Address region. + ${SoldToRegion}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command as a job + ${AsJob}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Run the command asynchronously + ${NoWait}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + UpdateExpanded = 'Az.Billing.private\Update-AzBillingAccount_UpdateExpanded'; + UpdateViaIdentityExpanded = 'Az.Billing.private\Update-AzBillingAccount_UpdateViaIdentityExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/billing/exports/Update-AzBillingProduct.ps1 b/swaggerci/billing/exports/Update-AzBillingProduct.ps1 new file mode 100644 index 000000000000..5b638fee5b2b --- /dev/null +++ b/swaggerci/billing/exports/Update-AzBillingProduct.ps1 @@ -0,0 +1,216 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Updates the properties of a Product. +Currently, auto renew can be updated. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. +.Description +Updates the properties of a Product. +Currently, auto renew can be updated. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/update-azbillingproduct +#> +function Update-AzBillingProduct { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct])] +[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Alias('ProductName')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a product. + ${Name}, + + [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AutoRenew])] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AutoRenew] + # Indicates whether auto renewal is turned on or off for a product. + ${AutoRenew}, + + [Parameter()] + [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingFrequency])] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingFrequency] + # The frequency at which the product will be billed. + ${BillingFrequency}, + + [Parameter()] + [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType])] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType] + # The current status of the product. + ${Status}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + UpdateExpanded = 'Az.Billing.private\Update-AzBillingProduct_UpdateExpanded'; + UpdateViaIdentityExpanded = 'Az.Billing.private\Update-AzBillingProduct_UpdateViaIdentityExpanded'; + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/billing/exports/Update-AzBillingProperty.ps1 b/swaggerci/billing/exports/Update-AzBillingProperty.ps1 new file mode 100644 index 000000000000..038bf25829b4 --- /dev/null +++ b/swaggerci/billing/exports/Update-AzBillingProperty.ps1 @@ -0,0 +1,198 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Updates the billing property of a subscription. +Currently, cost center can be updated. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. +.Description +Updates the billing property of a subscription. +Currently, cost center can be updated. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProperty +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/update-azbillingproperty +#> +function Update-AzBillingProperty { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProperty])] +[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # The ID that uniquely identifies an Azure subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # The cost center applied to the subscription. + ${CostCenter}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + UpdateExpanded = 'Az.Billing.private\Update-AzBillingProperty_UpdateExpanded'; + UpdateViaIdentityExpanded = 'Az.Billing.private\Update-AzBillingProperty_UpdateViaIdentityExpanded'; + } + if (('UpdateExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/billing/exports/Update-AzBillingSubscription.ps1 b/swaggerci/billing/exports/Update-AzBillingSubscription.ps1 new file mode 100644 index 000000000000..21895dd17da5 --- /dev/null +++ b/swaggerci/billing/exports/Update-AzBillingSubscription.ps1 @@ -0,0 +1,217 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Updates the properties of a billing subscription. +Currently, cost center can be updated. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. +.Description +Updates the properties of a billing subscription. +Currently, cost center can be updated. +The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Inputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription +.Notes +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + +INPUTOBJECT : Identity Parameter + [AgreementName ]: The ID that uniquely identifies an agreement. + [BillingAccountName ]: The ID that uniquely identifies a billing account. + [BillingPeriodName ]: The name of a BillingPeriod resource. + [BillingProfileName ]: The ID that uniquely identifies a billing profile. + [BillingRoleAssignmentName ]: The ID that uniquely identifies a role assignment. + [BillingRoleDefinitionName ]: The ID that uniquely identifies a role definition. + [CustomerName ]: The ID that uniquely identifies a customer. + [Id ]: Resource identity path + [InstructionName ]: Instruction Name. + [InvoiceName ]: The ID that uniquely identifies an invoice. + [InvoiceSectionName ]: The ID that uniquely identifies an invoice section. + [Name ]: Enrollment Account name. + [ProductName ]: The ID that uniquely identifies a product. + [SubscriptionId ]: The ID that uniquely identifies an Azure subscription. +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/update-azbillingsubscription +#> +function Update-AzBillingSubscription { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription])] +[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='UpdateExpanded', Mandatory)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [System.String] + # The ID that uniquely identifies a billing account. + ${BillingAccountName}, + + [Parameter(ParameterSetName='UpdateExpanded')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] + [System.String] + # The ID that uniquely identifies an Azure subscription. + ${SubscriptionId}, + + [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Path')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity] + # Identity Parameter + # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + ${InputObject}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # The cost center applied to the subscription. + ${CostCenter}, + + [Parameter()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [System.String] + # The sku ID of the Azure plan for the subscription. + ${SkuId}, + + [Parameter()] + [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType])] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Body')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType] + # The current billing status of the subscription. + ${SubscriptionBillingStatus}, + + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) { + [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() + } + $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + if ($preTelemetryId -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) + } else { + $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + if ($internalCalledCmdlets -eq '') { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name + } else { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' + } + + $mapping = @{ + UpdateExpanded = 'Az.Billing.private\Update-AzBillingSubscription_UpdateExpanded'; + UpdateViaIdentityExpanded = 'Az.Billing.private\Update-AzBillingSubscription_UpdateViaIdentityExpanded'; + } + if (('UpdateExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { + $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id + } + $cmdInfo = Get-Command -Name $mapping[$parameterSet] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet) + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } + + finally { + $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId + $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + +} +end { + try { + $steppablePipeline.End() + + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets + if ($preTelemetryId -eq '') { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + } + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId + + } catch { + [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() + throw + } +} +} diff --git a/swaggerci/billing/generate-help.ps1 b/swaggerci/billing/generate-help.ps1 new file mode 100644 index 000000000000..40fcfb13fdf1 --- /dev/null +++ b/swaggerci/billing/generate-help.ps1 @@ -0,0 +1,66 @@ +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- +param([switch]$Isolated) +$ErrorActionPreference = 'Stop' + +$pwsh = [System.Diagnostics.Process]::GetCurrentProcess().Path +if(-not $Isolated) { + Write-Host -ForegroundColor Green 'Creating isolated process...' + & "$pwsh" -NonInteractive -NoLogo -NoProfile -File $MyInvocation.MyCommand.Path @PSBoundParameters -Isolated + return +} + +$exportsFolder = Join-Path $PSScriptRoot 'exports' +if(-not (Test-Path $exportsFolder)) { + Write-Error "Exports folder '$exportsFolder' was not found." +} + +$directories = Get-ChildItem -Directory -Path $exportsFolder +$hasProfiles = ($directories | Measure-Object).Count -gt 0 +if(-not $hasProfiles) { + $directories = Get-Item -Path $exportsFolder +} + +$docsFolder = Join-Path $PSScriptRoot 'docs' +if(Test-Path $docsFolder) { + $null = Get-ChildItem -Path $docsFolder -Recurse -Exclude 'README.md' | Remove-Item -Recurse -ErrorAction SilentlyContinue +} +$null = New-Item -ItemType Directory -Force -Path $docsFolder -ErrorAction SilentlyContinue +$examplesFolder = Join-Path $PSScriptRoot 'examples' + +$modulePsd1 = Get-Item -Path (Join-Path $PSScriptRoot './Az.Billing.psd1') +$modulePath = $modulePsd1.FullName +$moduleName = $modulePsd1.BaseName + +# Load DLL to use build-time cmdlets +Import-Module -Name $modulePath +Import-Module -Name (Join-Path $PSScriptRoot './bin/Az.Billing.private.dll') +$instance = [Microsoft.Azure.PowerShell.Cmdlets.Billing.Module]::Instance +# Module info is shared per profile +$moduleInfo = Get-Module -Name $moduleName + +foreach($directory in $directories) +{ + if($hasProfiles) { + Select-AzProfile -Name $directory.Name + } + # Reload module per profile + Import-Module -Name $modulePath -Force + + $cmdletNames = Get-ScriptCmdlet -ScriptFolder $directory.FullName + $cmdletHelpInfo = $cmdletNames | ForEach-Object { Get-Help -Name $_ -Full } + $cmdletFunctionInfo = Get-ScriptCmdlet -ScriptFolder $directory.FullName -AsFunctionInfo + + $docsPath = Join-Path $docsFolder $directory.Name + $null = New-Item -ItemType Directory -Force -Path $docsPath -ErrorAction SilentlyContinue + $examplesPath = Join-Path $examplesFolder $directory.Name + + Export-HelpMarkdown -ModuleInfo $moduleInfo -FunctionInfo $cmdletFunctionInfo -HelpInfo $cmdletHelpInfo -DocsFolder $docsPath -ExamplesFolder $examplesPath + Write-Host -ForegroundColor Green "Created documentation in '$docsPath'" +} + +Write-Host -ForegroundColor Green '-------------Done-------------' \ No newline at end of file diff --git a/swaggerci/billing/generated/Module.cs b/swaggerci/billing/generated/Module.cs new file mode 100644 index 000000000000..aea7748bbcc8 --- /dev/null +++ b/swaggerci/billing/generated/Module.cs @@ -0,0 +1,181 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using SendAsyncStepDelegate = global::System.Func, global::System.Threading.Tasks.Task>, global::System.Func, global::System.Threading.Tasks.Task>, global::System.Threading.Tasks.Task>, global::System.Threading.Tasks.Task>; + using PipelineChangeDelegate = global::System.Action, global::System.Threading.Tasks.Task>, global::System.Func, global::System.Threading.Tasks.Task>, global::System.Threading.Tasks.Task>, global::System.Threading.Tasks.Task>>; + using GetParameterDelegate = global::System.Func; + using ModuleLoadPipelineDelegate = global::System.Action, global::System.Threading.Tasks.Task>, global::System.Func, global::System.Threading.Tasks.Task>, global::System.Threading.Tasks.Task>, global::System.Threading.Tasks.Task>>, global::System.Action, global::System.Threading.Tasks.Task>, global::System.Func, global::System.Threading.Tasks.Task>, global::System.Threading.Tasks.Task>, global::System.Threading.Tasks.Task>>>; + using ArgumentCompleterDelegate = global::System.Func; + using GetTelemetryIdDelegate = global::System.Func; + using TelemetryDelegate = global::System.Action; + using NewRequestPipelineDelegate = global::System.Action, global::System.Threading.Tasks.Task>, global::System.Func, global::System.Threading.Tasks.Task>, global::System.Threading.Tasks.Task>, global::System.Threading.Tasks.Task>>, global::System.Action, global::System.Threading.Tasks.Task>, global::System.Func, global::System.Threading.Tasks.Task>, global::System.Threading.Tasks.Task>, global::System.Threading.Tasks.Task>>>; + using SignalDelegate = global::System.Func, global::System.Threading.Tasks.Task>; + using EventListenerDelegate = global::System.Func, global::System.Func, global::System.Threading.Tasks.Task>, global::System.Management.Automation.InvocationInfo, string, string, string, global::System.Exception, global::System.Threading.Tasks.Task>; + using NextDelegate = global::System.Func, global::System.Threading.Tasks.Task>, global::System.Threading.Tasks.Task>; + + /// A class that contains the module-common code and data. + public partial class Module + { + /// The currently selected profile. + public string Profile = global::System.String.Empty; + + public global::System.Net.Http.HttpClientHandler _handler = new global::System.Net.Http.HttpClientHandler(); + + /// the ISendAsync pipeline instance + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline _pipeline; + + /// the ISendAsync pipeline instance (when proxy is enabled) + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline _pipelineWithProxy; + + public bool _useProxy = false; + + public global::System.Net.WebProxy _webProxy = new global::System.Net.WebProxy(); + + /// Gets completion data for azure specific fields + public ArgumentCompleterDelegate ArgumentCompleter { get; set; } + + /// The instance of the Client API + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient ClientAPI { get; set; } + + /// A delegate that gets called for each signalled event + public EventListenerDelegate EventListener { get; set; } + + /// The delegate to call to get parameter data from a common module. + public GetParameterDelegate GetParameterValue { get; set; } + + /// The delegate to get the telemetry Id. + public GetTelemetryIdDelegate GetTelemetryId { get; set; } + + /// Backing field for property. + private static Microsoft.Azure.PowerShell.Cmdlets.Billing.Module _instance; + + /// the singleton of this module class + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Module Instance => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module._instance?? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Module._instance = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Module()); + + /// The Name of this module + public string Name => @"Az.Billing"; + + /// The delegate to call when this module is loaded (supporting a commmon module). + public ModuleLoadPipelineDelegate OnModuleLoad { get; set; } + + /// The delegate to call before each new request (supporting a commmon module). + public NewRequestPipelineDelegate OnNewRequest { get; set; } + + /// The name of the currently selected Azure profile + public global::System.String ProfileName { get; set; } + + /// The ResourceID for this module (azure arm). + public string ResourceId => @"Az.Billing"; + + /// The delegate for creating a telemetry. + public TelemetryDelegate Telemetry { get; set; } + + /// The from the cmdlet + /// The HttpPipeline for the request + + partial void AfterCreatePipeline(global::System.Management.Automation.InvocationInfo invocationInfo, ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline pipeline); + + /// The from the cmdlet + /// The HttpPipeline for the request + + partial void BeforeCreatePipeline(global::System.Management.Automation.InvocationInfo invocationInfo, ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline pipeline); + + partial void CustomInit(); + + /// Creates an instance of the HttpPipeline for each call. + /// The from the cmdlet + /// the cmdlet's correlation id. + /// the cmdlet's process record correlation id. + /// the cmdlet's parameterset name. + /// a dict for extensible parameters + /// An instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline for the remote call. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline CreatePipeline(global::System.Management.Automation.InvocationInfo invocationInfo, string correlationId, string processRecordId, string parameterSetName = null, global::System.Collections.Generic.IDictionary extensibleParameters = null) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline pipeline = null; + BeforeCreatePipeline(invocationInfo, ref pipeline); + pipeline = (pipeline ?? (_useProxy ? _pipelineWithProxy : _pipeline)).Clone(); + AfterCreatePipeline(invocationInfo, ref pipeline); + pipeline.Append(new Runtime.CmdInfoHandler(processRecordId, invocationInfo, parameterSetName).SendAsync); + OnNewRequest?.Invoke( invocationInfo, correlationId,processRecordId, (step)=> { pipeline.Prepend(step); } , (step)=> { pipeline.Append(step); } ); + return pipeline; + } + + /// Gets parameters from a common module. + /// The from the cmdlet + /// the cmdlet's correlation id. + /// The name of the parameter to get the value for. + /// + /// The parameter value from the common module. (Note: this should be type converted on the way back) + /// + public object GetParameter(global::System.Management.Automation.InvocationInfo invocationInfo, string correlationId, string parameterName) => GetParameterValue?.Invoke( ResourceId, Name, invocationInfo, correlationId,parameterName ); + + /// Initialization steps performed after the module is loaded. + public void Init() + { + OnModuleLoad?.Invoke( ResourceId, Name ,(step)=> { _pipeline.Prepend(step); } , (step)=> { _pipeline.Append(step); } ); + OnModuleLoad?.Invoke( ResourceId, Name ,(step)=> { _pipelineWithProxy.Prepend(step); } , (step)=> { _pipelineWithProxy.Append(step); } ); + CustomInit(); + } + + /// Creates the module instance. + private Module() + { + // constructor + ClientAPI = new Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient(); + _handler.Proxy = _webProxy; + _pipeline = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline(new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpClientFactory(new global::System.Net.Http.HttpClient())); + _pipelineWithProxy = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline(new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpClientFactory(new global::System.Net.Http.HttpClient(_handler))); + } + + /// The HTTP Proxy to use. + /// The HTTP Proxy Credentials + /// True if the proxy should use default credentials + public void SetProxyConfiguration(global::System.Uri proxy, global::System.Management.Automation.PSCredential proxyCredential, bool proxyUseDefaultCredentials) + { + _useProxy = proxy != null; + if (proxy == null) + { + return; + } + // set the proxy configuration + _webProxy.Address = proxy; + _webProxy.BypassProxyOnLocal = false; + if (proxyUseDefaultCredentials) + { + _webProxy.Credentials = null; + _webProxy.UseDefaultCredentials = true; + } + else + { + _webProxy.UseDefaultCredentials = false; + _webProxy.Credentials = proxyCredential ?.GetNetworkCredential(); + } + } + + /// Called to dispatch events to the common module listener + /// The ID of the event + /// The cancellation token for the event + /// A delegate to get the detailed event data + /// The callback for the event dispatcher + /// The from the cmdlet + /// the cmdlet's parameterset name. + /// the cmdlet's correlation id. + /// the cmdlet's process record correlation id. + /// the exception that is being thrown (if available) + /// + /// A that will be complete when handling of the event is completed. + /// + public async global::System.Threading.Tasks.Task Signal(string id, global::System.Threading.CancellationToken token, global::System.Func getEventData, SignalDelegate signal, global::System.Management.Automation.InvocationInfo invocationInfo, string parameterSetName, string correlationId, string processRecordId, global::System.Exception exception) + { + using( NoSynchronizationContext ) + { + await EventListener?.Invoke(id,token,getEventData, signal, invocationInfo, parameterSetName, correlationId,processRecordId,exception); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/BillingManagementClient.cs b/swaggerci/billing/generated/api/BillingManagementClient.cs new file mode 100644 index 000000000000..4465df9ee75a --- /dev/null +++ b/swaggerci/billing/generated/api/BillingManagementClient.cs @@ -0,0 +1,14248 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// + /// Low-level API implementation for the BillingManagementClient service. + /// Billing client provides access to billing resources for Azure subscriptions. + /// + public partial class BillingManagementClient + { + + /// + /// Validates an address. Use the operation to validate an address before using it as soldTo or a billTo address. + /// + /// Address details. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task AddressValidate(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/validateAddress" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.AddressValidate_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Validates an address. Use the operation to validate an address before using it as soldTo or a billTo address. + /// + /// + /// Address details. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task AddressValidateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/validateAddress$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/validateAddress'"); + } + + // replace URI parameters with values from identity + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/validateAddress" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.AddressValidate_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task AddressValidate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ValidateAddressResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// Address details. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task AddressValidate_Validate(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails body, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// Gets an agreement by ID. + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies an agreement. + /// May be used to expand the participants. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task AgreementsGet(string billingAccountName, string agreementName, string Expand, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/agreements/" + + global::System.Uri.EscapeDataString(agreementName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + (string.IsNullOrEmpty(Expand) ? global::System.String.Empty : "$expand=" + global::System.Uri.EscapeDataString(Expand)) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.AgreementsGet_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Gets an agreement by ID. + /// + /// May be used to expand the participants. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task AgreementsGetViaIdentity(global::System.String viaIdentity, string Expand, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/agreements/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/agreements/{agreementName}'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var agreementName = _match.Groups["agreementName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/agreements/" + + agreementName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + (string.IsNullOrEmpty(Expand) ? global::System.String.Empty : "$expand=" + global::System.Uri.EscapeDataString(Expand)) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.AgreementsGet_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task AgreementsGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Agreement.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies an agreement. + /// May be used to expand the participants. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task AgreementsGet_Validate(string billingAccountName, string agreementName, string Expand, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(agreementName),agreementName); + await eventListener.AssertNotNull(nameof(Expand),Expand); + } + } + + /// Lists the agreements for a billing account. + /// The ID that uniquely identifies a billing account. + /// May be used to expand the participants. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task AgreementsListByBillingAccount(string billingAccountName, string Expand, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/agreements" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + (string.IsNullOrEmpty(Expand) ? global::System.String.Empty : "$expand=" + global::System.Uri.EscapeDataString(Expand)) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.AgreementsListByBillingAccount_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Lists the agreements for a billing account. + /// + /// May be used to expand the participants. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task AgreementsListByBillingAccountViaIdentity(global::System.String viaIdentity, string Expand, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/agreements$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/agreements'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/agreements" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + (string.IsNullOrEmpty(Expand) ? global::System.String.Empty : "$expand=" + global::System.Uri.EscapeDataString(Expand)) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.AgreementsListByBillingAccount_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task AgreementsListByBillingAccount_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AgreementListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will + /// get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// May be used to expand the participants. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task AgreementsListByBillingAccount_Validate(string billingAccountName, string Expand, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(Expand),Expand); + } + } + + /// + /// The available credit balance for a billing profile. This is the balance that can be used for pay now to settle due or + /// past due invoices. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task AvailableBalancesGet(string billingAccountName, string billingProfileName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingProfiles/" + + global::System.Uri.EscapeDataString(billingProfileName) + + "/availableBalance/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.AvailableBalancesGet_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// The available credit balance for a billing profile. This is the balance that can be used for pay now to settle due or + /// past due invoices. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task AvailableBalancesGetViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingProfiles/(?[^/]+)/availableBalance/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/availableBalance/default'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var billingProfileName = _match.Groups["billingProfileName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingProfiles/" + + billingProfileName + + "/availableBalance/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.AvailableBalancesGet_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task AvailableBalancesGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AvailableBalance.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task AvailableBalancesGet_Validate(string billingAccountName, string billingProfileName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(billingProfileName),billingProfileName); + } + } + + /// Gets a billing account by its ID. + /// The ID that uniquely identifies a billing account. + /// May be used to expand the soldTo, invoice sections and billing profiles. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingAccountsGet(string billingAccountName, string Expand, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + (string.IsNullOrEmpty(Expand) ? global::System.String.Empty : "$expand=" + global::System.Uri.EscapeDataString(Expand)) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingAccountsGet_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Gets a billing account by its ID. + /// + /// May be used to expand the soldTo, invoice sections and billing profiles. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingAccountsGetViaIdentity(global::System.String viaIdentity, string Expand, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + (string.IsNullOrEmpty(Expand) ? global::System.String.Empty : "$expand=" + global::System.Uri.EscapeDataString(Expand)) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingAccountsGet_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingAccountsGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingAccount.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID that uniquely identifies a billing account. + /// May be used to expand the soldTo, invoice sections and billing profiles. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingAccountsGet_Validate(string billingAccountName, string Expand, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(Expand),Expand); + } + } + + /// Lists the billing accounts that a user has access to. + /// May be used to expand the soldTo, invoice sections and billing profiles. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingAccountsList(string Expand, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + (string.IsNullOrEmpty(Expand) ? global::System.String.Empty : "$expand=" + global::System.Uri.EscapeDataString(Expand)) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingAccountsList_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists the invoice sections for which the user has permission to create Azure subscriptions. The operation is supported + /// only for billing accounts with agreement type Microsoft Customer Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingAccountsListInvoiceSectionsByCreateSubscriptionPermission(string billingAccountName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/listInvoiceSectionsWithCreateSubscriptionPermission" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingAccountsListInvoiceSectionsByCreateSubscriptionPermission_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists the invoice sections for which the user has permission to create Azure subscriptions. The operation is supported + /// only for billing accounts with agreement type Microsoft Customer Agreement. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingAccountsListInvoiceSectionsByCreateSubscriptionPermissionViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/listInvoiceSectionsWithCreateSubscriptionPermission$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/listInvoiceSectionsWithCreateSubscriptionPermission'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/listInvoiceSectionsWithCreateSubscriptionPermission" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingAccountsListInvoiceSectionsByCreateSubscriptionPermission_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingAccountsListInvoiceSectionsByCreateSubscriptionPermission_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionListWithCreateSubPermissionResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this + /// like the actual call, but you will get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingAccountsListInvoiceSectionsByCreateSubscriptionPermission_Validate(string billingAccountName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + } + } + + /// Lists the billing accounts that a user has access to. + /// + /// May be used to expand the soldTo, invoice sections and billing profiles. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingAccountsListViaIdentity(global::System.String viaIdentity, string Expand, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts'"); + } + + // replace URI parameters with values from identity + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + (string.IsNullOrEmpty(Expand) ? global::System.String.Empty : "$expand=" + global::System.Uri.EscapeDataString(Expand)) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingAccountsList_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingAccountsList_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingAccountListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// May be used to expand the soldTo, invoice sections and billing profiles. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingAccountsList_Validate(string Expand, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(Expand),Expand); + } + } + + /// + /// Updates the properties of a billing account. Currently, displayName and address can be updated. The operation is supported + /// only for billing accounts with agreement type Microsoft Customer Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// Request parameters that are provided to the update billing account operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingAccountsUpdate(string billingAccountName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequest body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingAccountsUpdate_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Updates the properties of a billing account. Currently, displayName and address can be updated. The operation is supported + /// only for billing accounts with agreement type Microsoft Customer Agreement. + /// + /// + /// Request parameters that are provided to the update billing account operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingAccountsUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequest body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingAccountsUpdate_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingAccountsUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: azure-async-operation + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + + // get the delay before polling. (default to 30 seconds if not present) + int delay = (int)(_response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.DelayBeforePolling, $"Delaying {delay} seconds before polling.", _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // start the delay timer (we'll await later...) + var waiting = global::System.Threading.Tasks.Task.Delay(delay * 1000, eventListener.Token ); + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + await waiting; + + // check for cancellation + if( eventListener.Token.IsCancellationRequested ) { return; } + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingAccount.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID that uniquely identifies a billing account. + /// Request parameters that are provided to the update billing account operation. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingAccountsUpdate_Validate(string billingAccountName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequest body, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// + /// Gets a named billing period. This is only supported for Azure Web-Direct subscriptions. Other subscription types which + /// were not purchased directly through the Azure web portal are not supported through this preview API. + /// + /// The ID that uniquely identifies an Azure subscription. + /// The name of a BillingPeriod resource. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingPeriodsGet(string subscriptionId, string billingPeriodName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2018-03-01-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/providers/Microsoft.Billing/billingPeriods/" + + global::System.Uri.EscapeDataString(billingPeriodName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingPeriodsGet_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Gets a named billing period. This is only supported for Azure Web-Direct subscriptions. Other subscription types which + /// were not purchased directly through the Azure web portal are not supported through this preview API. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingPeriodsGetViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2018-03-01-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.Billing/billingPeriods/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var billingPeriodName = _match.Groups["billingPeriodName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/providers/Microsoft.Billing/billingPeriods/" + + billingPeriodName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingPeriodsGet_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingPeriodsGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.BillingPeriod.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID that uniquely identifies an Azure subscription. + /// The name of a BillingPeriod resource. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingPeriodsGet_Validate(string subscriptionId, string billingPeriodName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertNotNull(nameof(billingPeriodName),billingPeriodName); + } + } + + /// + /// Lists the available billing periods for a subscription in reverse chronological order. This is only supported for Azure + /// Web-Direct subscriptions. Other subscription types which were not purchased directly through the Azure web portal are + /// not supported through this preview API. + /// + /// The ID that uniquely identifies an Azure subscription. + /// May be used to filter billing periods by billingPeriodEndDate. The filter supports 'eq', 'lt', 'gt', + /// 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. + /// Skiptoken is only used if a previous operation returned a partial result. If a previous response + /// contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting + /// point to use for subsequent calls. + /// May be used to limit the number of results to the most recent N billing periods. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingPeriodsList(string subscriptionId, string Filter, string Skiptoken, int? Top, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2018-03-01-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/providers/Microsoft.Billing/billingPeriods" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + (string.IsNullOrEmpty(Filter) ? global::System.String.Empty : "$filter=" + global::System.Uri.EscapeDataString(Filter)) + + "&" + + (string.IsNullOrEmpty(Skiptoken) ? global::System.String.Empty : "$skiptoken=" + global::System.Uri.EscapeDataString(Skiptoken)) + + "&" + + (null == Top ? global::System.String.Empty : "$top=" + global::System.Uri.EscapeDataString(Top.ToString())) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingPeriodsList_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists the available billing periods for a subscription in reverse chronological order. This is only supported for Azure + /// Web-Direct subscriptions. Other subscription types which were not purchased directly through the Azure web portal are + /// not supported through this preview API. + /// + /// + /// May be used to filter billing periods by billingPeriodEndDate. The filter supports 'eq', 'lt', 'gt', + /// 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. + /// Skiptoken is only used if a previous operation returned a partial result. If a previous response + /// contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting + /// point to use for subsequent calls. + /// May be used to limit the number of results to the most recent N billing periods. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingPeriodsListViaIdentity(global::System.String viaIdentity, string Filter, string Skiptoken, int? Top, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2018-03-01-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.Billing/billingPeriods$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/providers/Microsoft.Billing/billingPeriods" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + (string.IsNullOrEmpty(Filter) ? global::System.String.Empty : "$filter=" + global::System.Uri.EscapeDataString(Filter)) + + "&" + + (string.IsNullOrEmpty(Skiptoken) ? global::System.String.Empty : "$skiptoken=" + global::System.Uri.EscapeDataString(Skiptoken)) + + "&" + + (null == Top ? global::System.String.Empty : "$top=" + global::System.Uri.EscapeDataString(Top.ToString())) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingPeriodsList_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingPeriodsList_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.BillingPeriodsListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID that uniquely identifies an Azure subscription. + /// May be used to filter billing periods by billingPeriodEndDate. The filter supports 'eq', 'lt', 'gt', + /// 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. + /// Skiptoken is only used if a previous operation returned a partial result. If a previous response + /// contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting + /// point to use for subsequent calls. + /// May be used to limit the number of results to the most recent N billing periods. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingPeriodsList_Validate(string subscriptionId, string Filter, string Skiptoken, int? Top, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertNotNull(nameof(Filter),Filter); + await eventListener.AssertNotNull(nameof(Skiptoken),Skiptoken); + await eventListener.AssertIsGreaterThanOrEqual(nameof(Top),Top,1); + await eventListener.AssertIsLessThanOrEqual(nameof(Top),Top,100); + } + } + + /// Lists the billing permissions the caller has on a billing account. + /// The ID that uniquely identifies a billing account. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingPermissionsListByBillingAccount(string billingAccountName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingPermissions" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingPermissionsListByBillingAccount_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Lists the billing permissions the caller has on a billing account. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingPermissionsListByBillingAccountViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingPermissions$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingPermissions'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingPermissions" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingPermissionsListByBillingAccount_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingPermissionsListByBillingAccount_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingPermissionsListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but + /// you will get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingPermissionsListByBillingAccount_Validate(string billingAccountName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + } + } + + /// Lists the billing permissions the caller has on a billing profile. + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingPermissionsListByBillingProfile(string billingAccountName, string billingProfileName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingProfiles/" + + global::System.Uri.EscapeDataString(billingProfileName) + + "/billingPermissions" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingPermissionsListByBillingProfile_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Lists the billing permissions the caller has on a billing profile. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingPermissionsListByBillingProfileViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingProfiles/(?[^/]+)/billingPermissions$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingPermissions'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var billingProfileName = _match.Groups["billingProfileName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingProfiles/" + + billingProfileName + + "/billingPermissions" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingPermissionsListByBillingProfile_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingPermissionsListByBillingProfile_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingPermissionsListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but + /// you will get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingPermissionsListByBillingProfile_Validate(string billingAccountName, string billingProfileName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(billingProfileName),billingProfileName); + } + } + + /// Lists the billing permissions the caller has for a customer. + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a customer. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingPermissionsListByCustomer(string billingAccountName, string customerName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/customers/" + + global::System.Uri.EscapeDataString(customerName) + + "/billingPermissions" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingPermissionsListByCustomer_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Lists the billing permissions the caller has for a customer. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingPermissionsListByCustomerViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/customers/(?[^/]+)/billingPermissions$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}/billingPermissions'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var customerName = _match.Groups["customerName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/customers/" + + customerName + + "/billingPermissions" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingPermissionsListByCustomer_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingPermissionsListByCustomer_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingPermissionsListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you + /// will get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a customer. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingPermissionsListByCustomer_Validate(string billingAccountName, string customerName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(customerName),customerName); + } + } + + /// Lists the billing permissions the caller has on an invoice section. + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// The ID that uniquely identifies an invoice section. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingPermissionsListByInvoiceSections(string billingAccountName, string billingProfileName, string invoiceSectionName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingProfiles/" + + global::System.Uri.EscapeDataString(billingProfileName) + + "/invoiceSections/" + + global::System.Uri.EscapeDataString(invoiceSectionName) + + "/billingPermissions" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingPermissionsListByInvoiceSections_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Lists the billing permissions the caller has on an invoice section. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingPermissionsListByInvoiceSectionsViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingProfiles/(?[^/]+)/invoiceSections/(?[^/]+)/billingPermissions$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingPermissions'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var billingProfileName = _match.Groups["billingProfileName"].Value; + var invoiceSectionName = _match.Groups["invoiceSectionName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingProfiles/" + + billingProfileName + + "/invoiceSections/" + + invoiceSectionName + + "/billingPermissions" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingPermissionsListByInvoiceSections_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingPermissionsListByInvoiceSections_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingPermissionsListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but + /// you will get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// The ID that uniquely identifies an invoice section. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingPermissionsListByInvoiceSections_Validate(string billingAccountName, string billingProfileName, string invoiceSectionName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(billingProfileName),billingProfileName); + await eventListener.AssertNotNull(nameof(invoiceSectionName),invoiceSectionName); + } + } + + /// + /// Creates or updates a billing profile. The operation is supported for billing accounts with agreement type Microsoft Customer + /// Agreement or Microsoft Partner Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// The new or updated billing profile. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingProfilesCreateOrUpdate(string billingAccountName, string billingProfileName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingProfiles/" + + global::System.Uri.EscapeDataString(billingProfileName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingProfilesCreateOrUpdate_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Creates or updates a billing profile. The operation is supported for billing accounts with agreement type Microsoft Customer + /// Agreement or Microsoft Partner Agreement. + /// + /// + /// The new or updated billing profile. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingProfilesCreateOrUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingProfiles/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var billingProfileName = _match.Groups["billingProfileName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingProfiles/" + + billingProfileName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingProfilesCreateOrUpdate_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingProfilesCreateOrUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: default + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + + // get the delay before polling. (default to 30 seconds if not present) + int delay = (int)(_response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.DelayBeforePolling, $"Delaying {delay} seconds before polling.", _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // start the delay timer (we'll await later...) + var waiting = global::System.Threading.Tasks.Task.Delay(delay * 1000, eventListener.Token ); + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + await waiting; + + // check for cancellation + if( eventListener.Token.IsCancellationRequested ) { return; } + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + if (!string.IsNullOrWhiteSpace(_originalUri)) + { + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfile.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will + /// get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// The new or updated billing profile. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingProfilesCreateOrUpdate_Validate(string billingAccountName, string billingProfileName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile body, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(billingProfileName),billingProfileName); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// + /// Gets a billing profile by its ID. The operation is supported for billing accounts with agreement type Microsoft Customer + /// Agreement or Microsoft Partner Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// May be used to expand the invoice sections. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingProfilesGet(string billingAccountName, string billingProfileName, string Expand, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingProfiles/" + + global::System.Uri.EscapeDataString(billingProfileName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + (string.IsNullOrEmpty(Expand) ? global::System.String.Empty : "$expand=" + global::System.Uri.EscapeDataString(Expand)) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingProfilesGet_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Gets a billing profile by its ID. The operation is supported for billing accounts with agreement type Microsoft Customer + /// Agreement or Microsoft Partner Agreement. + /// + /// + /// May be used to expand the invoice sections. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingProfilesGetViaIdentity(global::System.String viaIdentity, string Expand, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingProfiles/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var billingProfileName = _match.Groups["billingProfileName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingProfiles/" + + billingProfileName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + (string.IsNullOrEmpty(Expand) ? global::System.String.Empty : "$expand=" + global::System.Uri.EscapeDataString(Expand)) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingProfilesGet_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingProfilesGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfile.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// May be used to expand the invoice sections. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingProfilesGet_Validate(string billingAccountName, string billingProfileName, string Expand, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(billingProfileName),billingProfileName); + await eventListener.AssertNotNull(nameof(Expand),Expand); + } + } + + /// + /// Lists the billing profiles that a user has access to. The operation is supported for billing accounts with agreement type + /// Microsoft Customer Agreement or Microsoft Partner Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// May be used to expand the invoice sections. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingProfilesListByBillingAccount(string billingAccountName, string Expand, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingProfiles" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + (string.IsNullOrEmpty(Expand) ? global::System.String.Empty : "$expand=" + global::System.Uri.EscapeDataString(Expand)) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingProfilesListByBillingAccount_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists the billing profiles that a user has access to. The operation is supported for billing accounts with agreement type + /// Microsoft Customer Agreement or Microsoft Partner Agreement. + /// + /// + /// May be used to expand the invoice sections. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingProfilesListByBillingAccountViaIdentity(global::System.String viaIdentity, string Expand, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingProfiles$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingProfiles" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + (string.IsNullOrEmpty(Expand) ? global::System.String.Empty : "$expand=" + global::System.Uri.EscapeDataString(Expand)) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingProfilesListByBillingAccount_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingProfilesListByBillingAccount_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfileListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you + /// will get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// May be used to expand the invoice sections. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingProfilesListByBillingAccount_Validate(string billingAccountName, string Expand, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(Expand),Expand); + } + } + + /// + /// Get the billing properties for a subscription. This operation is not supported for billing accounts with agreement type + /// Enterprise Agreement. + /// + /// The ID that uniquely identifies an Azure subscription. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingPropertyGet(string subscriptionId, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/providers/Microsoft.Billing/billingProperty/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingPropertyGet_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Get the billing properties for a subscription. This operation is not supported for billing accounts with agreement type + /// Enterprise Agreement. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingPropertyGetViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.Billing/billingProperty/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingProperty/default'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/providers/Microsoft.Billing/billingProperty/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingPropertyGet_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingPropertyGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProperty.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID that uniquely identifies an Azure subscription. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingPropertyGet_Validate(string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + } + } + + /// + /// Updates the billing property of a subscription. Currently, cost center can be updated. The operation is supported only + /// for billing accounts with agreement type Microsoft Customer Agreement. + /// + /// The ID that uniquely identifies an Azure subscription. + /// Request parameters that are provided to the update billing property operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingPropertyUpdate(string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProperty body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/providers/Microsoft.Billing/billingProperty/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingPropertyUpdate_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Updates the billing property of a subscription. Currently, cost center can be updated. The operation is supported only + /// for billing accounts with agreement type Microsoft Customer Agreement. + /// + /// + /// Request parameters that are provided to the update billing property operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingPropertyUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProperty body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/subscriptions/(?[^/]+)/providers/Microsoft.Billing/billingProperty/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingProperty/default'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/subscriptions/" + + subscriptionId + + "/providers/Microsoft.Billing/billingProperty/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingPropertyUpdate_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingPropertyUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProperty.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID that uniquely identifies an Azure subscription. + /// Request parameters that are provided to the update billing property operation. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingPropertyUpdate_Validate(string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProperty body, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// + /// Deletes a role assignment for the caller on a billing account. The operation is supported for billing accounts with agreement + /// type Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a role assignment. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingRoleAssignmentsDeleteByBillingAccount(string billingAccountName, string billingRoleAssignmentName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingRoleAssignments/" + + global::System.Uri.EscapeDataString(billingRoleAssignmentName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Delete, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingRoleAssignmentsDeleteByBillingAccount_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Deletes a role assignment for the caller on a billing account. The operation is supported for billing accounts with agreement + /// type Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingRoleAssignmentsDeleteByBillingAccountViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingRoleAssignments/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleAssignments/{billingRoleAssignmentName}'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var billingRoleAssignmentName = _match.Groups["billingRoleAssignmentName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingRoleAssignments/" + + billingRoleAssignmentName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Delete, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingRoleAssignmentsDeleteByBillingAccount_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingRoleAssignmentsDeleteByBillingAccount_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleAssignment.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, + /// but you will get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a role assignment. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingRoleAssignmentsDeleteByBillingAccount_Validate(string billingAccountName, string billingRoleAssignmentName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(billingRoleAssignmentName),billingRoleAssignmentName); + } + } + + /// + /// Deletes a role assignment for the caller on a billing profile. The operation is supported for billing accounts with agreement + /// type Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// The ID that uniquely identifies a role assignment. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingRoleAssignmentsDeleteByBillingProfile(string billingAccountName, string billingProfileName, string billingRoleAssignmentName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingProfiles/" + + global::System.Uri.EscapeDataString(billingProfileName) + + "/billingRoleAssignments/" + + global::System.Uri.EscapeDataString(billingRoleAssignmentName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Delete, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingRoleAssignmentsDeleteByBillingProfile_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Deletes a role assignment for the caller on a billing profile. The operation is supported for billing accounts with agreement + /// type Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingRoleAssignmentsDeleteByBillingProfileViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingProfiles/(?[^/]+)/billingRoleAssignments/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleAssignments/{billingRoleAssignmentName}'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var billingProfileName = _match.Groups["billingProfileName"].Value; + var billingRoleAssignmentName = _match.Groups["billingRoleAssignmentName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingProfiles/" + + billingProfileName + + "/billingRoleAssignments/" + + billingRoleAssignmentName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Delete, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingRoleAssignmentsDeleteByBillingProfile_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingRoleAssignmentsDeleteByBillingProfile_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleAssignment.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, + /// but you will get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// The ID that uniquely identifies a role assignment. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingRoleAssignmentsDeleteByBillingProfile_Validate(string billingAccountName, string billingProfileName, string billingRoleAssignmentName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(billingProfileName),billingProfileName); + await eventListener.AssertNotNull(nameof(billingRoleAssignmentName),billingRoleAssignmentName); + } + } + + /// + /// Deletes a role assignment for the caller on an invoice section. The operation is supported for billing accounts with agreement + /// type Microsoft Customer Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// The ID that uniquely identifies an invoice section. + /// The ID that uniquely identifies a role assignment. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingRoleAssignmentsDeleteByInvoiceSection(string billingAccountName, string billingProfileName, string invoiceSectionName, string billingRoleAssignmentName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingProfiles/" + + global::System.Uri.EscapeDataString(billingProfileName) + + "/invoiceSections/" + + global::System.Uri.EscapeDataString(invoiceSectionName) + + "/billingRoleAssignments/" + + global::System.Uri.EscapeDataString(billingRoleAssignmentName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Delete, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingRoleAssignmentsDeleteByInvoiceSection_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Deletes a role assignment for the caller on an invoice section. The operation is supported for billing accounts with agreement + /// type Microsoft Customer Agreement. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingRoleAssignmentsDeleteByInvoiceSectionViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingProfiles/(?[^/]+)/invoiceSections/(?[^/]+)/billingRoleAssignments/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleAssignments/{billingRoleAssignmentName}'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var billingProfileName = _match.Groups["billingProfileName"].Value; + var invoiceSectionName = _match.Groups["invoiceSectionName"].Value; + var billingRoleAssignmentName = _match.Groups["billingRoleAssignmentName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingProfiles/" + + billingProfileName + + "/invoiceSections/" + + invoiceSectionName + + "/billingRoleAssignments/" + + billingRoleAssignmentName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Delete, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingRoleAssignmentsDeleteByInvoiceSection_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingRoleAssignmentsDeleteByInvoiceSection_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleAssignment.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, + /// but you will get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// The ID that uniquely identifies an invoice section. + /// The ID that uniquely identifies a role assignment. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingRoleAssignmentsDeleteByInvoiceSection_Validate(string billingAccountName, string billingProfileName, string invoiceSectionName, string billingRoleAssignmentName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(billingProfileName),billingProfileName); + await eventListener.AssertNotNull(nameof(invoiceSectionName),invoiceSectionName); + await eventListener.AssertNotNull(nameof(billingRoleAssignmentName),billingRoleAssignmentName); + } + } + + /// + /// Gets a role assignment for the caller on a billing account. The operation is supported for billing accounts with agreement + /// type Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a role assignment. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingRoleAssignmentsGetByBillingAccount(string billingAccountName, string billingRoleAssignmentName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingRoleAssignments/" + + global::System.Uri.EscapeDataString(billingRoleAssignmentName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingRoleAssignmentsGetByBillingAccount_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Gets a role assignment for the caller on a billing account. The operation is supported for billing accounts with agreement + /// type Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingRoleAssignmentsGetByBillingAccountViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingRoleAssignments/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleAssignments/{billingRoleAssignmentName}'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var billingRoleAssignmentName = _match.Groups["billingRoleAssignmentName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingRoleAssignments/" + + billingRoleAssignmentName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingRoleAssignmentsGetByBillingAccount_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingRoleAssignmentsGetByBillingAccount_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleAssignment.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, + /// but you will get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a role assignment. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingRoleAssignmentsGetByBillingAccount_Validate(string billingAccountName, string billingRoleAssignmentName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(billingRoleAssignmentName),billingRoleAssignmentName); + } + } + + /// + /// Gets a role assignment for the caller on a billing profile. The operation is supported for billing accounts with agreement + /// type Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// The ID that uniquely identifies a role assignment. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingRoleAssignmentsGetByBillingProfile(string billingAccountName, string billingProfileName, string billingRoleAssignmentName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingProfiles/" + + global::System.Uri.EscapeDataString(billingProfileName) + + "/billingRoleAssignments/" + + global::System.Uri.EscapeDataString(billingRoleAssignmentName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingRoleAssignmentsGetByBillingProfile_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Gets a role assignment for the caller on a billing profile. The operation is supported for billing accounts with agreement + /// type Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingRoleAssignmentsGetByBillingProfileViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingProfiles/(?[^/]+)/billingRoleAssignments/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleAssignments/{billingRoleAssignmentName}'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var billingProfileName = _match.Groups["billingProfileName"].Value; + var billingRoleAssignmentName = _match.Groups["billingRoleAssignmentName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingProfiles/" + + billingProfileName + + "/billingRoleAssignments/" + + billingRoleAssignmentName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingRoleAssignmentsGetByBillingProfile_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingRoleAssignmentsGetByBillingProfile_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleAssignment.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, + /// but you will get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// The ID that uniquely identifies a role assignment. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingRoleAssignmentsGetByBillingProfile_Validate(string billingAccountName, string billingProfileName, string billingRoleAssignmentName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(billingProfileName),billingProfileName); + await eventListener.AssertNotNull(nameof(billingRoleAssignmentName),billingRoleAssignmentName); + } + } + + /// + /// Gets a role assignment for the caller on an invoice section. The operation is supported for billing accounts with agreement + /// type Microsoft Customer Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// The ID that uniquely identifies an invoice section. + /// The ID that uniquely identifies a role assignment. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingRoleAssignmentsGetByInvoiceSection(string billingAccountName, string billingProfileName, string invoiceSectionName, string billingRoleAssignmentName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingProfiles/" + + global::System.Uri.EscapeDataString(billingProfileName) + + "/invoiceSections/" + + global::System.Uri.EscapeDataString(invoiceSectionName) + + "/billingRoleAssignments/" + + global::System.Uri.EscapeDataString(billingRoleAssignmentName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingRoleAssignmentsGetByInvoiceSection_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Gets a role assignment for the caller on an invoice section. The operation is supported for billing accounts with agreement + /// type Microsoft Customer Agreement. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingRoleAssignmentsGetByInvoiceSectionViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingProfiles/(?[^/]+)/invoiceSections/(?[^/]+)/billingRoleAssignments/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleAssignments/{billingRoleAssignmentName}'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var billingProfileName = _match.Groups["billingProfileName"].Value; + var invoiceSectionName = _match.Groups["invoiceSectionName"].Value; + var billingRoleAssignmentName = _match.Groups["billingRoleAssignmentName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingProfiles/" + + billingProfileName + + "/invoiceSections/" + + invoiceSectionName + + "/billingRoleAssignments/" + + billingRoleAssignmentName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingRoleAssignmentsGetByInvoiceSection_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingRoleAssignmentsGetByInvoiceSection_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleAssignment.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, + /// but you will get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// The ID that uniquely identifies an invoice section. + /// The ID that uniquely identifies a role assignment. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingRoleAssignmentsGetByInvoiceSection_Validate(string billingAccountName, string billingProfileName, string invoiceSectionName, string billingRoleAssignmentName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(billingProfileName),billingProfileName); + await eventListener.AssertNotNull(nameof(invoiceSectionName),invoiceSectionName); + await eventListener.AssertNotNull(nameof(billingRoleAssignmentName),billingRoleAssignmentName); + } + } + + /// + /// Lists the role assignments for the caller on a billing account. The operation is supported for billing accounts with agreement + /// type Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingRoleAssignmentsListByBillingAccount(string billingAccountName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingRoleAssignments" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingRoleAssignmentsListByBillingAccount_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists the role assignments for the caller on a billing account. The operation is supported for billing accounts with agreement + /// type Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingRoleAssignmentsListByBillingAccountViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingRoleAssignments$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleAssignments'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingRoleAssignments" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingRoleAssignmentsListByBillingAccount_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingRoleAssignmentsListByBillingAccount_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleAssignmentListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, + /// but you will get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingRoleAssignmentsListByBillingAccount_Validate(string billingAccountName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + } + } + + /// + /// Lists the role assignments for the caller on a billing profile. The operation is supported for billing accounts with agreement + /// type Microsoft Customer Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingRoleAssignmentsListByBillingProfile(string billingAccountName, string billingProfileName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingProfiles/" + + global::System.Uri.EscapeDataString(billingProfileName) + + "/billingRoleAssignments" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingRoleAssignmentsListByBillingProfile_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists the role assignments for the caller on a billing profile. The operation is supported for billing accounts with agreement + /// type Microsoft Customer Agreement. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingRoleAssignmentsListByBillingProfileViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingProfiles/(?[^/]+)/billingRoleAssignments$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleAssignments'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var billingProfileName = _match.Groups["billingProfileName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingProfiles/" + + billingProfileName + + "/billingRoleAssignments" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingRoleAssignmentsListByBillingProfile_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingRoleAssignmentsListByBillingProfile_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleAssignmentListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, + /// but you will get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingRoleAssignmentsListByBillingProfile_Validate(string billingAccountName, string billingProfileName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(billingProfileName),billingProfileName); + } + } + + /// + /// Lists the role assignments for the caller on an invoice section. The operation is supported for billing accounts with + /// agreement type Microsoft Customer Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// The ID that uniquely identifies an invoice section. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingRoleAssignmentsListByInvoiceSection(string billingAccountName, string billingProfileName, string invoiceSectionName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingProfiles/" + + global::System.Uri.EscapeDataString(billingProfileName) + + "/invoiceSections/" + + global::System.Uri.EscapeDataString(invoiceSectionName) + + "/billingRoleAssignments" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingRoleAssignmentsListByInvoiceSection_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists the role assignments for the caller on an invoice section. The operation is supported for billing accounts with + /// agreement type Microsoft Customer Agreement. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingRoleAssignmentsListByInvoiceSectionViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingProfiles/(?[^/]+)/invoiceSections/(?[^/]+)/billingRoleAssignments$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleAssignments'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var billingProfileName = _match.Groups["billingProfileName"].Value; + var invoiceSectionName = _match.Groups["invoiceSectionName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingProfiles/" + + billingProfileName + + "/invoiceSections/" + + invoiceSectionName + + "/billingRoleAssignments" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingRoleAssignmentsListByInvoiceSection_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingRoleAssignmentsListByInvoiceSection_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleAssignmentListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, + /// but you will get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// The ID that uniquely identifies an invoice section. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingRoleAssignmentsListByInvoiceSection_Validate(string billingAccountName, string billingProfileName, string invoiceSectionName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(billingProfileName),billingProfileName); + await eventListener.AssertNotNull(nameof(invoiceSectionName),invoiceSectionName); + } + } + + /// + /// Gets the definition for a role on a billing account. The operation is supported for billing accounts with agreement type + /// Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a role definition. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingRoleDefinitionsGetByBillingAccount(string billingAccountName, string billingRoleDefinitionName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingRoleDefinitions/" + + global::System.Uri.EscapeDataString(billingRoleDefinitionName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingRoleDefinitionsGetByBillingAccount_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Gets the definition for a role on a billing account. The operation is supported for billing accounts with agreement type + /// Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingRoleDefinitionsGetByBillingAccountViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingRoleDefinitions/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleDefinitions/{billingRoleDefinitionName}'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var billingRoleDefinitionName = _match.Groups["billingRoleDefinitionName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingRoleDefinitions/" + + billingRoleDefinitionName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingRoleDefinitionsGetByBillingAccount_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingRoleDefinitionsGetByBillingAccount_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleDefinition.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, + /// but you will get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a role definition. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingRoleDefinitionsGetByBillingAccount_Validate(string billingAccountName, string billingRoleDefinitionName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(billingRoleDefinitionName),billingRoleDefinitionName); + } + } + + /// + /// Gets the definition for a role on a billing profile. The operation is supported for billing accounts with agreement type + /// Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// The ID that uniquely identifies a role definition. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingRoleDefinitionsGetByBillingProfile(string billingAccountName, string billingProfileName, string billingRoleDefinitionName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingProfiles/" + + global::System.Uri.EscapeDataString(billingProfileName) + + "/billingRoleDefinitions/" + + global::System.Uri.EscapeDataString(billingRoleDefinitionName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingRoleDefinitionsGetByBillingProfile_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Gets the definition for a role on a billing profile. The operation is supported for billing accounts with agreement type + /// Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingRoleDefinitionsGetByBillingProfileViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingProfiles/(?[^/]+)/billingRoleDefinitions/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleDefinitions/{billingRoleDefinitionName}'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var billingProfileName = _match.Groups["billingProfileName"].Value; + var billingRoleDefinitionName = _match.Groups["billingRoleDefinitionName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingProfiles/" + + billingProfileName + + "/billingRoleDefinitions/" + + billingRoleDefinitionName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingRoleDefinitionsGetByBillingProfile_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingRoleDefinitionsGetByBillingProfile_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleDefinition.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, + /// but you will get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// The ID that uniquely identifies a role definition. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingRoleDefinitionsGetByBillingProfile_Validate(string billingAccountName, string billingProfileName, string billingRoleDefinitionName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(billingProfileName),billingProfileName); + await eventListener.AssertNotNull(nameof(billingRoleDefinitionName),billingRoleDefinitionName); + } + } + + /// + /// Gets the definition for a role on an invoice section. The operation is supported only for billing accounts with agreement + /// type Microsoft Customer Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// The ID that uniquely identifies an invoice section. + /// The ID that uniquely identifies a role definition. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingRoleDefinitionsGetByInvoiceSection(string billingAccountName, string billingProfileName, string invoiceSectionName, string billingRoleDefinitionName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingProfiles/" + + global::System.Uri.EscapeDataString(billingProfileName) + + "/invoiceSections/" + + global::System.Uri.EscapeDataString(invoiceSectionName) + + "/billingRoleDefinitions/" + + global::System.Uri.EscapeDataString(billingRoleDefinitionName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingRoleDefinitionsGetByInvoiceSection_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Gets the definition for a role on an invoice section. The operation is supported only for billing accounts with agreement + /// type Microsoft Customer Agreement. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingRoleDefinitionsGetByInvoiceSectionViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingProfiles/(?[^/]+)/invoiceSections/(?[^/]+)/billingRoleDefinitions/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleDefinitions/{billingRoleDefinitionName}'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var billingProfileName = _match.Groups["billingProfileName"].Value; + var invoiceSectionName = _match.Groups["invoiceSectionName"].Value; + var billingRoleDefinitionName = _match.Groups["billingRoleDefinitionName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingProfiles/" + + billingProfileName + + "/invoiceSections/" + + invoiceSectionName + + "/billingRoleDefinitions/" + + billingRoleDefinitionName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingRoleDefinitionsGetByInvoiceSection_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingRoleDefinitionsGetByInvoiceSection_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleDefinition.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, + /// but you will get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// The ID that uniquely identifies an invoice section. + /// The ID that uniquely identifies a role definition. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingRoleDefinitionsGetByInvoiceSection_Validate(string billingAccountName, string billingProfileName, string invoiceSectionName, string billingRoleDefinitionName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(billingProfileName),billingProfileName); + await eventListener.AssertNotNull(nameof(invoiceSectionName),invoiceSectionName); + await eventListener.AssertNotNull(nameof(billingRoleDefinitionName),billingRoleDefinitionName); + } + } + + /// + /// Lists the role definitions for a billing account. The operation is supported for billing accounts with agreement type + /// Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingRoleDefinitionsListByBillingAccount(string billingAccountName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingRoleDefinitions" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingRoleDefinitionsListByBillingAccount_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists the role definitions for a billing account. The operation is supported for billing accounts with agreement type + /// Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingRoleDefinitionsListByBillingAccountViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingRoleDefinitions$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleDefinitions'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingRoleDefinitions" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingRoleDefinitionsListByBillingAccount_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingRoleDefinitionsListByBillingAccount_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleDefinitionListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, + /// but you will get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingRoleDefinitionsListByBillingAccount_Validate(string billingAccountName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + } + } + + /// + /// Lists the role definitions for a billing profile. The operation is supported for billing accounts with agreement type + /// Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingRoleDefinitionsListByBillingProfile(string billingAccountName, string billingProfileName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingProfiles/" + + global::System.Uri.EscapeDataString(billingProfileName) + + "/billingRoleDefinitions" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingRoleDefinitionsListByBillingProfile_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists the role definitions for a billing profile. The operation is supported for billing accounts with agreement type + /// Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingRoleDefinitionsListByBillingProfileViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingProfiles/(?[^/]+)/billingRoleDefinitions$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleDefinitions'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var billingProfileName = _match.Groups["billingProfileName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingProfiles/" + + billingProfileName + + "/billingRoleDefinitions" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingRoleDefinitionsListByBillingProfile_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingRoleDefinitionsListByBillingProfile_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleDefinitionListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, + /// but you will get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingRoleDefinitionsListByBillingProfile_Validate(string billingAccountName, string billingProfileName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(billingProfileName),billingProfileName); + } + } + + /// + /// Lists the role definitions for an invoice section. The operation is supported for billing accounts with agreement type + /// Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// The ID that uniquely identifies an invoice section. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingRoleDefinitionsListByInvoiceSection(string billingAccountName, string billingProfileName, string invoiceSectionName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingProfiles/" + + global::System.Uri.EscapeDataString(billingProfileName) + + "/invoiceSections/" + + global::System.Uri.EscapeDataString(invoiceSectionName) + + "/billingRoleDefinitions" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingRoleDefinitionsListByInvoiceSection_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists the role definitions for an invoice section. The operation is supported for billing accounts with agreement type + /// Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingRoleDefinitionsListByInvoiceSectionViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingProfiles/(?[^/]+)/invoiceSections/(?[^/]+)/billingRoleDefinitions$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleDefinitions'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var billingProfileName = _match.Groups["billingProfileName"].Value; + var invoiceSectionName = _match.Groups["invoiceSectionName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingProfiles/" + + billingProfileName + + "/invoiceSections/" + + invoiceSectionName + + "/billingRoleDefinitions" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingRoleDefinitionsListByInvoiceSection_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingRoleDefinitionsListByInvoiceSection_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleDefinitionListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, + /// but you will get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// The ID that uniquely identifies an invoice section. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingRoleDefinitionsListByInvoiceSection_Validate(string billingAccountName, string billingProfileName, string invoiceSectionName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(billingProfileName),billingProfileName); + await eventListener.AssertNotNull(nameof(invoiceSectionName),invoiceSectionName); + } + } + + /// + /// Gets a subscription by its ID. The operation is supported for billing accounts with agreement type Microsoft Customer + /// Agreement and Microsoft Partner Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies an Azure subscription. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingSubscriptionsGet(string billingAccountName, string subscriptionId, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingSubscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingSubscriptionsGet_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Gets a subscription by its ID. The operation is supported for billing accounts with agreement type Microsoft Customer + /// Agreement and Microsoft Partner Agreement. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingSubscriptionsGetViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingSubscriptions/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions/{subscriptionId}'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingSubscriptions/" + + subscriptionId + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingSubscriptionsGet_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingSubscriptionsGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingSubscription.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get + /// validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies an Azure subscription. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingSubscriptionsGet_Validate(string billingAccountName, string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + } + } + + /// + /// Lists the subscriptions for a billing account. The operation is supported for billing accounts with agreement type Microsoft + /// Customer Agreement or Microsoft Partner Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingSubscriptionsListByBillingAccount(string billingAccountName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingSubscriptions" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingSubscriptionsListByBillingAccount_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists the subscriptions for a billing account. The operation is supported for billing accounts with agreement type Microsoft + /// Customer Agreement or Microsoft Partner Agreement. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingSubscriptionsListByBillingAccountViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingSubscriptions$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingSubscriptions" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingSubscriptionsListByBillingAccount_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingSubscriptionsListByBillingAccount_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingSubscriptionsListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, + /// but you will get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingSubscriptionsListByBillingAccount_Validate(string billingAccountName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + } + } + + /// + /// Lists the subscriptions that are billed to a billing profile. The operation is supported for billing accounts with agreement + /// type Microsoft Customer Agreement or Microsoft Partner Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingSubscriptionsListByBillingProfile(string billingAccountName, string billingProfileName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingProfiles/" + + global::System.Uri.EscapeDataString(billingProfileName) + + "/billingSubscriptions" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingSubscriptionsListByBillingProfile_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists the subscriptions that are billed to a billing profile. The operation is supported for billing accounts with agreement + /// type Microsoft Customer Agreement or Microsoft Partner Agreement. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingSubscriptionsListByBillingProfileViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingProfiles/(?[^/]+)/billingSubscriptions$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingSubscriptions'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var billingProfileName = _match.Groups["billingProfileName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingProfiles/" + + billingProfileName + + "/billingSubscriptions" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingSubscriptionsListByBillingProfile_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingSubscriptionsListByBillingProfile_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingSubscriptionsListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, + /// but you will get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingSubscriptionsListByBillingProfile_Validate(string billingAccountName, string billingProfileName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(billingProfileName),billingProfileName); + } + } + + /// + /// Lists the subscriptions for a customer. The operation is supported only for billing accounts with agreement type Microsoft + /// Partner Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a customer. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingSubscriptionsListByCustomer(string billingAccountName, string customerName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/customers/" + + global::System.Uri.EscapeDataString(customerName) + + "/billingSubscriptions" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingSubscriptionsListByCustomer_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists the subscriptions for a customer. The operation is supported only for billing accounts with agreement type Microsoft + /// Partner Agreement. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingSubscriptionsListByCustomerViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/customers/(?[^/]+)/billingSubscriptions$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}/billingSubscriptions'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var customerName = _match.Groups["customerName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/customers/" + + customerName + + "/billingSubscriptions" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingSubscriptionsListByCustomer_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingSubscriptionsListByCustomer_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingSubscriptionsListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you + /// will get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a customer. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingSubscriptionsListByCustomer_Validate(string billingAccountName, string customerName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(customerName),customerName); + } + } + + /// + /// Lists the subscriptions that are billed to an invoice section. The operation is supported only for billing accounts with + /// agreement type Microsoft Customer Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// The ID that uniquely identifies an invoice section. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingSubscriptionsListByInvoiceSection(string billingAccountName, string billingProfileName, string invoiceSectionName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingProfiles/" + + global::System.Uri.EscapeDataString(billingProfileName) + + "/invoiceSections/" + + global::System.Uri.EscapeDataString(invoiceSectionName) + + "/billingSubscriptions" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingSubscriptionsListByInvoiceSection_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists the subscriptions that are billed to an invoice section. The operation is supported only for billing accounts with + /// agreement type Microsoft Customer Agreement. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingSubscriptionsListByInvoiceSectionViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingProfiles/(?[^/]+)/invoiceSections/(?[^/]+)/billingSubscriptions$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingSubscriptions'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var billingProfileName = _match.Groups["billingProfileName"].Value; + var invoiceSectionName = _match.Groups["invoiceSectionName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingProfiles/" + + billingProfileName + + "/invoiceSections/" + + invoiceSectionName + + "/billingSubscriptions" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingSubscriptionsListByInvoiceSection_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingSubscriptionsListByInvoiceSection_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingSubscriptionsListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, + /// but you will get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// The ID that uniquely identifies an invoice section. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingSubscriptionsListByInvoiceSection_Validate(string billingAccountName, string billingProfileName, string invoiceSectionName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(billingProfileName),billingProfileName); + await eventListener.AssertNotNull(nameof(invoiceSectionName),invoiceSectionName); + } + } + + /// + /// Moves a subscription's charges to a new invoice section. The new invoice section must belong to the same billing profile + /// as the existing invoice section. This operation is supported for billing accounts with agreement type Microsoft Customer + /// Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies an Azure subscription. + /// Request parameters that are provided to the move subscription operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingSubscriptionsMove(string billingAccountName, string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingSubscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/move" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingSubscriptionsMove_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Moves a subscription's charges to a new invoice section. The new invoice section must belong to the same billing profile + /// as the existing invoice section. This operation is supported for billing accounts with agreement type Microsoft Customer + /// Agreement. + /// + /// + /// Request parameters that are provided to the move subscription operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingSubscriptionsMoveViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingSubscriptions/(?[^/]+)/move$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions/{subscriptionId}/move'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingSubscriptions/" + + subscriptionId + + "/move" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingSubscriptionsMove_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingSubscriptionsMove_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: default + var _finalUri = _response.GetFirstHeader(@"Location"); + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + + // get the delay before polling. (default to 30 seconds if not present) + int delay = (int)(_response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.DelayBeforePolling, $"Delaying {delay} seconds before polling.", _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // start the delay timer (we'll await later...) + var waiting = global::System.Threading.Tasks.Task.Delay(delay * 1000, eventListener.Token ); + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + await waiting; + + // check for cancellation + if( eventListener.Token.IsCancellationRequested ) { return; } + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + if (!string.IsNullOrWhiteSpace(_finalUri)) + { + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_finalUri), Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingSubscription.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get + /// validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies an Azure subscription. + /// Request parameters that are provided to the move subscription operation. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingSubscriptionsMove_Validate(string billingAccountName, string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties body, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// + /// Updates the properties of a billing subscription. Currently, cost center can be updated. The operation is supported only + /// for billing accounts with agreement type Microsoft Customer Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies an Azure subscription. + /// Request parameters that are provided to the update billing subscription operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingSubscriptionsUpdate(string billingAccountName, string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingSubscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingSubscriptionsUpdate_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Updates the properties of a billing subscription. Currently, cost center can be updated. The operation is supported only + /// for billing accounts with agreement type Microsoft Customer Agreement. + /// + /// + /// Request parameters that are provided to the update billing subscription operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingSubscriptionsUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingSubscriptions/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions/{subscriptionId}'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingSubscriptions/" + + subscriptionId + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingSubscriptionsUpdate_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingSubscriptionsUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingSubscription.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get + /// validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies an Azure subscription. + /// Request parameters that are provided to the update billing subscription operation. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingSubscriptionsUpdate_Validate(string billingAccountName, string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription body, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// + /// Validates if a subscription's charges can be moved to a new invoice section. This operation is supported for billing accounts + /// with agreement type Microsoft Customer Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies an Azure subscription. + /// Request parameters that are provided to the validate move eligibility operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingSubscriptionsValidateMove(string billingAccountName, string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingSubscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/validateMoveEligibility" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingSubscriptionsValidateMove_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Validates if a subscription's charges can be moved to a new invoice section. This operation is supported for billing accounts + /// with agreement type Microsoft Customer Agreement. + /// + /// + /// Request parameters that are provided to the validate move eligibility operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task BillingSubscriptionsValidateMoveViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingSubscriptions/(?[^/]+)/validateMoveEligibility$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions/{subscriptionId}/validateMoveEligibility'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingSubscriptions/" + + subscriptionId + + "/validateMoveEligibility" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.BillingSubscriptionsValidateMove_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingSubscriptionsValidateMove_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ValidateSubscriptionTransferEligibilityResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you + /// will get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies an Azure subscription. + /// Request parameters that are provided to the validate move eligibility operation. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task BillingSubscriptionsValidateMove_Validate(string billingAccountName, string subscriptionId, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties body, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// + /// Gets a customer by its ID. The operation is supported only for billing accounts with agreement type Microsoft Partner + /// Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a customer. + /// May be used to expand enabledAzurePlans and resellers + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task CustomersGet(string billingAccountName, string customerName, string Expand, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/customers/" + + global::System.Uri.EscapeDataString(customerName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + (string.IsNullOrEmpty(Expand) ? global::System.String.Empty : "$expand=" + global::System.Uri.EscapeDataString(Expand)) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.CustomersGet_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Gets a customer by its ID. The operation is supported only for billing accounts with agreement type Microsoft Partner + /// Agreement. + /// + /// + /// May be used to expand enabledAzurePlans and resellers + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task CustomersGetViaIdentity(global::System.String viaIdentity, string Expand, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/customers/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var customerName = _match.Groups["customerName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/customers/" + + customerName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + (string.IsNullOrEmpty(Expand) ? global::System.String.Empty : "$expand=" + global::System.Uri.EscapeDataString(Expand)) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.CustomersGet_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task CustomersGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Customer.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a customer. + /// May be used to expand enabledAzurePlans and resellers + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task CustomersGet_Validate(string billingAccountName, string customerName, string Expand, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(customerName),customerName); + await eventListener.AssertNotNull(nameof(Expand),Expand); + } + } + + /// + /// Lists the customers that are billed to a billing account. The operation is supported only for billing accounts with agreement + /// type Microsoft Partner Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// Used for searching customers by their name. Any customer with name containing the search text will + /// be included in the response + /// May be used to filter the list of customers. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task CustomersListByBillingAccount(string billingAccountName, string Search, string Filter, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/customers" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + (string.IsNullOrEmpty(Search) ? global::System.String.Empty : "$search=" + global::System.Uri.EscapeDataString(Search)) + + "&" + + (string.IsNullOrEmpty(Filter) ? global::System.String.Empty : "$filter=" + global::System.Uri.EscapeDataString(Filter)) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.CustomersListByBillingAccount_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists the customers that are billed to a billing account. The operation is supported only for billing accounts with agreement + /// type Microsoft Partner Agreement. + /// + /// + /// Used for searching customers by their name. Any customer with name containing the search text will + /// be included in the response + /// May be used to filter the list of customers. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task CustomersListByBillingAccountViaIdentity(global::System.String viaIdentity, string Search, string Filter, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/customers$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/customers" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + (string.IsNullOrEmpty(Search) ? global::System.String.Empty : "$search=" + global::System.Uri.EscapeDataString(Search)) + + "&" + + (string.IsNullOrEmpty(Filter) ? global::System.String.Empty : "$filter=" + global::System.Uri.EscapeDataString(Filter)) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.CustomersListByBillingAccount_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task CustomersListByBillingAccount_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.CustomerListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will + /// get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// Used for searching customers by their name. Any customer with name containing the search text will + /// be included in the response + /// May be used to filter the list of customers. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task CustomersListByBillingAccount_Validate(string billingAccountName, string Search, string Filter, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(Search),Search); + await eventListener.AssertNotNull(nameof(Filter),Filter); + } + } + + /// + /// Lists the customers that are billed to a billing profile. The operation is supported only for billing accounts with agreement + /// type Microsoft Partner Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// Used for searching customers by their name. Any customer with name containing the search text will + /// be included in the response + /// May be used to filter the list of customers. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task CustomersListByBillingProfile(string billingAccountName, string billingProfileName, string Search, string Filter, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingProfiles/" + + global::System.Uri.EscapeDataString(billingProfileName) + + "/customers" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + (string.IsNullOrEmpty(Search) ? global::System.String.Empty : "$search=" + global::System.Uri.EscapeDataString(Search)) + + "&" + + (string.IsNullOrEmpty(Filter) ? global::System.String.Empty : "$filter=" + global::System.Uri.EscapeDataString(Filter)) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.CustomersListByBillingProfile_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists the customers that are billed to a billing profile. The operation is supported only for billing accounts with agreement + /// type Microsoft Partner Agreement. + /// + /// + /// Used for searching customers by their name. Any customer with name containing the search text will + /// be included in the response + /// May be used to filter the list of customers. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task CustomersListByBillingProfileViaIdentity(global::System.String viaIdentity, string Search, string Filter, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingProfiles/(?[^/]+)/customers$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/customers'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var billingProfileName = _match.Groups["billingProfileName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingProfiles/" + + billingProfileName + + "/customers" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + (string.IsNullOrEmpty(Search) ? global::System.String.Empty : "$search=" + global::System.Uri.EscapeDataString(Search)) + + "&" + + (string.IsNullOrEmpty(Filter) ? global::System.String.Empty : "$filter=" + global::System.Uri.EscapeDataString(Filter)) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.CustomersListByBillingProfile_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task CustomersListByBillingProfile_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.CustomerListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will + /// get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// Used for searching customers by their name. Any customer with name containing the search text will + /// be included in the response + /// May be used to filter the list of customers. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task CustomersListByBillingProfile_Validate(string billingAccountName, string billingProfileName, string Search, string Filter, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(billingProfileName),billingProfileName); + await eventListener.AssertNotNull(nameof(Search),Search); + await eventListener.AssertNotNull(nameof(Filter),Filter); + } + } + + /// Gets a enrollment account by name. + /// Enrollment Account name. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task EnrollmentAccountsGet(string name, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2018-03-01-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/enrollmentAccounts/" + + global::System.Uri.EscapeDataString(name) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.EnrollmentAccountsGet_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Gets a enrollment account by name. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task EnrollmentAccountsGetViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2018-03-01-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/enrollmentAccounts/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/enrollmentAccounts/{name}'"); + } + + // replace URI parameters with values from identity + var name = _match.Groups["name"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/enrollmentAccounts/" + + name + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.EnrollmentAccountsGet_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task EnrollmentAccountsGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.EnrollmentAccountSummary.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// Enrollment Account name. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task EnrollmentAccountsGet_Validate(string name, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(name),name); + } + } + + /// Lists the enrollment accounts the caller has access to. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task EnrollmentAccountsList(global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2018-03-01-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/enrollmentAccounts" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.EnrollmentAccountsList_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Lists the enrollment accounts the caller has access to. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task EnrollmentAccountsListViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2018-03-01-preview"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/enrollmentAccounts$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/enrollmentAccounts'"); + } + + // replace URI parameters with values from identity + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/enrollmentAccounts" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.EnrollmentAccountsList_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task EnrollmentAccountsList_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.EnrollmentAccountListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task EnrollmentAccountsList_Validate(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + + } + } + + /// + /// Get the instruction by name. These are custom billing instructions and are only applicable for certain customers. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// Instruction Name. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task InstructionsGet(string billingAccountName, string billingProfileName, string instructionName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingProfiles/" + + global::System.Uri.EscapeDataString(billingProfileName) + + "/instructions/" + + global::System.Uri.EscapeDataString(instructionName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.InstructionsGet_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Get the instruction by name. These are custom billing instructions and are only applicable for certain customers. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task InstructionsGetViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingProfiles/(?[^/]+)/instructions/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/instructions/{instructionName}'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var billingProfileName = _match.Groups["billingProfileName"].Value; + var instructionName = _match.Groups["instructionName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingProfiles/" + + billingProfileName + + "/instructions/" + + instructionName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.InstructionsGet_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task InstructionsGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Instruction.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// Instruction Name. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task InstructionsGet_Validate(string billingAccountName, string billingProfileName, string instructionName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(billingProfileName),billingProfileName); + await eventListener.AssertNotNull(nameof(instructionName),instructionName); + } + } + + /// Lists the instructions by billing profile id. + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task InstructionsListByBillingProfile(string billingAccountName, string billingProfileName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingProfiles/" + + global::System.Uri.EscapeDataString(billingProfileName) + + "/instructions" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.InstructionsListByBillingProfile_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Lists the instructions by billing profile id. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task InstructionsListByBillingProfileViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingProfiles/(?[^/]+)/instructions$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/instructions'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var billingProfileName = _match.Groups["billingProfileName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingProfiles/" + + billingProfileName + + "/instructions" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.InstructionsListByBillingProfile_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task InstructionsListByBillingProfile_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InstructionListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you + /// will get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task InstructionsListByBillingProfile_Validate(string billingAccountName, string billingProfileName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(billingProfileName),billingProfileName); + } + } + + /// + /// Creates or updates an instruction. These are custom billing instructions and are only applicable for certain customers. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// Instruction Name. + /// The new instruction. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task InstructionsPut(string billingAccountName, string billingProfileName, string instructionName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstruction body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingProfiles/" + + global::System.Uri.EscapeDataString(billingProfileName) + + "/instructions/" + + global::System.Uri.EscapeDataString(instructionName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.InstructionsPut_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Creates or updates an instruction. These are custom billing instructions and are only applicable for certain customers. + /// + /// + /// The new instruction. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task InstructionsPutViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstruction body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingProfiles/(?[^/]+)/instructions/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/instructions/{instructionName}'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var billingProfileName = _match.Groups["billingProfileName"].Value; + var instructionName = _match.Groups["instructionName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingProfiles/" + + billingProfileName + + "/instructions/" + + instructionName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.InstructionsPut_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task InstructionsPut_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Instruction.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// Instruction Name. + /// The new instruction. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task InstructionsPut_Validate(string billingAccountName, string billingProfileName, string instructionName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstruction body, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(billingProfileName),billingProfileName); + await eventListener.AssertNotNull(nameof(instructionName),instructionName); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// + /// Creates or updates an invoice section. The operation is supported only for billing accounts with agreement type Microsoft + /// Customer Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// The ID that uniquely identifies an invoice section. + /// The new or updated invoice section. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task InvoiceSectionsCreateOrUpdate(string billingAccountName, string billingProfileName, string invoiceSectionName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingProfiles/" + + global::System.Uri.EscapeDataString(billingProfileName) + + "/invoiceSections/" + + global::System.Uri.EscapeDataString(invoiceSectionName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.InvoiceSectionsCreateOrUpdate_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Creates or updates an invoice section. The operation is supported only for billing accounts with agreement type Microsoft + /// Customer Agreement. + /// + /// + /// The new or updated invoice section. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task InvoiceSectionsCreateOrUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingProfiles/(?[^/]+)/invoiceSections/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var billingProfileName = _match.Groups["billingProfileName"].Value; + var invoiceSectionName = _match.Groups["invoiceSectionName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingProfiles/" + + billingProfileName + + "/invoiceSections/" + + invoiceSectionName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.InvoiceSectionsCreateOrUpdate_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task InvoiceSectionsCreateOrUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: default + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + + // get the delay before polling. (default to 30 seconds if not present) + int delay = (int)(_response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.DelayBeforePolling, $"Delaying {delay} seconds before polling.", _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // start the delay timer (we'll await later...) + var waiting = global::System.Threading.Tasks.Task.Delay(delay * 1000, eventListener.Token ); + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + await waiting; + + // check for cancellation + if( eventListener.Token.IsCancellationRequested ) { return; } + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + if (!string.IsNullOrWhiteSpace(_originalUri)) + { + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_originalUri), Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSection.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will + /// get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// The ID that uniquely identifies an invoice section. + /// The new or updated invoice section. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task InvoiceSectionsCreateOrUpdate_Validate(string billingAccountName, string billingProfileName, string invoiceSectionName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection body, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(billingProfileName),billingProfileName); + await eventListener.AssertNotNull(nameof(invoiceSectionName),invoiceSectionName); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// + /// Gets an invoice section by its ID. The operation is supported only for billing accounts with agreement type Microsoft + /// Customer Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// The ID that uniquely identifies an invoice section. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task InvoiceSectionsGet(string billingAccountName, string billingProfileName, string invoiceSectionName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingProfiles/" + + global::System.Uri.EscapeDataString(billingProfileName) + + "/invoiceSections/" + + global::System.Uri.EscapeDataString(invoiceSectionName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.InvoiceSectionsGet_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Gets an invoice section by its ID. The operation is supported only for billing accounts with agreement type Microsoft + /// Customer Agreement. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task InvoiceSectionsGetViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingProfiles/(?[^/]+)/invoiceSections/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var billingProfileName = _match.Groups["billingProfileName"].Value; + var invoiceSectionName = _match.Groups["invoiceSectionName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingProfiles/" + + billingProfileName + + "/invoiceSections/" + + invoiceSectionName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.InvoiceSectionsGet_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task InvoiceSectionsGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSection.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// The ID that uniquely identifies an invoice section. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task InvoiceSectionsGet_Validate(string billingAccountName, string billingProfileName, string invoiceSectionName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(billingProfileName),billingProfileName); + await eventListener.AssertNotNull(nameof(invoiceSectionName),invoiceSectionName); + } + } + + /// + /// Lists the invoice sections that a user has access to. The operation is supported only for billing accounts with agreement + /// type Microsoft Customer Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task InvoiceSectionsListByBillingProfile(string billingAccountName, string billingProfileName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingProfiles/" + + global::System.Uri.EscapeDataString(billingProfileName) + + "/invoiceSections" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.InvoiceSectionsListByBillingProfile_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists the invoice sections that a user has access to. The operation is supported only for billing accounts with agreement + /// type Microsoft Customer Agreement. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task InvoiceSectionsListByBillingProfileViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingProfiles/(?[^/]+)/invoiceSections$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var billingProfileName = _match.Groups["billingProfileName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingProfiles/" + + billingProfileName + + "/invoiceSections" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.InvoiceSectionsListByBillingProfile_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task InvoiceSectionsListByBillingProfile_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you + /// will get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task InvoiceSectionsListByBillingProfile_Validate(string billingAccountName, string billingProfileName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(billingProfileName),billingProfileName); + } + } + + /// Gets a URL to download an invoice. + /// The ID that uniquely identifies an Azure subscription. + /// The ID that uniquely identifies an invoice. + /// Download token with document source and document ID. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task InvoicesDownloadBillingSubscriptionInvoice(string subscriptionId, string invoiceName, string downloadToken, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/invoices/" + + global::System.Uri.EscapeDataString(invoiceName) + + "/download" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + "downloadToken=" + global::System.Uri.EscapeDataString(downloadToken) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.InvoicesDownloadBillingSubscriptionInvoice_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Gets a URL to download an invoice. + /// + /// Download token with document source and document ID. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task InvoicesDownloadBillingSubscriptionInvoiceViaIdentity(global::System.String viaIdentity, string downloadToken, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/(?[^/]+)/invoices/(?[^/]+)/download$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/invoices/{invoiceName}/download'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var invoiceName = _match.Groups["invoiceName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/" + + subscriptionId + + "/invoices/" + + invoiceName + + "/download" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + "downloadToken=" + global::System.Uri.EscapeDataString(downloadToken) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.InvoicesDownloadBillingSubscriptionInvoice_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task InvoicesDownloadBillingSubscriptionInvoice_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: location + var _finalUri = _response.GetFirstHeader(@"Location"); + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + + // get the delay before polling. (default to 30 seconds if not present) + int delay = (int)(_response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.DelayBeforePolling, $"Delaying {delay} seconds before polling.", _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // start the delay timer (we'll await later...) + var waiting = global::System.Threading.Tasks.Task.Delay(delay * 1000, eventListener.Token ); + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + await waiting; + + // check for cancellation + if( eventListener.Token.IsCancellationRequested ) { return; } + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_finalUri), Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.DownloadUrl.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, + /// but you will get validation events back. + /// + /// The ID that uniquely identifies an Azure subscription. + /// The ID that uniquely identifies an invoice. + /// Download token with document source and document ID. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task InvoicesDownloadBillingSubscriptionInvoice_Validate(string subscriptionId, string invoiceName, string downloadToken, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertNotNull(nameof(invoiceName),invoiceName); + await eventListener.AssertNotNull(nameof(downloadToken),downloadToken); + } + } + + /// + /// Gets a URL to download an invoice. The operation is supported for billing accounts with agreement type Microsoft Partner + /// Agreement or Microsoft Customer Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies an invoice. + /// Download token with document source and document ID. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task InvoicesDownloadInvoice(string billingAccountName, string invoiceName, string downloadToken, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/invoices/" + + global::System.Uri.EscapeDataString(invoiceName) + + "/download" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + "downloadToken=" + global::System.Uri.EscapeDataString(downloadToken) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.InvoicesDownloadInvoice_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Gets a URL to download an invoice. The operation is supported for billing accounts with agreement type Microsoft Partner + /// Agreement or Microsoft Customer Agreement. + /// + /// + /// Download token with document source and document ID. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task InvoicesDownloadInvoiceViaIdentity(global::System.String viaIdentity, string downloadToken, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/invoices/(?[^/]+)/download$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}/download'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var invoiceName = _match.Groups["invoiceName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/invoices/" + + invoiceName + + "/download" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + "downloadToken=" + global::System.Uri.EscapeDataString(downloadToken) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.InvoicesDownloadInvoice_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task InvoicesDownloadInvoice_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: location + var _finalUri = _response.GetFirstHeader(@"Location"); + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + + // get the delay before polling. (default to 30 seconds if not present) + int delay = (int)(_response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.DelayBeforePolling, $"Delaying {delay} seconds before polling.", _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // start the delay timer (we'll await later...) + var waiting = global::System.Threading.Tasks.Task.Delay(delay * 1000, eventListener.Token ); + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + await waiting; + + // check for cancellation + if( eventListener.Token.IsCancellationRequested ) { return; } + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_finalUri), Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.DownloadUrl.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get + /// validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies an invoice. + /// Download token with document source and document ID. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task InvoicesDownloadInvoice_Validate(string billingAccountName, string invoiceName, string downloadToken, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(invoiceName),invoiceName); + await eventListener.AssertNotNull(nameof(downloadToken),downloadToken); + } + } + + /// + /// Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip file. The operation + /// is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// An array of download urls for individual documents + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task InvoicesDownloadMultipleBillingProfileInvoices(string billingAccountName, string[] body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/downloadDocuments" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(global::System.Linq.Enumerable.ToArray(System.Linq.Enumerable.Select(body, (__x) => null != (((object)__x)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(__x.ToString()) : null))) : null, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.InvoicesDownloadMultipleBillingProfileInvoices_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip file. The operation + /// is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// + /// An array of download urls for individual documents + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task InvoicesDownloadMultipleBillingProfileInvoicesViaIdentity(global::System.String viaIdentity, string[] body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/downloadDocuments$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/downloadDocuments'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/downloadDocuments" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(global::System.Linq.Enumerable.ToArray(System.Linq.Enumerable.Select(body, (__x) => null != (((object)__x)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(__x.ToString()) : null))) : null, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.InvoicesDownloadMultipleBillingProfileInvoices_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task InvoicesDownloadMultipleBillingProfileInvoices_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: location + var _finalUri = _response.GetFirstHeader(@"Location"); + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + + // get the delay before polling. (default to 30 seconds if not present) + int delay = (int)(_response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.DelayBeforePolling, $"Delaying {delay} seconds before polling.", _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // start the delay timer (we'll await later...) + var waiting = global::System.Threading.Tasks.Task.Delay(delay * 1000, eventListener.Token ); + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + await waiting; + + // check for cancellation + if( eventListener.Token.IsCancellationRequested ) { return; } + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_finalUri), Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.DownloadUrl.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual + /// call, but you will get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// An array of download urls for individual documents + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task InvoicesDownloadMultipleBillingProfileInvoices_Validate(string billingAccountName, string[] body, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(body), body); + } + } + + /// + /// Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip file. + /// + /// The ID that uniquely identifies an Azure subscription. + /// An array of download urls for individual documents + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task InvoicesDownloadMultipleBillingSubscriptionInvoices(string subscriptionId, string[] body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/downloadDocuments" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(global::System.Linq.Enumerable.ToArray(System.Linq.Enumerable.Select(body, (__x) => null != (((object)__x)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(__x.ToString()) : null))) : null, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.InvoicesDownloadMultipleBillingSubscriptionInvoices_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip file. + /// + /// + /// An array of download urls for individual documents + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task InvoicesDownloadMultipleBillingSubscriptionInvoicesViaIdentity(global::System.String viaIdentity, string[] body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/(?[^/]+)/downloadDocuments$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/downloadDocuments'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/" + + subscriptionId + + "/downloadDocuments" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(global::System.Linq.Enumerable.ToArray(System.Linq.Enumerable.Select(body, (__x) => null != (((object)__x)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(__x.ToString()) : null))) : null, global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.InvoicesDownloadMultipleBillingSubscriptionInvoices_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task InvoicesDownloadMultipleBillingSubscriptionInvoices_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + // this operation supports x-ms-long-running-operation + var _originalUri = request.RequestUri.AbsoluteUri; + // declared final-state-via: location + var _finalUri = _response.GetFirstHeader(@"Location"); + var asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = _response.GetFirstHeader(@"Location"); + while (request.Method == System.Net.Http.HttpMethod.Put && _response.StatusCode == global::System.Net.HttpStatusCode.OK || _response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + + // get the delay before polling. (default to 30 seconds if not present) + int delay = (int)(_response.Headers.RetryAfter?.Delta?.TotalSeconds ?? 30); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.DelayBeforePolling, $"Delaying {delay} seconds before polling.", _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // start the delay timer (we'll await later...) + var waiting = global::System.Threading.Tasks.Task.Delay(delay * 1000, eventListener.Token ); + + // while we wait, let's grab the headers and get ready to poll. + if (!System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Azure-AsyncOperation"))) { + asyncOperation = _response.GetFirstHeader(@"Azure-AsyncOperation"); + } + if (!global::System.String.IsNullOrEmpty(_response.GetFirstHeader(@"Location"))) { + location = _response.GetFirstHeader(@"Location"); + } + var _uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? _originalUri : location : asyncOperation; + request = request.CloneAndDispose(new global::System.Uri(_uri), Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get); + + // and let's look at the current response body and see if we have some information we can give back to the listener + var content = await _response.Content.ReadAsStringAsync(); + await waiting; + + // check for cancellation + if( eventListener.Token.IsCancellationRequested ) { return; } + + // drop the old response + _response?.Dispose(); + + // make the polling call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + + // if we got back an OK, take a peek inside and see if it's done + if( _response.StatusCode == global::System.Net.HttpStatusCode.OK) + { + var error = false; + try { + if( Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(await _response.Content.ReadAsStringAsync()) is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + var state = json.Property("properties")?.PropertyT("provisioningState") ?? json.PropertyT("status"); + if( state is null ) + { + // the body doesn't contain any information that has the state of the LRO + // we're going to just get out, and let the consumer have the result + break; + } + + switch( state?.ToString()?.ToLower() ) + { + case "failed": + error = true; + break; + case "succeeded": + case "canceled": + // we're done polling. + break; + + default: + // need to keep polling! + _response.StatusCode = global::System.Net.HttpStatusCode.Created; + continue; + } + } + } catch { + // if we run into a problem peeking into the result, + // we really don't want to do anything special. + } + if (error) { + throw new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException(_response); + } + } + + // check for terminal status code + if (_response.StatusCode == global::System.Net.HttpStatusCode.Created || _response.StatusCode == global::System.Net.HttpStatusCode.Accepted ) + { + continue; + } + // we are done polling, do a request on final target? + // create a new request with the final uri + request = request.CloneAndDispose(new global::System.Uri(_finalUri), Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get); + + // drop the old response + _response?.Dispose(); + + // make the final call + _response = await sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Polling, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + break; + } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.DownloadUrl.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual + /// call, but you will get validation events back. + /// + /// The ID that uniquely identifies an Azure subscription. + /// An array of download urls for individual documents + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task InvoicesDownloadMultipleBillingSubscriptionInvoices_Validate(string subscriptionId, string[] body, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertNotNull(nameof(body), body); + } + } + + /// + /// Gets an invoice by billing account name and ID. The operation is supported for billing accounts with agreement type Microsoft + /// Partner Agreement or Microsoft Customer Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies an invoice. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task InvoicesGet(string billingAccountName, string invoiceName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/invoices/" + + global::System.Uri.EscapeDataString(invoiceName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.InvoicesGet_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Gets an invoice by ID. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement + /// or Microsoft Customer Agreement. + /// + /// The ID that uniquely identifies an invoice. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task InvoicesGetById(string invoiceName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/default/invoices/" + + global::System.Uri.EscapeDataString(invoiceName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.InvoicesGetById_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Gets an invoice by ID. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement + /// or Microsoft Customer Agreement. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task InvoicesGetByIdViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/default/invoices/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/default/invoices/{invoiceName}'"); + } + + // replace URI parameters with values from identity + var invoiceName = _match.Groups["invoiceName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/default/invoices/" + + invoiceName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.InvoicesGetById_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task InvoicesGetById_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Invoice.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID that uniquely identifies an invoice. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task InvoicesGetById_Validate(string invoiceName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(invoiceName),invoiceName); + } + } + + /// Gets an invoice by subscription ID and invoice ID. + /// The ID that uniquely identifies an Azure subscription. + /// The ID that uniquely identifies an invoice. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task InvoicesGetBySubscriptionAndInvoiceId(string subscriptionId, string invoiceName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/invoices/" + + global::System.Uri.EscapeDataString(invoiceName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.InvoicesGetBySubscriptionAndInvoiceId_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Gets an invoice by subscription ID and invoice ID. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task InvoicesGetBySubscriptionAndInvoiceIdViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/(?[^/]+)/invoices/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/invoices/{invoiceName}'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + var invoiceName = _match.Groups["invoiceName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/" + + subscriptionId + + "/invoices/" + + invoiceName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.InvoicesGetBySubscriptionAndInvoiceId_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Actual wire call for method. + /// + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task InvoicesGetBySubscriptionAndInvoiceId_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Invoice.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but + /// you will get validation events back. + /// + /// The ID that uniquely identifies an Azure subscription. + /// The ID that uniquely identifies an invoice. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task InvoicesGetBySubscriptionAndInvoiceId_Validate(string subscriptionId, string invoiceName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertNotNull(nameof(invoiceName),invoiceName); + } + } + + /// + /// Gets an invoice by billing account name and ID. The operation is supported for billing accounts with agreement type Microsoft + /// Partner Agreement or Microsoft Customer Agreement. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task InvoicesGetViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/invoices/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var invoiceName = _match.Groups["invoiceName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/invoices/" + + invoiceName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.InvoicesGet_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task InvoicesGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Invoice.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation events + /// back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies an invoice. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task InvoicesGet_Validate(string billingAccountName, string invoiceName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(invoiceName),invoiceName); + } + } + + /// + /// Lists the invoices for a billing account for a given start date and end date. The operation is supported for billing accounts + /// with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The start date to fetch the invoices. The date should be specified in MM-DD-YYYY format. + /// The end date to fetch the invoices. The date should be specified in MM-DD-YYYY format. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task InvoicesListByBillingAccount(string billingAccountName, string periodStartDate, string periodEndDate, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/invoices" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + "periodStartDate=" + global::System.Uri.EscapeDataString(periodStartDate) + + "&" + + "periodEndDate=" + global::System.Uri.EscapeDataString(periodEndDate) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.InvoicesListByBillingAccount_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists the invoices for a billing account for a given start date and end date. The operation is supported for billing accounts + /// with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// + /// The start date to fetch the invoices. The date should be specified in MM-DD-YYYY format. + /// The end date to fetch the invoices. The date should be specified in MM-DD-YYYY format. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task InvoicesListByBillingAccountViaIdentity(global::System.String viaIdentity, string periodStartDate, string periodEndDate, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/invoices$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/invoices" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + "periodStartDate=" + global::System.Uri.EscapeDataString(periodStartDate) + + "&" + + "periodEndDate=" + global::System.Uri.EscapeDataString(periodEndDate) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.InvoicesListByBillingAccount_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task InvoicesListByBillingAccount_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will + /// get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// The start date to fetch the invoices. The date should be specified in MM-DD-YYYY format. + /// The end date to fetch the invoices. The date should be specified in MM-DD-YYYY format. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task InvoicesListByBillingAccount_Validate(string billingAccountName, string periodStartDate, string periodEndDate, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(periodStartDate),periodStartDate); + await eventListener.AssertNotNull(nameof(periodEndDate),periodEndDate); + } + } + + /// + /// Lists the invoices for a billing profile for a given start date and end date. The operation is supported for billing accounts + /// with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// The start date to fetch the invoices. The date should be specified in MM-DD-YYYY format. + /// The end date to fetch the invoices. The date should be specified in MM-DD-YYYY format. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task InvoicesListByBillingProfile(string billingAccountName, string billingProfileName, string periodStartDate, string periodEndDate, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingProfiles/" + + global::System.Uri.EscapeDataString(billingProfileName) + + "/invoices" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + "periodStartDate=" + global::System.Uri.EscapeDataString(periodStartDate) + + "&" + + "periodEndDate=" + global::System.Uri.EscapeDataString(periodEndDate) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.InvoicesListByBillingProfile_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists the invoices for a billing profile for a given start date and end date. The operation is supported for billing accounts + /// with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// + /// The start date to fetch the invoices. The date should be specified in MM-DD-YYYY format. + /// The end date to fetch the invoices. The date should be specified in MM-DD-YYYY format. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task InvoicesListByBillingProfileViaIdentity(global::System.String viaIdentity, string periodStartDate, string periodEndDate, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingProfiles/(?[^/]+)/invoices$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoices'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var billingProfileName = _match.Groups["billingProfileName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingProfiles/" + + billingProfileName + + "/invoices" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + "periodStartDate=" + global::System.Uri.EscapeDataString(periodStartDate) + + "&" + + "periodEndDate=" + global::System.Uri.EscapeDataString(periodEndDate) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.InvoicesListByBillingProfile_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task InvoicesListByBillingProfile_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will + /// get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// The start date to fetch the invoices. The date should be specified in MM-DD-YYYY format. + /// The end date to fetch the invoices. The date should be specified in MM-DD-YYYY format. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task InvoicesListByBillingProfile_Validate(string billingAccountName, string billingProfileName, string periodStartDate, string periodEndDate, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(billingProfileName),billingProfileName); + await eventListener.AssertNotNull(nameof(periodStartDate),periodStartDate); + await eventListener.AssertNotNull(nameof(periodEndDate),periodEndDate); + } + } + + /// Lists the invoices for a subscription. + /// The ID that uniquely identifies an Azure subscription. + /// Invoice period start date. + /// Invoice period end date. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task InvoicesListByBillingSubscription(string subscriptionId, string periodStartDate, string periodEndDate, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/" + + global::System.Uri.EscapeDataString(subscriptionId) + + "/invoices" + + "?" + + "periodStartDate=" + global::System.Uri.EscapeDataString(periodStartDate) + + "&" + + "periodEndDate=" + global::System.Uri.EscapeDataString(periodEndDate) + + "&" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.InvoicesListByBillingSubscription_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Lists the invoices for a subscription. + /// + /// Invoice period start date. + /// Invoice period end date. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task InvoicesListByBillingSubscriptionViaIdentity(global::System.String viaIdentity, string periodStartDate, string periodEndDate, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/(?[^/]+)/invoices$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/invoices'"); + } + + // replace URI parameters with values from identity + var subscriptionId = _match.Groups["subscriptionId"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/" + + subscriptionId + + "/invoices" + + "?" + + "periodStartDate=" + global::System.Uri.EscapeDataString(periodStartDate) + + "&" + + "periodEndDate=" + global::System.Uri.EscapeDataString(periodEndDate) + + "&" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.InvoicesListByBillingSubscription_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task InvoicesListByBillingSubscription_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you + /// will get validation events back. + /// + /// The ID that uniquely identifies an Azure subscription. + /// Invoice period start date. + /// Invoice period end date. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task InvoicesListByBillingSubscription_Validate(string subscriptionId, string periodStartDate, string periodEndDate, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(subscriptionId),subscriptionId); + await eventListener.AssertNotNull(nameof(periodStartDate),periodStartDate); + await eventListener.AssertNotNull(nameof(periodEndDate),periodEndDate); + } + } + + /// Lists the available billing REST API operations. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task OperationsList(global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/operations" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.OperationsList_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Lists the available billing REST API operations. + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task OperationsListViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/operations$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/operations'"); + } + + // replace URI parameters with values from identity + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/operations" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.OperationsList_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task OperationsList_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.OperationListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.OperationsErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task OperationsList_Validate(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + + } + } + + /// + /// Lists the policies for a billing profile. This operation is supported only for billing accounts with agreement type Microsoft + /// Customer Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task PoliciesGetByBillingProfile(string billingAccountName, string billingProfileName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingProfiles/" + + global::System.Uri.EscapeDataString(billingProfileName) + + "/policies/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.PoliciesGetByBillingProfile_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists the policies for a billing profile. This operation is supported only for billing accounts with agreement type Microsoft + /// Customer Agreement. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task PoliciesGetByBillingProfileViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingProfiles/(?[^/]+)/policies/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/policies/default'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var billingProfileName = _match.Groups["billingProfileName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingProfiles/" + + billingProfileName + + "/policies/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.PoliciesGetByBillingProfile_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task PoliciesGetByBillingProfile_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Policy.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will + /// get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task PoliciesGetByBillingProfile_Validate(string billingAccountName, string billingProfileName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(billingProfileName),billingProfileName); + } + } + + /// + /// Lists the policies for a customer. This operation is supported only for billing accounts with agreement type Microsoft + /// Partner Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a customer. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task PoliciesGetByCustomer(string billingAccountName, string customerName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/customers/" + + global::System.Uri.EscapeDataString(customerName) + + "/policies/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.PoliciesGetByCustomer_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists the policies for a customer. This operation is supported only for billing accounts with agreement type Microsoft + /// Partner Agreement. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task PoliciesGetByCustomerViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/customers/(?[^/]+)/policies/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}/policies/default'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var customerName = _match.Groups["customerName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/customers/" + + customerName + + "/policies/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.PoliciesGetByCustomer_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task PoliciesGetByCustomer_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.CustomerPolicy.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a customer. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task PoliciesGetByCustomer_Validate(string billingAccountName, string customerName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(customerName),customerName); + } + } + + /// + /// Updates the policies for a billing profile. This operation is supported only for billing accounts with agreement type + /// Microsoft Customer Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// Request parameters that are provided to the update policies operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task PoliciesUpdate(string billingAccountName, string billingProfileName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicy body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingProfiles/" + + global::System.Uri.EscapeDataString(billingProfileName) + + "/policies/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.PoliciesUpdate_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Updates the policies for a customer. This operation is supported only for billing accounts with agreement type Microsoft + /// Partner Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a customer. + /// Request parameters that are provided to the update policies operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task PoliciesUpdateCustomer(string billingAccountName, string customerName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicy body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/customers/" + + global::System.Uri.EscapeDataString(customerName) + + "/policies/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.PoliciesUpdateCustomer_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Updates the policies for a customer. This operation is supported only for billing accounts with agreement type Microsoft + /// Partner Agreement. + /// + /// + /// Request parameters that are provided to the update policies operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task PoliciesUpdateCustomerViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicy body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/customers/(?[^/]+)/policies/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}/policies/default'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var customerName = _match.Groups["customerName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/customers/" + + customerName + + "/policies/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.PoliciesUpdateCustomer_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task PoliciesUpdateCustomer_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.CustomerPolicy.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a customer. + /// Request parameters that are provided to the update policies operation. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task PoliciesUpdateCustomer_Validate(string billingAccountName, string customerName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicy body, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(customerName),customerName); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// + /// Updates the policies for a billing profile. This operation is supported only for billing accounts with agreement type + /// Microsoft Customer Agreement. + /// + /// + /// Request parameters that are provided to the update policies operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task PoliciesUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicy body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingProfiles/(?[^/]+)/policies/default$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/policies/default'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var billingProfileName = _match.Groups["billingProfileName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingProfiles/" + + billingProfileName + + "/policies/default" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Put, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.PoliciesUpdate_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task PoliciesUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Policy.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// Request parameters that are provided to the update policies operation. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task PoliciesUpdate_Validate(string billingAccountName, string billingProfileName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicy body, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(billingProfileName),billingProfileName); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// + /// Gets a product by ID. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a product. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task ProductsGet(string billingAccountName, string productName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/products/" + + global::System.Uri.EscapeDataString(productName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.ProductsGet_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Gets a product by ID. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task ProductsGetViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/products/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/products/{productName}'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var productName = _match.Groups["productName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/products/" + + productName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.ProductsGet_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task ProductsGet_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Product.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation events + /// back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a product. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task ProductsGet_Validate(string billingAccountName, string productName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(productName),productName); + } + } + + /// + /// Lists the products for a billing account. These don't include products billed based on usage. The operation is supported + /// for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// May be used to filter by product type. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. + /// It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value are separated + /// by a colon (:). + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task ProductsListByBillingAccount(string billingAccountName, string Filter, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/products" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + (string.IsNullOrEmpty(Filter) ? global::System.String.Empty : "$filter=" + global::System.Uri.EscapeDataString(Filter)) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.ProductsListByBillingAccount_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists the products for a billing account. These don't include products billed based on usage. The operation is supported + /// for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement. + /// + /// + /// May be used to filter by product type. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. + /// It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value are separated + /// by a colon (:). + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task ProductsListByBillingAccountViaIdentity(global::System.String viaIdentity, string Filter, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/products$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/products'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/products" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + (string.IsNullOrEmpty(Filter) ? global::System.String.Empty : "$filter=" + global::System.Uri.EscapeDataString(Filter)) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.ProductsListByBillingAccount_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task ProductsListByBillingAccount_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ProductsListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will + /// get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// May be used to filter by product type. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. + /// It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value are separated + /// by a colon (:). + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task ProductsListByBillingAccount_Validate(string billingAccountName, string Filter, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(Filter),Filter); + } + } + + /// + /// Lists the products for a billing profile. These don't include products billed based on usage. The operation is supported + /// for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// May be used to filter by product type. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. + /// It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value are separated + /// by a colon (:). + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task ProductsListByBillingProfile(string billingAccountName, string billingProfileName, string Filter, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingProfiles/" + + global::System.Uri.EscapeDataString(billingProfileName) + + "/products" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + (string.IsNullOrEmpty(Filter) ? global::System.String.Empty : "$filter=" + global::System.Uri.EscapeDataString(Filter)) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.ProductsListByBillingProfile_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists the products for a billing profile. These don't include products billed based on usage. The operation is supported + /// for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement. + /// + /// + /// May be used to filter by product type. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. + /// It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value are separated + /// by a colon (:). + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task ProductsListByBillingProfileViaIdentity(global::System.String viaIdentity, string Filter, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingProfiles/(?[^/]+)/products$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/products'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var billingProfileName = _match.Groups["billingProfileName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingProfiles/" + + billingProfileName + + "/products" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + (string.IsNullOrEmpty(Filter) ? global::System.String.Empty : "$filter=" + global::System.Uri.EscapeDataString(Filter)) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.ProductsListByBillingProfile_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task ProductsListByBillingProfile_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ProductsListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will + /// get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// May be used to filter by product type. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. + /// It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value are separated + /// by a colon (:). + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task ProductsListByBillingProfile_Validate(string billingAccountName, string billingProfileName, string Filter, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(billingProfileName),billingProfileName); + await eventListener.AssertNotNull(nameof(Filter),Filter); + } + } + + /// + /// Lists the products for a customer. These don't include products billed based on usage.The operation is supported only + /// for billing accounts with agreement type Microsoft Partner Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a customer. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task ProductsListByCustomer(string billingAccountName, string customerName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/customers/" + + global::System.Uri.EscapeDataString(customerName) + + "/products" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.ProductsListByCustomer_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists the products for a customer. These don't include products billed based on usage.The operation is supported only + /// for billing accounts with agreement type Microsoft Partner Agreement. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task ProductsListByCustomerViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/customers/(?[^/]+)/products$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}/products'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var customerName = _match.Groups["customerName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/customers/" + + customerName + + "/products" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.ProductsListByCustomer_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task ProductsListByCustomer_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ProductsListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a customer. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task ProductsListByCustomer_Validate(string billingAccountName, string customerName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(customerName),customerName); + } + } + + /// + /// Lists the products for an invoice section. These don't include products billed based on usage. The operation is supported + /// only for billing accounts with agreement type Microsoft Customer Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// The ID that uniquely identifies an invoice section. + /// May be used to filter by product type. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. + /// It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value are separated + /// by a colon (:). + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task ProductsListByInvoiceSection(string billingAccountName, string billingProfileName, string invoiceSectionName, string Filter, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingProfiles/" + + global::System.Uri.EscapeDataString(billingProfileName) + + "/invoiceSections/" + + global::System.Uri.EscapeDataString(invoiceSectionName) + + "/products" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + (string.IsNullOrEmpty(Filter) ? global::System.String.Empty : "$filter=" + global::System.Uri.EscapeDataString(Filter)) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.ProductsListByInvoiceSection_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists the products for an invoice section. These don't include products billed based on usage. The operation is supported + /// only for billing accounts with agreement type Microsoft Customer Agreement. + /// + /// + /// May be used to filter by product type. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. + /// It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value are separated + /// by a colon (:). + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task ProductsListByInvoiceSectionViaIdentity(global::System.String viaIdentity, string Filter, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingProfiles/(?[^/]+)/invoiceSections/(?[^/]+)/products$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/products'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var billingProfileName = _match.Groups["billingProfileName"].Value; + var invoiceSectionName = _match.Groups["invoiceSectionName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingProfiles/" + + billingProfileName + + "/invoiceSections/" + + invoiceSectionName + + "/products" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + (string.IsNullOrEmpty(Filter) ? global::System.String.Empty : "$filter=" + global::System.Uri.EscapeDataString(Filter)) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.ProductsListByInvoiceSection_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task ProductsListByInvoiceSection_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ProductsListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will + /// get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// The ID that uniquely identifies an invoice section. + /// May be used to filter by product type. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. + /// It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value are separated + /// by a colon (:). + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task ProductsListByInvoiceSection_Validate(string billingAccountName, string billingProfileName, string invoiceSectionName, string Filter, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(billingProfileName),billingProfileName); + await eventListener.AssertNotNull(nameof(invoiceSectionName),invoiceSectionName); + await eventListener.AssertNotNull(nameof(Filter),Filter); + } + } + + /// + /// Moves a product's charges to a new invoice section. The new invoice section must belong to the same billing profile as + /// the existing invoice section. This operation is supported only for products that are purchased with a recurring charge + /// and for billing accounts with agreement type Microsoft Customer Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a product. + /// Request parameters that are provided to the move product operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 202 (Accepted). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task ProductsMove(string billingAccountName, string productName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onAccepted, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/products/" + + global::System.Uri.EscapeDataString(productName) + + "/move" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.ProductsMove_Call(request,onOk,onAccepted,onDefault,eventListener,sender); + } + } + + /// + /// Moves a product's charges to a new invoice section. The new invoice section must belong to the same billing profile as + /// the existing invoice section. This operation is supported only for products that are purchased with a recurring charge + /// and for billing accounts with agreement type Microsoft Customer Agreement. + /// + /// + /// Request parameters that are provided to the move product operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 202 (Accepted). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task ProductsMoveViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onAccepted, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/products/(?[^/]+)/move$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/products/{productName}/move'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var productName = _match.Groups["productName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/products/" + + productName + + "/move" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.ProductsMove_Call(request,onOk,onAccepted,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns 202 (Accepted). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task ProductsMove_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onAccepted, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Product.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + case global::System.Net.HttpStatusCode.Accepted: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onAccepted(_response,null /* deserializeFromResponse doesn't support '-header-' /home/cloudtest/.autorest/@autorest_powershell@3.0.494/node_modules/@autorest/powershell/dist/llcsharp/schema/object.js*/); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a product. + /// Request parameters that are provided to the move product operation. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task ProductsMove_Validate(string billingAccountName, string productName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties body, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(productName),productName); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// + /// Updates the properties of a Product. Currently, auto renew can be updated. The operation is supported only for billing + /// accounts with agreement type Microsoft Customer Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a product. + /// Request parameters that are provided to the update product operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task ProductsUpdate(string billingAccountName, string productName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/products/" + + global::System.Uri.EscapeDataString(productName) + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.ProductsUpdate_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Updates the properties of a Product. Currently, auto renew can be updated. The operation is supported only for billing + /// accounts with agreement type Microsoft Customer Agreement. + /// + /// + /// Request parameters that are provided to the update product operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task ProductsUpdateViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/products/(?[^/]+)$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/products/{productName}'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var productName = _match.Groups["productName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/products/" + + productName + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Patch, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.ProductsUpdate_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task ProductsUpdate_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Product.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a product. + /// Request parameters that are provided to the update product operation. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task ProductsUpdate_Validate(string billingAccountName, string productName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct body, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(productName),productName); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// + /// Validates if a product's charges can be moved to a new invoice section. This operation is supported only for products + /// that are purchased with a recurring charge and for billing accounts with agreement type Microsoft Customer Agreement. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a product. + /// Request parameters that are provided to the validate move eligibility operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task ProductsValidateMove(string billingAccountName, string productName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/products/" + + global::System.Uri.EscapeDataString(productName) + + "/validateMoveEligibility" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.ProductsValidateMove_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Validates if a product's charges can be moved to a new invoice section. This operation is supported only for products + /// that are purchased with a recurring charge and for billing accounts with agreement type Microsoft Customer Agreement. + /// + /// + /// Request parameters that are provided to the validate move eligibility operation. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task ProductsValidateMoveViaIdentity(global::System.String viaIdentity, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties body, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/products/(?[^/]+)/validateMoveEligibility$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/products/{productName}/validateMoveEligibility'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var productName = _match.Groups["productName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/products/" + + productName + + "/validateMoveEligibility" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Post, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // set body content + request.Content = new global::System.Net.Http.StringContent(null != body ? body.ToJson(null).ToString() : @"{}", global::System.Text.Encoding.UTF8); + request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.ProductsValidateMove_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task ProductsValidateMove_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ValidateProductTransferEligibilityResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get validation + /// events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a product. + /// Request parameters that are provided to the validate move eligibility operation. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task ProductsValidateMove_Validate(string billingAccountName, string productName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties body, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(productName),productName); + await eventListener.AssertNotNull(nameof(body), body); + await eventListener.AssertObjectIsValid(nameof(body), body); + } + } + + /// + /// Lists the reservations for a billing account and the roll up counts of reservations group by provisioning states. + /// + /// The ID that uniquely identifies a billing account. + /// May be used to filter by reservation properties. The filter supports 'eq', 'or', and 'and'. It does + /// not currently support 'ne', 'gt', 'le', 'ge', or 'not'. + /// May be used to sort order by reservation properties. + /// To indicate whether to refresh the roll up counts of the reservations group by provisioning + /// states + /// The selected provisioning state + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task ReservationsListByBillingAccount(string billingAccountName, string Filter, string Orderby, string refreshSummary, string selectedState, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/reservations" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + (string.IsNullOrEmpty(Filter) ? global::System.String.Empty : "$filter=" + global::System.Uri.EscapeDataString(Filter)) + + "&" + + (string.IsNullOrEmpty(Orderby) ? global::System.String.Empty : "$orderby=" + global::System.Uri.EscapeDataString(Orderby)) + + "&" + + (string.IsNullOrEmpty(refreshSummary) ? global::System.String.Empty : "refreshSummary=" + global::System.Uri.EscapeDataString(refreshSummary)) + + "&" + + (string.IsNullOrEmpty(selectedState) ? global::System.String.Empty : "selectedState=" + global::System.Uri.EscapeDataString(selectedState)) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.ReservationsListByBillingAccount_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists the reservations for a billing account and the roll up counts of reservations group by provisioning states. + /// + /// + /// May be used to filter by reservation properties. The filter supports 'eq', 'or', and 'and'. It does + /// not currently support 'ne', 'gt', 'le', 'ge', or 'not'. + /// May be used to sort order by reservation properties. + /// To indicate whether to refresh the roll up counts of the reservations group by provisioning + /// states + /// The selected provisioning state + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task ReservationsListByBillingAccountViaIdentity(global::System.String viaIdentity, string Filter, string Orderby, string refreshSummary, string selectedState, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/reservations$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/reservations'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/reservations" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + (string.IsNullOrEmpty(Filter) ? global::System.String.Empty : "$filter=" + global::System.Uri.EscapeDataString(Filter)) + + "&" + + (string.IsNullOrEmpty(Orderby) ? global::System.String.Empty : "$orderby=" + global::System.Uri.EscapeDataString(Orderby)) + + "&" + + (string.IsNullOrEmpty(refreshSummary) ? global::System.String.Empty : "refreshSummary=" + global::System.Uri.EscapeDataString(refreshSummary)) + + "&" + + (string.IsNullOrEmpty(selectedState) ? global::System.String.Empty : "selectedState=" + global::System.Uri.EscapeDataString(selectedState)) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.ReservationsListByBillingAccount_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task ReservationsListByBillingAccount_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationsListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you + /// will get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// May be used to filter by reservation properties. The filter supports 'eq', 'or', and 'and'. It does + /// not currently support 'ne', 'gt', 'le', 'ge', or 'not'. + /// May be used to sort order by reservation properties. + /// To indicate whether to refresh the roll up counts of the reservations group by provisioning + /// states + /// The selected provisioning state + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task ReservationsListByBillingAccount_Validate(string billingAccountName, string Filter, string Orderby, string refreshSummary, string selectedState, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(Filter),Filter); + await eventListener.AssertNotNull(nameof(Orderby),Orderby); + await eventListener.AssertNotNull(nameof(refreshSummary),refreshSummary); + await eventListener.AssertNotNull(nameof(selectedState),selectedState); + } + } + + /// + /// Lists the reservations for a billing profile and the roll up counts of reservations group by provisioning state. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// May be used to filter by reservation properties. The filter supports 'eq', 'or', and 'and'. It does + /// not currently support 'ne', 'gt', 'le', 'ge', or 'not'. + /// May be used to sort order by reservation properties. + /// To indicate whether to refresh the roll up counts of the reservations group by provisioning + /// state + /// The selected provisioning state + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task ReservationsListByBillingProfile(string billingAccountName, string billingProfileName, string Filter, string Orderby, string refreshSummary, string selectedState, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/billingProfiles/" + + global::System.Uri.EscapeDataString(billingProfileName) + + "/reservations" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + (string.IsNullOrEmpty(Filter) ? global::System.String.Empty : "$filter=" + global::System.Uri.EscapeDataString(Filter)) + + "&" + + (string.IsNullOrEmpty(Orderby) ? global::System.String.Empty : "$orderby=" + global::System.Uri.EscapeDataString(Orderby)) + + "&" + + (string.IsNullOrEmpty(refreshSummary) ? global::System.String.Empty : "refreshSummary=" + global::System.Uri.EscapeDataString(refreshSummary)) + + "&" + + (string.IsNullOrEmpty(selectedState) ? global::System.String.Empty : "selectedState=" + global::System.Uri.EscapeDataString(selectedState)) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.ReservationsListByBillingProfile_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists the reservations for a billing profile and the roll up counts of reservations group by provisioning state. + /// + /// + /// May be used to filter by reservation properties. The filter supports 'eq', 'or', and 'and'. It does + /// not currently support 'ne', 'gt', 'le', 'ge', or 'not'. + /// May be used to sort order by reservation properties. + /// To indicate whether to refresh the roll up counts of the reservations group by provisioning + /// state + /// The selected provisioning state + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task ReservationsListByBillingProfileViaIdentity(global::System.String viaIdentity, string Filter, string Orderby, string refreshSummary, string selectedState, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/billingProfiles/(?[^/]+)/reservations$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/reservations'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var billingProfileName = _match.Groups["billingProfileName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/billingProfiles/" + + billingProfileName + + "/reservations" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + + "&" + + (string.IsNullOrEmpty(Filter) ? global::System.String.Empty : "$filter=" + global::System.Uri.EscapeDataString(Filter)) + + "&" + + (string.IsNullOrEmpty(Orderby) ? global::System.String.Empty : "$orderby=" + global::System.Uri.EscapeDataString(Orderby)) + + "&" + + (string.IsNullOrEmpty(refreshSummary) ? global::System.String.Empty : "refreshSummary=" + global::System.Uri.EscapeDataString(refreshSummary)) + + "&" + + (string.IsNullOrEmpty(selectedState) ? global::System.String.Empty : "selectedState=" + global::System.Uri.EscapeDataString(selectedState)) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.ReservationsListByBillingProfile_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task ReservationsListByBillingProfile_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationsListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you + /// will get validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies a billing profile. + /// May be used to filter by reservation properties. The filter supports 'eq', 'or', and 'and'. It does + /// not currently support 'ne', 'gt', 'le', 'ge', or 'not'. + /// May be used to sort order by reservation properties. + /// To indicate whether to refresh the roll up counts of the reservations group by provisioning + /// state + /// The selected provisioning state + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task ReservationsListByBillingProfile_Validate(string billingAccountName, string billingProfileName, string Filter, string Orderby, string refreshSummary, string selectedState, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(billingProfileName),billingProfileName); + await eventListener.AssertNotNull(nameof(Filter),Filter); + await eventListener.AssertNotNull(nameof(Orderby),Orderby); + await eventListener.AssertNotNull(nameof(refreshSummary),refreshSummary); + await eventListener.AssertNotNull(nameof(selectedState),selectedState); + } + } + + /// + /// Lists the transactions for an invoice. Transactions include purchases, refunds and Azure usage charges. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies an invoice. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task TransactionsListByInvoice(string billingAccountName, string invoiceName, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + global::System.Uri.EscapeDataString(billingAccountName) + + "/invoices/" + + global::System.Uri.EscapeDataString(invoiceName) + + "/transactions" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.TransactionsListByInvoice_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// + /// Lists the transactions for an invoice. Transactions include purchases, refunds and Azure usage charges. + /// + /// + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + public async global::System.Threading.Tasks.Task TransactionsListByInvoiceViaIdentity(global::System.String viaIdentity, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + var apiVersion = @"2020-05-01"; + // Constant Parameters + using( NoSynchronizationContext ) + { + // verify that Identity format is an exact match for uri + + var _match = new global::System.Text.RegularExpressions.Regex("^/providers/Microsoft.Billing/billingAccounts/(?[^/]+)/invoices/(?[^/]+)/transactions$", global::System.Text.RegularExpressions.RegexOptions.IgnoreCase).Match(viaIdentity); + if (!_match.Success) + { + throw new global::System.Exception("Invalid identity for URI '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}/transactions'"); + } + + // replace URI parameters with values from identity + var billingAccountName = _match.Groups["billingAccountName"].Value; + var invoiceName = _match.Groups["invoiceName"].Value; + // construct URL + var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace( + "/providers/Microsoft.Billing/billingAccounts/" + + billingAccountName + + "/invoices/" + + invoiceName + + "/transactions" + + "?" + + "api-version=" + global::System.Uri.EscapeDataString(apiVersion) + ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2"); + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + // generate request object + var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}"); + var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get, _url); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; } + + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; } + // make the call + await this.TransactionsListByInvoice_Call(request,onOk,onDefault,eventListener,sender); + } + } + + /// Actual wire call for method. + /// the prepared HttpRequestMessage to send. + /// a delegate that is called when the remote service returns 200 (OK). + /// a delegate that is called when the remote service returns default (any response code not handled + /// elsewhere). + /// an instance that will receive events. + /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync pipeline to use to make the request. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task TransactionsListByInvoice_Call(global::System.Net.Http.HttpRequestMessage request, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.ISendAsync sender) + { + using( NoSynchronizationContext ) + { + global::System.Net.Http.HttpResponseMessage _response = null; + try + { + var sendTask = sender.SendAsync(request, eventListener); + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeCall, request); if( eventListener.Token.IsCancellationRequested ) { return; } + _response = await sendTask; + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ResponseCreated, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + var _contentType = _response.Content.Headers.ContentType?.MediaType; + + switch ( _response.StatusCode ) + { + case global::System.Net.HttpStatusCode.OK: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onOk(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.TransactionListResult.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + default: + { + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.BeforeResponseDispatch, _response); if( eventListener.Token.IsCancellationRequested ) { return; } + await onDefault(_response,_response.Content.ReadAsStringAsync().ContinueWith( body => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorResponse.FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(body.Result)) )); + break; + } + } + } + finally + { + // finally statements + await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Finally, request, _response); + _response?.Dispose(); + request?.Dispose(); + } + } + } + + /// + /// Validation method for method. Call this like the actual call, but you will get + /// validation events back. + /// + /// The ID that uniquely identifies a billing account. + /// The ID that uniquely identifies an invoice. + /// an instance that will receive events. + /// + /// A that will be complete when handling of the response is completed. + /// + internal async global::System.Threading.Tasks.Task TransactionsListByInvoice_Validate(string billingAccountName, string invoiceName, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + using( NoSynchronizationContext ) + { + await eventListener.AssertNotNull(nameof(billingAccountName),billingAccountName); + await eventListener.AssertNotNull(nameof(invoiceName),invoiceName); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20180301Preview/BillingPeriod.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20180301Preview/BillingPeriod.PowerShell.cs new file mode 100644 index 000000000000..7a1791d403f4 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20180301Preview/BillingPeriod.PowerShell.cs @@ -0,0 +1,192 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// A billing period resource. + [System.ComponentModel.TypeConverter(typeof(BillingPeriodTypeConverter))] + public partial class BillingPeriod + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal BillingPeriod(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.BillingPeriodPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("StartDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodInternal)this).StartDate = (global::System.DateTime?) content.GetValueForProperty("StartDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodInternal)this).StartDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("EndDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodInternal)this).EndDate = (global::System.DateTime?) content.GetValueForProperty("EndDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodInternal)this).EndDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("InvoiceId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodInternal)this).InvoiceId = (string[]) content.GetValueForProperty("InvoiceId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodInternal)this).InvoiceId, __y => TypeConverterExtensions.SelectToArray(__y, global::System.Convert.ToString)); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal BillingPeriod(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.BillingPeriodPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("StartDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodInternal)this).StartDate = (global::System.DateTime?) content.GetValueForProperty("StartDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodInternal)this).StartDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("EndDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodInternal)this).EndDate = (global::System.DateTime?) content.GetValueForProperty("EndDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodInternal)this).EndDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("InvoiceId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodInternal)this).InvoiceId = (string[]) content.GetValueForProperty("InvoiceId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodInternal)this).InvoiceId, __y => TypeConverterExtensions.SelectToArray(__y, global::System.Convert.ToString)); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriod DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new BillingPeriod(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriod DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new BillingPeriod(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriod FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// A billing period resource. + [System.ComponentModel.TypeConverter(typeof(BillingPeriodTypeConverter))] + public partial interface IBillingPeriod + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20180301Preview/BillingPeriod.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20180301Preview/BillingPeriod.TypeConverter.cs new file mode 100644 index 000000000000..c6a403265b36 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20180301Preview/BillingPeriod.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class BillingPeriodTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriod ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriod).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return BillingPeriod.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return BillingPeriod.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return BillingPeriod.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20180301Preview/BillingPeriod.cs b/swaggerci/billing/generated/api/Models/Api20180301Preview/BillingPeriod.cs new file mode 100644 index 000000000000..a95cc1d3e896 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20180301Preview/BillingPeriod.cs @@ -0,0 +1,137 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// A billing period resource. + public partial class BillingPeriod : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriod, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodInternal, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IValidates + { + /// + /// Backing field for Inherited model + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource __resource = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource(); + + /// The end of the date range covered by the billing period. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public global::System.DateTime? EndDate { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodPropertiesInternal)Property).BillingPeriodEndDate; } + + /// Resource Id. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id; } + + /// Array of invoice ids that associated with. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string[] InvoiceId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodPropertiesInternal)Property).InvoiceId; } + + /// Internal Acessors for EndDate + global::System.DateTime? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodInternal.EndDate { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodPropertiesInternal)Property).BillingPeriodEndDate; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodPropertiesInternal)Property).BillingPeriodEndDate = value; } + + /// Internal Acessors for InvoiceId + string[] Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodInternal.InvoiceId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodPropertiesInternal)Property).InvoiceId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodPropertiesInternal)Property).InvoiceId = value; } + + /// Internal Acessors for Property + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodProperties Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodInternal.Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.BillingPeriodProperties()); set { {_property = value;} } } + + /// Internal Acessors for StartDate + global::System.DateTime? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodInternal.StartDate { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodPropertiesInternal)Property).BillingPeriodStartDate; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodPropertiesInternal)Property).BillingPeriodStartDate = value; } + + /// Internal Acessors for Id + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id = value; } + + /// Internal Acessors for Name + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name = value; } + + /// Internal Acessors for Type + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type = value; } + + /// Resource name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodProperties _property; + + /// A billing period. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodProperties Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.BillingPeriodProperties()); set => this._property = value; } + + /// The start of the date range covered by the billing period. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public global::System.DateTime? StartDate { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodPropertiesInternal)Property).BillingPeriodStartDate; } + + /// Resource type. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type; } + + /// Creates an new instance. + public BillingPeriod() + { + + } + + /// Validates that this object meets the validation criteria. + /// an instance that will receive validation + /// events. + /// + /// A that will be complete when validation is completed. + /// + public async global::System.Threading.Tasks.Task Validate(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + await eventListener.AssertNotNull(nameof(__resource), __resource); + await eventListener.AssertObjectIsValid(nameof(__resource), __resource); + } + } + /// A billing period resource. + public partial interface IBillingPeriod : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource + { + /// The end of the date range covered by the billing period. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The end of the date range covered by the billing period.", + SerializedName = @"billingPeriodEndDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? EndDate { get; } + /// Array of invoice ids that associated with. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Array of invoice ids that associated with.", + SerializedName = @"invoiceIds", + PossibleTypes = new [] { typeof(string) })] + string[] InvoiceId { get; } + /// The start of the date range covered by the billing period. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The start of the date range covered by the billing period.", + SerializedName = @"billingPeriodStartDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? StartDate { get; } + + } + /// A billing period resource. + internal partial interface IBillingPeriodInternal : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal + { + /// The end of the date range covered by the billing period. + global::System.DateTime? EndDate { get; set; } + /// Array of invoice ids that associated with. + string[] InvoiceId { get; set; } + /// A billing period. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodProperties Property { get; set; } + /// The start of the date range covered by the billing period. + global::System.DateTime? StartDate { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20180301Preview/BillingPeriod.json.cs b/swaggerci/billing/generated/api/Models/Api20180301Preview/BillingPeriod.json.cs new file mode 100644 index 000000000000..fa26744248f2 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20180301Preview/BillingPeriod.json.cs @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// A billing period resource. + public partial class BillingPeriod + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal BillingPeriod(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + __resource = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource(json); + {_property = If( json?.PropertyT("properties"), out var __jsonProperties) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.BillingPeriodProperties.FromJson(__jsonProperties) : Property;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriod. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriod. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriod FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new BillingPeriod(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + __resource?.ToJson(container, serializationMode); + AddIf( null != this._property ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._property.ToJson(null,serializationMode) : null, "properties" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20180301Preview/BillingPeriodProperties.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20180301Preview/BillingPeriodProperties.PowerShell.cs new file mode 100644 index 000000000000..970e484ded19 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20180301Preview/BillingPeriodProperties.PowerShell.cs @@ -0,0 +1,162 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The properties of the billing period. + [System.ComponentModel.TypeConverter(typeof(BillingPeriodPropertiesTypeConverter))] + public partial class BillingPeriodProperties + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal BillingPeriodProperties(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("BillingPeriodStartDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodPropertiesInternal)this).BillingPeriodStartDate = (global::System.DateTime?) content.GetValueForProperty("BillingPeriodStartDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodPropertiesInternal)this).BillingPeriodStartDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("BillingPeriodEndDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodPropertiesInternal)this).BillingPeriodEndDate = (global::System.DateTime?) content.GetValueForProperty("BillingPeriodEndDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodPropertiesInternal)this).BillingPeriodEndDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("InvoiceId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodPropertiesInternal)this).InvoiceId = (string[]) content.GetValueForProperty("InvoiceId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodPropertiesInternal)this).InvoiceId, __y => TypeConverterExtensions.SelectToArray(__y, global::System.Convert.ToString)); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal BillingPeriodProperties(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("BillingPeriodStartDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodPropertiesInternal)this).BillingPeriodStartDate = (global::System.DateTime?) content.GetValueForProperty("BillingPeriodStartDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodPropertiesInternal)this).BillingPeriodStartDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("BillingPeriodEndDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodPropertiesInternal)this).BillingPeriodEndDate = (global::System.DateTime?) content.GetValueForProperty("BillingPeriodEndDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodPropertiesInternal)this).BillingPeriodEndDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("InvoiceId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodPropertiesInternal)this).InvoiceId = (string[]) content.GetValueForProperty("InvoiceId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodPropertiesInternal)this).InvoiceId, __y => TypeConverterExtensions.SelectToArray(__y, global::System.Convert.ToString)); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodProperties DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new BillingPeriodProperties(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodProperties DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new BillingPeriodProperties(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodProperties FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The properties of the billing period. + [System.ComponentModel.TypeConverter(typeof(BillingPeriodPropertiesTypeConverter))] + public partial interface IBillingPeriodProperties + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20180301Preview/BillingPeriodProperties.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20180301Preview/BillingPeriodProperties.TypeConverter.cs new file mode 100644 index 000000000000..9053ce842b8e --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20180301Preview/BillingPeriodProperties.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class BillingPeriodPropertiesTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodProperties ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodProperties).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return BillingPeriodProperties.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return BillingPeriodProperties.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return BillingPeriodProperties.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20180301Preview/BillingPeriodProperties.cs b/swaggerci/billing/generated/api/Models/Api20180301Preview/BillingPeriodProperties.cs new file mode 100644 index 000000000000..70f08a31da38 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20180301Preview/BillingPeriodProperties.cs @@ -0,0 +1,94 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of the billing period. + public partial class BillingPeriodProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodProperties, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodPropertiesInternal + { + + /// Backing field for property. + private global::System.DateTime? _billingPeriodEndDate; + + /// The end of the date range covered by the billing period. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public global::System.DateTime? BillingPeriodEndDate { get => this._billingPeriodEndDate; } + + /// Backing field for property. + private global::System.DateTime? _billingPeriodStartDate; + + /// The start of the date range covered by the billing period. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public global::System.DateTime? BillingPeriodStartDate { get => this._billingPeriodStartDate; } + + /// Backing field for property. + private string[] _invoiceId; + + /// Array of invoice ids that associated with. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string[] InvoiceId { get => this._invoiceId; } + + /// Internal Acessors for BillingPeriodEndDate + global::System.DateTime? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodPropertiesInternal.BillingPeriodEndDate { get => this._billingPeriodEndDate; set { {_billingPeriodEndDate = value;} } } + + /// Internal Acessors for BillingPeriodStartDate + global::System.DateTime? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodPropertiesInternal.BillingPeriodStartDate { get => this._billingPeriodStartDate; set { {_billingPeriodStartDate = value;} } } + + /// Internal Acessors for InvoiceId + string[] Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodPropertiesInternal.InvoiceId { get => this._invoiceId; set { {_invoiceId = value;} } } + + /// Creates an new instance. + public BillingPeriodProperties() + { + + } + } + /// The properties of the billing period. + public partial interface IBillingPeriodProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The end of the date range covered by the billing period. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The end of the date range covered by the billing period.", + SerializedName = @"billingPeriodEndDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? BillingPeriodEndDate { get; } + /// The start of the date range covered by the billing period. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The start of the date range covered by the billing period.", + SerializedName = @"billingPeriodStartDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? BillingPeriodStartDate { get; } + /// Array of invoice ids that associated with. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Array of invoice ids that associated with.", + SerializedName = @"invoiceIds", + PossibleTypes = new [] { typeof(string) })] + string[] InvoiceId { get; } + + } + /// The properties of the billing period. + internal partial interface IBillingPeriodPropertiesInternal + + { + /// The end of the date range covered by the billing period. + global::System.DateTime? BillingPeriodEndDate { get; set; } + /// The start of the date range covered by the billing period. + global::System.DateTime? BillingPeriodStartDate { get; set; } + /// Array of invoice ids that associated with. + string[] InvoiceId { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20180301Preview/BillingPeriodProperties.json.cs b/swaggerci/billing/generated/api/Models/Api20180301Preview/BillingPeriodProperties.json.cs new file mode 100644 index 000000000000..10eb0985c55f --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20180301Preview/BillingPeriodProperties.json.cs @@ -0,0 +1,129 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of the billing period. + public partial class BillingPeriodProperties + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal BillingPeriodProperties(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_billingPeriodStartDate = If( json?.PropertyT("billingPeriodStartDate"), out var __jsonBillingPeriodStartDate) ? global::System.DateTime.TryParse((string)__jsonBillingPeriodStartDate, global::System.Globalization.CultureInfo.InvariantCulture, global::System.Globalization.DateTimeStyles.AdjustToUniversal, out var __jsonBillingPeriodStartDateValue) ? __jsonBillingPeriodStartDateValue : BillingPeriodStartDate : BillingPeriodStartDate;} + {_billingPeriodEndDate = If( json?.PropertyT("billingPeriodEndDate"), out var __jsonBillingPeriodEndDate) ? global::System.DateTime.TryParse((string)__jsonBillingPeriodEndDate, global::System.Globalization.CultureInfo.InvariantCulture, global::System.Globalization.DateTimeStyles.AdjustToUniversal, out var __jsonBillingPeriodEndDateValue) ? __jsonBillingPeriodEndDateValue : BillingPeriodEndDate : BillingPeriodEndDate;} + {_invoiceId = If( json?.PropertyT("invoiceIds"), out var __jsonInvoiceIds) ? If( __jsonInvoiceIds as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(string) (__u is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString __t ? (string)(__t.ToString()) : null)) ))() : null : InvoiceId;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodProperties. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodProperties. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodProperties FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new BillingPeriodProperties(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._billingPeriodStartDate ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._billingPeriodStartDate?.ToString(@"yyyy-MM-dd",global::System.Globalization.CultureInfo.InvariantCulture)) : null, "billingPeriodStartDate" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._billingPeriodEndDate ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._billingPeriodEndDate?.ToString(@"yyyy-MM-dd",global::System.Globalization.CultureInfo.InvariantCulture)) : null, "billingPeriodEndDate" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + if (null != this._invoiceId) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(); + foreach( var __x in this._invoiceId ) + { + AddIf(null != (((object)__x)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(__x.ToString()) : null ,__w.Add); + } + container.Add("invoiceIds",__w); + } + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20180301Preview/BillingPeriodsListResult.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20180301Preview/BillingPeriodsListResult.PowerShell.cs new file mode 100644 index 000000000000..d595012bf23b --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20180301Preview/BillingPeriodsListResult.PowerShell.cs @@ -0,0 +1,156 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// Result of listing billing periods. It contains a list of available billing periods in reverse chronological order. + /// + [System.ComponentModel.TypeConverter(typeof(BillingPeriodsListResultTypeConverter))] + public partial class BillingPeriodsListResult + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal BillingPeriodsListResult(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodsListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriod[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodsListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.BillingPeriodTypeConverter.ConvertFrom)); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodsListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodsListResultInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal BillingPeriodsListResult(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodsListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriod[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodsListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.BillingPeriodTypeConverter.ConvertFrom)); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodsListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodsListResultInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodsListResult DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new BillingPeriodsListResult(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodsListResult DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new BillingPeriodsListResult(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodsListResult FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Result of listing billing periods. It contains a list of available billing periods in reverse chronological order. + [System.ComponentModel.TypeConverter(typeof(BillingPeriodsListResultTypeConverter))] + public partial interface IBillingPeriodsListResult + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20180301Preview/BillingPeriodsListResult.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20180301Preview/BillingPeriodsListResult.TypeConverter.cs new file mode 100644 index 000000000000..c57459472a32 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20180301Preview/BillingPeriodsListResult.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class BillingPeriodsListResultTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodsListResult ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodsListResult).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return BillingPeriodsListResult.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return BillingPeriodsListResult.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return BillingPeriodsListResult.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20180301Preview/BillingPeriodsListResult.cs b/swaggerci/billing/generated/api/Models/Api20180301Preview/BillingPeriodsListResult.cs new file mode 100644 index 000000000000..e8160fbf5f85 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20180301Preview/BillingPeriodsListResult.cs @@ -0,0 +1,76 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// + /// Result of listing billing periods. It contains a list of available billing periods in reverse chronological order. + /// + public partial class BillingPeriodsListResult : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodsListResult, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodsListResultInternal + { + + /// Internal Acessors for NextLink + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodsListResultInternal.NextLink { get => this._nextLink; set { {_nextLink = value;} } } + + /// Internal Acessors for Value + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriod[] Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodsListResultInternal.Value { get => this._value; set { {_value = value;} } } + + /// Backing field for property. + private string _nextLink; + + /// The link (url) to the next page of results. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string NextLink { get => this._nextLink; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriod[] _value; + + /// The list of billing periods. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriod[] Value { get => this._value; } + + /// Creates an new instance. + public BillingPeriodsListResult() + { + + } + } + /// Result of listing billing periods. It contains a list of available billing periods in reverse chronological order. + public partial interface IBillingPeriodsListResult : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The link (url) to the next page of results. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The link (url) to the next page of results.", + SerializedName = @"nextLink", + PossibleTypes = new [] { typeof(string) })] + string NextLink { get; } + /// The list of billing periods. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The list of billing periods.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriod) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriod[] Value { get; } + + } + /// Result of listing billing periods. It contains a list of available billing periods in reverse chronological order. + internal partial interface IBillingPeriodsListResultInternal + + { + /// The link (url) to the next page of results. + string NextLink { get; set; } + /// The list of billing periods. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriod[] Value { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20180301Preview/BillingPeriodsListResult.json.cs b/swaggerci/billing/generated/api/Models/Api20180301Preview/BillingPeriodsListResult.json.cs new file mode 100644 index 000000000000..3d88fea1d939 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20180301Preview/BillingPeriodsListResult.json.cs @@ -0,0 +1,126 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// + /// Result of listing billing periods. It contains a list of available billing periods in reverse chronological order. + /// + public partial class BillingPeriodsListResult + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal BillingPeriodsListResult(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_value = If( json?.PropertyT("value"), out var __jsonValue) ? If( __jsonValue as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriod) (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.BillingPeriod.FromJson(__u) )) ))() : null : Value;} + {_nextLink = If( json?.PropertyT("nextLink"), out var __jsonNextLink) ? (string)__jsonNextLink : (string)NextLink;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodsListResult. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodsListResult. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodsListResult FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new BillingPeriodsListResult(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + if (null != this._value) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(); + foreach( var __x in this._value ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("value",__w); + } + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._nextLink)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._nextLink.ToString()) : null, "nextLink" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20180301Preview/EnrollmentAccountListResult.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20180301Preview/EnrollmentAccountListResult.PowerShell.cs new file mode 100644 index 000000000000..1583f6da4c7d --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20180301Preview/EnrollmentAccountListResult.PowerShell.cs @@ -0,0 +1,154 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// Result of listing enrollment accounts. + [System.ComponentModel.TypeConverter(typeof(EnrollmentAccountListResultTypeConverter))] + public partial class EnrollmentAccountListResult + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountListResult DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new EnrollmentAccountListResult(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountListResult DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new EnrollmentAccountListResult(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal EnrollmentAccountListResult(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummary[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.EnrollmentAccountSummaryTypeConverter.ConvertFrom)); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountListResultInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal EnrollmentAccountListResult(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummary[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.EnrollmentAccountSummaryTypeConverter.ConvertFrom)); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountListResultInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountListResult FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Result of listing enrollment accounts. + [System.ComponentModel.TypeConverter(typeof(EnrollmentAccountListResultTypeConverter))] + public partial interface IEnrollmentAccountListResult + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20180301Preview/EnrollmentAccountListResult.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20180301Preview/EnrollmentAccountListResult.TypeConverter.cs new file mode 100644 index 000000000000..946d72fefdd7 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20180301Preview/EnrollmentAccountListResult.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class EnrollmentAccountListResultTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountListResult ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountListResult).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return EnrollmentAccountListResult.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return EnrollmentAccountListResult.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return EnrollmentAccountListResult.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20180301Preview/EnrollmentAccountListResult.cs b/swaggerci/billing/generated/api/Models/Api20180301Preview/EnrollmentAccountListResult.cs new file mode 100644 index 000000000000..494d7c0dc887 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20180301Preview/EnrollmentAccountListResult.cs @@ -0,0 +1,74 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// Result of listing enrollment accounts. + public partial class EnrollmentAccountListResult : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountListResult, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountListResultInternal + { + + /// Internal Acessors for NextLink + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountListResultInternal.NextLink { get => this._nextLink; set { {_nextLink = value;} } } + + /// Internal Acessors for Value + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummary[] Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountListResultInternal.Value { get => this._value; set { {_value = value;} } } + + /// Backing field for property. + private string _nextLink; + + /// The link (url) to the next page of results. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string NextLink { get => this._nextLink; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummary[] _value; + + /// The list of enrollment accounts. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummary[] Value { get => this._value; } + + /// Creates an new instance. + public EnrollmentAccountListResult() + { + + } + } + /// Result of listing enrollment accounts. + public partial interface IEnrollmentAccountListResult : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The link (url) to the next page of results. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The link (url) to the next page of results.", + SerializedName = @"nextLink", + PossibleTypes = new [] { typeof(string) })] + string NextLink { get; } + /// The list of enrollment accounts. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The list of enrollment accounts.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummary) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummary[] Value { get; } + + } + /// Result of listing enrollment accounts. + internal partial interface IEnrollmentAccountListResultInternal + + { + /// The link (url) to the next page of results. + string NextLink { get; set; } + /// The list of enrollment accounts. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummary[] Value { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20180301Preview/EnrollmentAccountListResult.json.cs b/swaggerci/billing/generated/api/Models/Api20180301Preview/EnrollmentAccountListResult.json.cs new file mode 100644 index 000000000000..b9f98c49e9c6 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20180301Preview/EnrollmentAccountListResult.json.cs @@ -0,0 +1,124 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// Result of listing enrollment accounts. + public partial class EnrollmentAccountListResult + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal EnrollmentAccountListResult(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_value = If( json?.PropertyT("value"), out var __jsonValue) ? If( __jsonValue as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummary) (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.EnrollmentAccountSummary.FromJson(__u) )) ))() : null : Value;} + {_nextLink = If( json?.PropertyT("nextLink"), out var __jsonNextLink) ? (string)__jsonNextLink : (string)NextLink;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountListResult. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountListResult. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountListResult FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new EnrollmentAccountListResult(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + if (null != this._value) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(); + foreach( var __x in this._value ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("value",__w); + } + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._nextLink)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._nextLink.ToString()) : null, "nextLink" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20180301Preview/EnrollmentAccountSummary.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20180301Preview/EnrollmentAccountSummary.PowerShell.cs new file mode 100644 index 000000000000..7b342d6ff6cf --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20180301Preview/EnrollmentAccountSummary.PowerShell.cs @@ -0,0 +1,178 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// An enrollment account resource. + [System.ComponentModel.TypeConverter(typeof(EnrollmentAccountSummaryTypeConverter))] + public partial class EnrollmentAccountSummary + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummary DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new EnrollmentAccountSummary(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummary DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new EnrollmentAccountSummary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal EnrollmentAccountSummary(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummaryInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummaryProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummaryInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.EnrollmentAccountSummaryPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("PrincipalName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummaryInternal)this).PrincipalName = (string) content.GetValueForProperty("PrincipalName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummaryInternal)this).PrincipalName, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal EnrollmentAccountSummary(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummaryInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummaryProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummaryInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.EnrollmentAccountSummaryPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("PrincipalName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummaryInternal)this).PrincipalName = (string) content.GetValueForProperty("PrincipalName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummaryInternal)this).PrincipalName, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummary FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// An enrollment account resource. + [System.ComponentModel.TypeConverter(typeof(EnrollmentAccountSummaryTypeConverter))] + public partial interface IEnrollmentAccountSummary + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20180301Preview/EnrollmentAccountSummary.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20180301Preview/EnrollmentAccountSummary.TypeConverter.cs new file mode 100644 index 000000000000..466a870c028e --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20180301Preview/EnrollmentAccountSummary.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class EnrollmentAccountSummaryTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummary ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummary).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return EnrollmentAccountSummary.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return EnrollmentAccountSummary.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return EnrollmentAccountSummary.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20180301Preview/EnrollmentAccountSummary.cs b/swaggerci/billing/generated/api/Models/Api20180301Preview/EnrollmentAccountSummary.cs new file mode 100644 index 000000000000..f27af763b278 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20180301Preview/EnrollmentAccountSummary.cs @@ -0,0 +1,103 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// An enrollment account resource. + public partial class EnrollmentAccountSummary : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummary, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummaryInternal, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IValidates + { + /// + /// Backing field for Inherited model + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource __resource = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource(); + + /// Resource Id. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id; } + + /// Internal Acessors for PrincipalName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummaryInternal.PrincipalName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummaryPropertiesInternal)Property).PrincipalName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummaryPropertiesInternal)Property).PrincipalName = value; } + + /// Internal Acessors for Property + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummaryProperties Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummaryInternal.Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.EnrollmentAccountSummaryProperties()); set { {_property = value;} } } + + /// Internal Acessors for Id + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id = value; } + + /// Internal Acessors for Name + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name = value; } + + /// Internal Acessors for Type + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type = value; } + + /// Resource name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name; } + + /// The account owner's principal name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string PrincipalName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummaryPropertiesInternal)Property).PrincipalName; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummaryProperties _property; + + /// An enrollment account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummaryProperties Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.EnrollmentAccountSummaryProperties()); set => this._property = value; } + + /// Resource type. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type; } + + /// Creates an new instance. + public EnrollmentAccountSummary() + { + + } + + /// Validates that this object meets the validation criteria. + /// an instance that will receive validation + /// events. + /// + /// A that will be complete when validation is completed. + /// + public async global::System.Threading.Tasks.Task Validate(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + await eventListener.AssertNotNull(nameof(__resource), __resource); + await eventListener.AssertObjectIsValid(nameof(__resource), __resource); + } + } + /// An enrollment account resource. + public partial interface IEnrollmentAccountSummary : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource + { + /// The account owner's principal name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The account owner's principal name.", + SerializedName = @"principalName", + PossibleTypes = new [] { typeof(string) })] + string PrincipalName { get; } + + } + /// An enrollment account resource. + internal partial interface IEnrollmentAccountSummaryInternal : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal + { + /// The account owner's principal name. + string PrincipalName { get; set; } + /// An enrollment account. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummaryProperties Property { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20180301Preview/EnrollmentAccountSummary.json.cs b/swaggerci/billing/generated/api/Models/Api20180301Preview/EnrollmentAccountSummary.json.cs new file mode 100644 index 000000000000..d5e9ca51ec62 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20180301Preview/EnrollmentAccountSummary.json.cs @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// An enrollment account resource. + public partial class EnrollmentAccountSummary + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal EnrollmentAccountSummary(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + __resource = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource(json); + {_property = If( json?.PropertyT("properties"), out var __jsonProperties) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.EnrollmentAccountSummaryProperties.FromJson(__jsonProperties) : Property;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummary. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummary. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummary FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new EnrollmentAccountSummary(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + __resource?.ToJson(container, serializationMode); + AddIf( null != this._property ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._property.ToJson(null,serializationMode) : null, "properties" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20180301Preview/EnrollmentAccountSummaryProperties.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20180301Preview/EnrollmentAccountSummaryProperties.PowerShell.cs new file mode 100644 index 000000000000..c6ac2a9359aa --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20180301Preview/EnrollmentAccountSummaryProperties.PowerShell.cs @@ -0,0 +1,148 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The properties of the enrollment account. + [System.ComponentModel.TypeConverter(typeof(EnrollmentAccountSummaryPropertiesTypeConverter))] + public partial class EnrollmentAccountSummaryProperties + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummaryProperties DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new EnrollmentAccountSummaryProperties(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummaryProperties DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new EnrollmentAccountSummaryProperties(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal EnrollmentAccountSummaryProperties(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("PrincipalName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummaryPropertiesInternal)this).PrincipalName = (string) content.GetValueForProperty("PrincipalName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummaryPropertiesInternal)this).PrincipalName, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal EnrollmentAccountSummaryProperties(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("PrincipalName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummaryPropertiesInternal)this).PrincipalName = (string) content.GetValueForProperty("PrincipalName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummaryPropertiesInternal)this).PrincipalName, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// + /// an instance of the model class. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummaryProperties FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The properties of the enrollment account. + [System.ComponentModel.TypeConverter(typeof(EnrollmentAccountSummaryPropertiesTypeConverter))] + public partial interface IEnrollmentAccountSummaryProperties + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20180301Preview/EnrollmentAccountSummaryProperties.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20180301Preview/EnrollmentAccountSummaryProperties.TypeConverter.cs new file mode 100644 index 000000000000..df0bfb7ad53a --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20180301Preview/EnrollmentAccountSummaryProperties.TypeConverter.cs @@ -0,0 +1,149 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class EnrollmentAccountSummaryPropertiesTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise + /// false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummaryProperties ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummaryProperties).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return EnrollmentAccountSummaryProperties.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return EnrollmentAccountSummaryProperties.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return EnrollmentAccountSummaryProperties.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20180301Preview/EnrollmentAccountSummaryProperties.cs b/swaggerci/billing/generated/api/Models/Api20180301Preview/EnrollmentAccountSummaryProperties.cs new file mode 100644 index 000000000000..c9aebed67629 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20180301Preview/EnrollmentAccountSummaryProperties.cs @@ -0,0 +1,54 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of the enrollment account. + public partial class EnrollmentAccountSummaryProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummaryProperties, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummaryPropertiesInternal + { + + /// Internal Acessors for PrincipalName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummaryPropertiesInternal.PrincipalName { get => this._principalName; set { {_principalName = value;} } } + + /// Backing field for property. + private string _principalName; + + /// The account owner's principal name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string PrincipalName { get => this._principalName; } + + /// Creates an new instance. + public EnrollmentAccountSummaryProperties() + { + + } + } + /// The properties of the enrollment account. + public partial interface IEnrollmentAccountSummaryProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The account owner's principal name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The account owner's principal name.", + SerializedName = @"principalName", + PossibleTypes = new [] { typeof(string) })] + string PrincipalName { get; } + + } + /// The properties of the enrollment account. + internal partial interface IEnrollmentAccountSummaryPropertiesInternal + + { + /// The account owner's principal name. + string PrincipalName { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20180301Preview/EnrollmentAccountSummaryProperties.json.cs b/swaggerci/billing/generated/api/Models/Api20180301Preview/EnrollmentAccountSummaryProperties.json.cs new file mode 100644 index 000000000000..760cbb71238e --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20180301Preview/EnrollmentAccountSummaryProperties.json.cs @@ -0,0 +1,112 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of the enrollment account. + public partial class EnrollmentAccountSummaryProperties + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal EnrollmentAccountSummaryProperties(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_principalName = If( json?.PropertyT("principalName"), out var __jsonPrincipalName) ? (string)__jsonPrincipalName : (string)PrincipalName;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummaryProperties. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummaryProperties. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummaryProperties FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new EnrollmentAccountSummaryProperties(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._principalName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._principalName.ToString()) : null, "principalName" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20180301Preview/ErrorDetails.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20180301Preview/ErrorDetails.PowerShell.cs new file mode 100644 index 000000000000..253a85b8f07d --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20180301Preview/ErrorDetails.PowerShell.cs @@ -0,0 +1,168 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The details of the error. + [System.ComponentModel.TypeConverter(typeof(ErrorDetailsTypeConverter))] + public partial class ErrorDetails + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetails DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new ErrorDetails(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetails DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new ErrorDetails(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal ErrorDetails(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Code")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetailsInternal)this).Code = (string) content.GetValueForProperty("Code",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetailsInternal)this).Code, global::System.Convert.ToString); + } + if (content.Contains("Message")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetailsInternal)this).Message = (string) content.GetValueForProperty("Message",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetailsInternal)this).Message, global::System.Convert.ToString); + } + if (content.Contains("Target")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetailsInternal)this).Target = (string) content.GetValueForProperty("Target",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetailsInternal)this).Target, global::System.Convert.ToString); + } + if (content.Contains("Detail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetailsInternal)this).Detail = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorSubDetailsItem[]) content.GetValueForProperty("Detail",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetailsInternal)this).Detail, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorSubDetailsItemTypeConverter.ConvertFrom)); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal ErrorDetails(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Code")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetailsInternal)this).Code = (string) content.GetValueForProperty("Code",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetailsInternal)this).Code, global::System.Convert.ToString); + } + if (content.Contains("Message")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetailsInternal)this).Message = (string) content.GetValueForProperty("Message",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetailsInternal)this).Message, global::System.Convert.ToString); + } + if (content.Contains("Target")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetailsInternal)this).Target = (string) content.GetValueForProperty("Target",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetailsInternal)this).Target, global::System.Convert.ToString); + } + if (content.Contains("Detail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetailsInternal)this).Detail = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorSubDetailsItem[]) content.GetValueForProperty("Detail",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetailsInternal)this).Detail, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorSubDetailsItemTypeConverter.ConvertFrom)); + } + AfterDeserializePSObject(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetails FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The details of the error. + [System.ComponentModel.TypeConverter(typeof(ErrorDetailsTypeConverter))] + public partial interface IErrorDetails + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20180301Preview/ErrorDetails.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20180301Preview/ErrorDetails.TypeConverter.cs new file mode 100644 index 000000000000..51743ebf552b --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20180301Preview/ErrorDetails.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class ErrorDetailsTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetails ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetails).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return ErrorDetails.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return ErrorDetails.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return ErrorDetails.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20180301Preview/ErrorDetails.cs b/swaggerci/billing/generated/api/Models/Api20180301Preview/ErrorDetails.cs new file mode 100644 index 000000000000..9f2e778b29d9 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20180301Preview/ErrorDetails.cs @@ -0,0 +1,114 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The details of the error. + public partial class ErrorDetails : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetails, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetailsInternal + { + + /// Backing field for property. + private string _code; + + /// Error code. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Code { get => this._code; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorSubDetailsItem[] _detail; + + /// The sub details of the error. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorSubDetailsItem[] Detail { get => this._detail; } + + /// Backing field for property. + private string _message; + + /// Error message indicating why the operation failed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Message { get => this._message; } + + /// Internal Acessors for Code + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetailsInternal.Code { get => this._code; set { {_code = value;} } } + + /// Internal Acessors for Detail + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorSubDetailsItem[] Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetailsInternal.Detail { get => this._detail; set { {_detail = value;} } } + + /// Internal Acessors for Message + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetailsInternal.Message { get => this._message; set { {_message = value;} } } + + /// Internal Acessors for Target + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetailsInternal.Target { get => this._target; set { {_target = value;} } } + + /// Backing field for property. + private string _target; + + /// The target of the particular error. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Target { get => this._target; } + + /// Creates an new instance. + public ErrorDetails() + { + + } + } + /// The details of the error. + public partial interface IErrorDetails : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// Error code. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Error code.", + SerializedName = @"code", + PossibleTypes = new [] { typeof(string) })] + string Code { get; } + /// The sub details of the error. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The sub details of the error.", + SerializedName = @"details", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorSubDetailsItem) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorSubDetailsItem[] Detail { get; } + /// Error message indicating why the operation failed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Error message indicating why the operation failed.", + SerializedName = @"message", + PossibleTypes = new [] { typeof(string) })] + string Message { get; } + /// The target of the particular error. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The target of the particular error.", + SerializedName = @"target", + PossibleTypes = new [] { typeof(string) })] + string Target { get; } + + } + /// The details of the error. + internal partial interface IErrorDetailsInternal + + { + /// Error code. + string Code { get; set; } + /// The sub details of the error. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorSubDetailsItem[] Detail { get; set; } + /// Error message indicating why the operation failed. + string Message { get; set; } + /// The target of the particular error. + string Target { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20180301Preview/ErrorDetails.json.cs b/swaggerci/billing/generated/api/Models/Api20180301Preview/ErrorDetails.json.cs new file mode 100644 index 000000000000..fbd849021653 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20180301Preview/ErrorDetails.json.cs @@ -0,0 +1,134 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The details of the error. + public partial class ErrorDetails + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal ErrorDetails(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_code = If( json?.PropertyT("code"), out var __jsonCode) ? (string)__jsonCode : (string)Code;} + {_message = If( json?.PropertyT("message"), out var __jsonMessage) ? (string)__jsonMessage : (string)Message;} + {_target = If( json?.PropertyT("target"), out var __jsonTarget) ? (string)__jsonTarget : (string)Target;} + {_detail = If( json?.PropertyT("details"), out var __jsonDetails) ? If( __jsonDetails as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorSubDetailsItem) (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorSubDetailsItem.FromJson(__u) )) ))() : null : Detail;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetails. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetails. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetails FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new ErrorDetails(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._code)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._code.ToString()) : null, "code" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._message)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._message.ToString()) : null, "message" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._target)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._target.ToString()) : null, "target" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + if (null != this._detail) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(); + foreach( var __x in this._detail ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("details",__w); + } + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20180301Preview/ErrorResponse.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20180301Preview/ErrorResponse.PowerShell.cs new file mode 100644 index 000000000000..8015b5dba511 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20180301Preview/ErrorResponse.PowerShell.cs @@ -0,0 +1,180 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// Error response indicates that the service is not able to process the incoming request. The reason is provided in the error + /// message. + /// + [System.ComponentModel.TypeConverter(typeof(ErrorResponseTypeConverter))] + public partial class ErrorResponse + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new ErrorResponse(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new ErrorResponse(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal ErrorResponse(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Error")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponseInternal)this).Error = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetails) content.GetValueForProperty("Error",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponseInternal)this).Error, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorDetailsTypeConverter.ConvertFrom); + } + if (content.Contains("Code")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponseInternal)this).Code = (string) content.GetValueForProperty("Code",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponseInternal)this).Code, global::System.Convert.ToString); + } + if (content.Contains("Message")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponseInternal)this).Message = (string) content.GetValueForProperty("Message",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponseInternal)this).Message, global::System.Convert.ToString); + } + if (content.Contains("Target")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponseInternal)this).Target = (string) content.GetValueForProperty("Target",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponseInternal)this).Target, global::System.Convert.ToString); + } + if (content.Contains("Detail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponseInternal)this).Detail = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorSubDetailsItem[]) content.GetValueForProperty("Detail",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponseInternal)this).Detail, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorSubDetailsItemTypeConverter.ConvertFrom)); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal ErrorResponse(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Error")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponseInternal)this).Error = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetails) content.GetValueForProperty("Error",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponseInternal)this).Error, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorDetailsTypeConverter.ConvertFrom); + } + if (content.Contains("Code")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponseInternal)this).Code = (string) content.GetValueForProperty("Code",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponseInternal)this).Code, global::System.Convert.ToString); + } + if (content.Contains("Message")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponseInternal)this).Message = (string) content.GetValueForProperty("Message",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponseInternal)this).Message, global::System.Convert.ToString); + } + if (content.Contains("Target")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponseInternal)this).Target = (string) content.GetValueForProperty("Target",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponseInternal)this).Target, global::System.Convert.ToString); + } + if (content.Contains("Detail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponseInternal)this).Detail = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorSubDetailsItem[]) content.GetValueForProperty("Detail",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponseInternal)this).Detail, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorSubDetailsItemTypeConverter.ConvertFrom)); + } + AfterDeserializePSObject(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Error response indicates that the service is not able to process the incoming request. The reason is provided in the error + /// message. + [System.ComponentModel.TypeConverter(typeof(ErrorResponseTypeConverter))] + public partial interface IErrorResponse + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20180301Preview/ErrorResponse.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20180301Preview/ErrorResponse.TypeConverter.cs new file mode 100644 index 000000000000..843948646fd9 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20180301Preview/ErrorResponse.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class ErrorResponseTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return ErrorResponse.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return ErrorResponse.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return ErrorResponse.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20180301Preview/ErrorResponse.cs b/swaggerci/billing/generated/api/Models/Api20180301Preview/ErrorResponse.cs new file mode 100644 index 000000000000..21f444d0ded4 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20180301Preview/ErrorResponse.cs @@ -0,0 +1,119 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// + /// Error response indicates that the service is not able to process the incoming request. The reason is provided in the error + /// message. + /// + public partial class ErrorResponse : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponseInternal + { + + /// Error code. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string Code { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetailsInternal)Error).Code; } + + /// The sub details of the error. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorSubDetailsItem[] Detail { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetailsInternal)Error).Detail; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetails _error; + + /// The details of the error. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetails Error { get => (this._error = this._error ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorDetails()); set => this._error = value; } + + /// Error message indicating why the operation failed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string Message { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetailsInternal)Error).Message; } + + /// Internal Acessors for Code + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponseInternal.Code { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetailsInternal)Error).Code; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetailsInternal)Error).Code = value; } + + /// Internal Acessors for Detail + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorSubDetailsItem[] Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponseInternal.Detail { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetailsInternal)Error).Detail; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetailsInternal)Error).Detail = value; } + + /// Internal Acessors for Error + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetails Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponseInternal.Error { get => (this._error = this._error ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorDetails()); set { {_error = value;} } } + + /// Internal Acessors for Message + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponseInternal.Message { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetailsInternal)Error).Message; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetailsInternal)Error).Message = value; } + + /// Internal Acessors for Target + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponseInternal.Target { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetailsInternal)Error).Target; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetailsInternal)Error).Target = value; } + + /// The target of the particular error. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string Target { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetailsInternal)Error).Target; } + + /// Creates an new instance. + public ErrorResponse() + { + + } + } + /// Error response indicates that the service is not able to process the incoming request. The reason is provided in the error + /// message. + public partial interface IErrorResponse : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// Error code. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Error code.", + SerializedName = @"code", + PossibleTypes = new [] { typeof(string) })] + string Code { get; } + /// The sub details of the error. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The sub details of the error.", + SerializedName = @"details", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorSubDetailsItem) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorSubDetailsItem[] Detail { get; } + /// Error message indicating why the operation failed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Error message indicating why the operation failed.", + SerializedName = @"message", + PossibleTypes = new [] { typeof(string) })] + string Message { get; } + /// The target of the particular error. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The target of the particular error.", + SerializedName = @"target", + PossibleTypes = new [] { typeof(string) })] + string Target { get; } + + } + /// Error response indicates that the service is not able to process the incoming request. The reason is provided in the error + /// message. + internal partial interface IErrorResponseInternal + + { + /// Error code. + string Code { get; set; } + /// The sub details of the error. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorSubDetailsItem[] Detail { get; set; } + /// The details of the error. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorDetails Error { get; set; } + /// Error message indicating why the operation failed. + string Message { get; set; } + /// The target of the particular error. + string Target { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20180301Preview/ErrorResponse.json.cs b/swaggerci/billing/generated/api/Models/Api20180301Preview/ErrorResponse.json.cs new file mode 100644 index 000000000000..12c3586f0edf --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20180301Preview/ErrorResponse.json.cs @@ -0,0 +1,111 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// + /// Error response indicates that the service is not able to process the incoming request. The reason is provided in the error + /// message. + /// + public partial class ErrorResponse + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal ErrorResponse(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_error = If( json?.PropertyT("error"), out var __jsonError) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.ErrorDetails.FromJson(__jsonError) : Error;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new ErrorResponse(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != this._error ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._error.ToJson(null,serializationMode) : null, "error" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20180301Preview/ErrorSubDetailsItem.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20180301Preview/ErrorSubDetailsItem.PowerShell.cs new file mode 100644 index 000000000000..fedcb33709b4 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20180301Preview/ErrorSubDetailsItem.PowerShell.cs @@ -0,0 +1,158 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + [System.ComponentModel.TypeConverter(typeof(ErrorSubDetailsItemTypeConverter))] + public partial class ErrorSubDetailsItem + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorSubDetailsItem DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new ErrorSubDetailsItem(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorSubDetailsItem DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new ErrorSubDetailsItem(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal ErrorSubDetailsItem(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Code")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorSubDetailsItemInternal)this).Code = (string) content.GetValueForProperty("Code",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorSubDetailsItemInternal)this).Code, global::System.Convert.ToString); + } + if (content.Contains("Message")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorSubDetailsItemInternal)this).Message = (string) content.GetValueForProperty("Message",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorSubDetailsItemInternal)this).Message, global::System.Convert.ToString); + } + if (content.Contains("Target")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorSubDetailsItemInternal)this).Target = (string) content.GetValueForProperty("Target",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorSubDetailsItemInternal)this).Target, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal ErrorSubDetailsItem(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Code")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorSubDetailsItemInternal)this).Code = (string) content.GetValueForProperty("Code",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorSubDetailsItemInternal)this).Code, global::System.Convert.ToString); + } + if (content.Contains("Message")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorSubDetailsItemInternal)this).Message = (string) content.GetValueForProperty("Message",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorSubDetailsItemInternal)this).Message, global::System.Convert.ToString); + } + if (content.Contains("Target")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorSubDetailsItemInternal)this).Target = (string) content.GetValueForProperty("Target",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorSubDetailsItemInternal)this).Target, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorSubDetailsItem FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + [System.ComponentModel.TypeConverter(typeof(ErrorSubDetailsItemTypeConverter))] + public partial interface IErrorSubDetailsItem + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20180301Preview/ErrorSubDetailsItem.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20180301Preview/ErrorSubDetailsItem.TypeConverter.cs new file mode 100644 index 000000000000..27a7dab1ed09 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20180301Preview/ErrorSubDetailsItem.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class ErrorSubDetailsItemTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorSubDetailsItem ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorSubDetailsItem).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return ErrorSubDetailsItem.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return ErrorSubDetailsItem.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return ErrorSubDetailsItem.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20180301Preview/ErrorSubDetailsItem.cs b/swaggerci/billing/generated/api/Models/Api20180301Preview/ErrorSubDetailsItem.cs new file mode 100644 index 000000000000..ed28f9f63ab4 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20180301Preview/ErrorSubDetailsItem.cs @@ -0,0 +1,91 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + public partial class ErrorSubDetailsItem : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorSubDetailsItem, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorSubDetailsItemInternal + { + + /// Backing field for property. + private string _code; + + /// Error code. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Code { get => this._code; } + + /// Backing field for property. + private string _message; + + /// Error message indicating why the operation failed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Message { get => this._message; } + + /// Internal Acessors for Code + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorSubDetailsItemInternal.Code { get => this._code; set { {_code = value;} } } + + /// Internal Acessors for Message + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorSubDetailsItemInternal.Message { get => this._message; set { {_message = value;} } } + + /// Internal Acessors for Target + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorSubDetailsItemInternal.Target { get => this._target; set { {_target = value;} } } + + /// Backing field for property. + private string _target; + + /// The target of the particular error. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Target { get => this._target; } + + /// Creates an new instance. + public ErrorSubDetailsItem() + { + + } + } + public partial interface IErrorSubDetailsItem : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// Error code. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Error code.", + SerializedName = @"code", + PossibleTypes = new [] { typeof(string) })] + string Code { get; } + /// Error message indicating why the operation failed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Error message indicating why the operation failed.", + SerializedName = @"message", + PossibleTypes = new [] { typeof(string) })] + string Message { get; } + /// The target of the particular error. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The target of the particular error.", + SerializedName = @"target", + PossibleTypes = new [] { typeof(string) })] + string Target { get; } + + } + internal partial interface IErrorSubDetailsItemInternal + + { + /// Error code. + string Code { get; set; } + /// Error message indicating why the operation failed. + string Message { get; set; } + /// The target of the particular error. + string Target { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20180301Preview/ErrorSubDetailsItem.json.cs b/swaggerci/billing/generated/api/Models/Api20180301Preview/ErrorSubDetailsItem.json.cs new file mode 100644 index 000000000000..21d3debcd3ad --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20180301Preview/ErrorSubDetailsItem.json.cs @@ -0,0 +1,120 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + public partial class ErrorSubDetailsItem + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal ErrorSubDetailsItem(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_code = If( json?.PropertyT("code"), out var __jsonCode) ? (string)__jsonCode : (string)Code;} + {_message = If( json?.PropertyT("message"), out var __jsonMessage) ? (string)__jsonMessage : (string)Message;} + {_target = If( json?.PropertyT("target"), out var __jsonTarget) ? (string)__jsonTarget : (string)Target;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorSubDetailsItem. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorSubDetailsItem. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorSubDetailsItem FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new ErrorSubDetailsItem(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._code)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._code.ToString()) : null, "code" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._message)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._message.ToString()) : null, "message" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._target)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._target.ToString()) : null, "target" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20180301Preview/Resource.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20180301Preview/Resource.PowerShell.cs new file mode 100644 index 000000000000..951a16aeb459 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20180301Preview/Resource.PowerShell.cs @@ -0,0 +1,160 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The Resource model definition. + [System.ComponentModel.TypeConverter(typeof(ResourceTypeConverter))] + public partial class Resource + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new Resource(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new Resource(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal Resource(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal Resource(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The Resource model definition. + [System.ComponentModel.TypeConverter(typeof(ResourceTypeConverter))] + public partial interface IResource + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20180301Preview/Resource.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20180301Preview/Resource.TypeConverter.cs new file mode 100644 index 000000000000..fb20766d51d6 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20180301Preview/Resource.TypeConverter.cs @@ -0,0 +1,146 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class ResourceTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return Resource.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return Resource.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return Resource.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20180301Preview/Resource.cs b/swaggerci/billing/generated/api/Models/Api20180301Preview/Resource.cs new file mode 100644 index 000000000000..0ab2847affb8 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20180301Preview/Resource.cs @@ -0,0 +1,94 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The Resource model definition. + public partial class Resource : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal + { + + /// Backing field for property. + private string _id; + + /// Resource Id. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Id { get => this._id; } + + /// Internal Acessors for Id + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Id { get => this._id; set { {_id = value;} } } + + /// Internal Acessors for Name + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Name { get => this._name; set { {_name = value;} } } + + /// Internal Acessors for Type + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Type { get => this._type; set { {_type = value;} } } + + /// Backing field for property. + private string _name; + + /// Resource name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Name { get => this._name; } + + /// Backing field for property. + private string _type; + + /// Resource type. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Type { get => this._type; } + + /// Creates an new instance. + public Resource() + { + + } + } + /// The Resource model definition. + public partial interface IResource : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// Resource Id. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Resource Id.", + SerializedName = @"id", + PossibleTypes = new [] { typeof(string) })] + string Id { get; } + /// Resource name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Resource name.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + string Name { get; } + /// Resource type. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Resource type.", + SerializedName = @"type", + PossibleTypes = new [] { typeof(string) })] + string Type { get; } + + } + /// The Resource model definition. + internal partial interface IResourceInternal + + { + /// Resource Id. + string Id { get; set; } + /// Resource name. + string Name { get; set; } + /// Resource type. + string Type { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20180301Preview/Resource.json.cs b/swaggerci/billing/generated/api/Models/Api20180301Preview/Resource.json.cs new file mode 100644 index 000000000000..b78825a07a08 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20180301Preview/Resource.json.cs @@ -0,0 +1,121 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The Resource model definition. + public partial class Resource + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new Resource(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal Resource(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_id = If( json?.PropertyT("id"), out var __jsonId) ? (string)__jsonId : (string)Id;} + {_name = If( json?.PropertyT("name"), out var __jsonName) ? (string)__jsonName : (string)Name;} + {_type = If( json?.PropertyT("type"), out var __jsonType) ? (string)__jsonType : (string)Type;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._id)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._id.ToString()) : null, "id" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._name)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._name.ToString()) : null, "name" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._type)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._type.ToString()) : null, "type" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/AddressDetails.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/AddressDetails.PowerShell.cs new file mode 100644 index 000000000000..830f5feaedfd --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/AddressDetails.PowerShell.cs @@ -0,0 +1,248 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// Address details. + [System.ComponentModel.TypeConverter(typeof(AddressDetailsTypeConverter))] + public partial class AddressDetails + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal AddressDetails(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("FirstName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).FirstName = (string) content.GetValueForProperty("FirstName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).FirstName, global::System.Convert.ToString); + } + if (content.Contains("MiddleName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).MiddleName = (string) content.GetValueForProperty("MiddleName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).MiddleName, global::System.Convert.ToString); + } + if (content.Contains("LastName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).LastName = (string) content.GetValueForProperty("LastName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).LastName, global::System.Convert.ToString); + } + if (content.Contains("CompanyName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).CompanyName = (string) content.GetValueForProperty("CompanyName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).CompanyName, global::System.Convert.ToString); + } + if (content.Contains("AddressLine1")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).AddressLine1 = (string) content.GetValueForProperty("AddressLine1",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).AddressLine1, global::System.Convert.ToString); + } + if (content.Contains("AddressLine2")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).AddressLine2 = (string) content.GetValueForProperty("AddressLine2",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).AddressLine2, global::System.Convert.ToString); + } + if (content.Contains("AddressLine3")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).AddressLine3 = (string) content.GetValueForProperty("AddressLine3",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).AddressLine3, global::System.Convert.ToString); + } + if (content.Contains("City")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).City = (string) content.GetValueForProperty("City",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).City, global::System.Convert.ToString); + } + if (content.Contains("District")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).District = (string) content.GetValueForProperty("District",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).District, global::System.Convert.ToString); + } + if (content.Contains("Region")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).Region = (string) content.GetValueForProperty("Region",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).Region, global::System.Convert.ToString); + } + if (content.Contains("Country")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).Country = (string) content.GetValueForProperty("Country",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).Country, global::System.Convert.ToString); + } + if (content.Contains("PostalCode")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).PostalCode = (string) content.GetValueForProperty("PostalCode",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).PostalCode, global::System.Convert.ToString); + } + if (content.Contains("Email")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).Email = (string) content.GetValueForProperty("Email",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).Email, global::System.Convert.ToString); + } + if (content.Contains("PhoneNumber")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).PhoneNumber = (string) content.GetValueForProperty("PhoneNumber",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).PhoneNumber, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal AddressDetails(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("FirstName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).FirstName = (string) content.GetValueForProperty("FirstName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).FirstName, global::System.Convert.ToString); + } + if (content.Contains("MiddleName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).MiddleName = (string) content.GetValueForProperty("MiddleName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).MiddleName, global::System.Convert.ToString); + } + if (content.Contains("LastName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).LastName = (string) content.GetValueForProperty("LastName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).LastName, global::System.Convert.ToString); + } + if (content.Contains("CompanyName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).CompanyName = (string) content.GetValueForProperty("CompanyName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).CompanyName, global::System.Convert.ToString); + } + if (content.Contains("AddressLine1")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).AddressLine1 = (string) content.GetValueForProperty("AddressLine1",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).AddressLine1, global::System.Convert.ToString); + } + if (content.Contains("AddressLine2")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).AddressLine2 = (string) content.GetValueForProperty("AddressLine2",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).AddressLine2, global::System.Convert.ToString); + } + if (content.Contains("AddressLine3")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).AddressLine3 = (string) content.GetValueForProperty("AddressLine3",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).AddressLine3, global::System.Convert.ToString); + } + if (content.Contains("City")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).City = (string) content.GetValueForProperty("City",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).City, global::System.Convert.ToString); + } + if (content.Contains("District")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).District = (string) content.GetValueForProperty("District",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).District, global::System.Convert.ToString); + } + if (content.Contains("Region")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).Region = (string) content.GetValueForProperty("Region",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).Region, global::System.Convert.ToString); + } + if (content.Contains("Country")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).Country = (string) content.GetValueForProperty("Country",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).Country, global::System.Convert.ToString); + } + if (content.Contains("PostalCode")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).PostalCode = (string) content.GetValueForProperty("PostalCode",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).PostalCode, global::System.Convert.ToString); + } + if (content.Contains("Email")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).Email = (string) content.GetValueForProperty("Email",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).Email, global::System.Convert.ToString); + } + if (content.Contains("PhoneNumber")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).PhoneNumber = (string) content.GetValueForProperty("PhoneNumber",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)this).PhoneNumber, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new AddressDetails(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new AddressDetails(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Address details. + [System.ComponentModel.TypeConverter(typeof(AddressDetailsTypeConverter))] + public partial interface IAddressDetails + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/AddressDetails.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/AddressDetails.TypeConverter.cs new file mode 100644 index 000000000000..c7905d734107 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/AddressDetails.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class AddressDetailsTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return AddressDetails.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return AddressDetails.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return AddressDetails.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/AddressDetails.cs b/swaggerci/billing/generated/api/Models/Api20200501/AddressDetails.cs new file mode 100644 index 000000000000..c4134250a83f --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/AddressDetails.cs @@ -0,0 +1,272 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// Address details. + public partial class AddressDetails : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal + { + + /// Backing field for property. + private string _addressLine1; + + /// Address line 1. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string AddressLine1 { get => this._addressLine1; set => this._addressLine1 = value; } + + /// Backing field for property. + private string _addressLine2; + + /// Address line 2. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string AddressLine2 { get => this._addressLine2; set => this._addressLine2 = value; } + + /// Backing field for property. + private string _addressLine3; + + /// Address line 3. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string AddressLine3 { get => this._addressLine3; set => this._addressLine3 = value; } + + /// Backing field for property. + private string _city; + + /// Address city. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string City { get => this._city; set => this._city = value; } + + /// Backing field for property. + private string _companyName; + + /// Company name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string CompanyName { get => this._companyName; set => this._companyName = value; } + + /// Backing field for property. + private string _country; + + /// Country code uses ISO2, 2-digit format. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Country { get => this._country; set => this._country = value; } + + /// Backing field for property. + private string _district; + + /// Address district. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string District { get => this._district; set => this._district = value; } + + /// Backing field for property. + private string _email; + + /// Email address. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Email { get => this._email; set => this._email = value; } + + /// Backing field for property. + private string _firstName; + + /// First name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string FirstName { get => this._firstName; set => this._firstName = value; } + + /// Backing field for property. + private string _lastName; + + /// Last name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string LastName { get => this._lastName; set => this._lastName = value; } + + /// Backing field for property. + private string _middleName; + + /// Middle name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string MiddleName { get => this._middleName; set => this._middleName = value; } + + /// Backing field for property. + private string _phoneNumber; + + /// Phone number. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string PhoneNumber { get => this._phoneNumber; set => this._phoneNumber = value; } + + /// Backing field for property. + private string _postalCode; + + /// Postal code. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string PostalCode { get => this._postalCode; set => this._postalCode = value; } + + /// Backing field for property. + private string _region; + + /// Address region. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Region { get => this._region; set => this._region = value; } + + /// Creates an new instance. + public AddressDetails() + { + + } + } + /// Address details. + public partial interface IAddressDetails : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// Address line 1. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Address line 1.", + SerializedName = @"addressLine1", + PossibleTypes = new [] { typeof(string) })] + string AddressLine1 { get; set; } + /// Address line 2. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address line 2.", + SerializedName = @"addressLine2", + PossibleTypes = new [] { typeof(string) })] + string AddressLine2 { get; set; } + /// Address line 3. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address line 3.", + SerializedName = @"addressLine3", + PossibleTypes = new [] { typeof(string) })] + string AddressLine3 { get; set; } + /// Address city. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address city.", + SerializedName = @"city", + PossibleTypes = new [] { typeof(string) })] + string City { get; set; } + /// Company name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Company name.", + SerializedName = @"companyName", + PossibleTypes = new [] { typeof(string) })] + string CompanyName { get; set; } + /// Country code uses ISO2, 2-digit format. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Country code uses ISO2, 2-digit format.", + SerializedName = @"country", + PossibleTypes = new [] { typeof(string) })] + string Country { get; set; } + /// Address district. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address district.", + SerializedName = @"district", + PossibleTypes = new [] { typeof(string) })] + string District { get; set; } + /// Email address. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Email address.", + SerializedName = @"email", + PossibleTypes = new [] { typeof(string) })] + string Email { get; set; } + /// First name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"First name.", + SerializedName = @"firstName", + PossibleTypes = new [] { typeof(string) })] + string FirstName { get; set; } + /// Last name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Last name.", + SerializedName = @"lastName", + PossibleTypes = new [] { typeof(string) })] + string LastName { get; set; } + /// Middle name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Middle name.", + SerializedName = @"middleName", + PossibleTypes = new [] { typeof(string) })] + string MiddleName { get; set; } + /// Phone number. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Phone number.", + SerializedName = @"phoneNumber", + PossibleTypes = new [] { typeof(string) })] + string PhoneNumber { get; set; } + /// Postal code. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Postal code.", + SerializedName = @"postalCode", + PossibleTypes = new [] { typeof(string) })] + string PostalCode { get; set; } + /// Address region. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address region.", + SerializedName = @"region", + PossibleTypes = new [] { typeof(string) })] + string Region { get; set; } + + } + /// Address details. + internal partial interface IAddressDetailsInternal + + { + /// Address line 1. + string AddressLine1 { get; set; } + /// Address line 2. + string AddressLine2 { get; set; } + /// Address line 3. + string AddressLine3 { get; set; } + /// Address city. + string City { get; set; } + /// Company name. + string CompanyName { get; set; } + /// Country code uses ISO2, 2-digit format. + string Country { get; set; } + /// Address district. + string District { get; set; } + /// Email address. + string Email { get; set; } + /// First name. + string FirstName { get; set; } + /// Last name. + string LastName { get; set; } + /// Middle name. + string MiddleName { get; set; } + /// Phone number. + string PhoneNumber { get; set; } + /// Postal code. + string PostalCode { get; set; } + /// Address region. + string Region { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/AddressDetails.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/AddressDetails.json.cs new file mode 100644 index 000000000000..0f2a3f792d65 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/AddressDetails.json.cs @@ -0,0 +1,134 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// Address details. + public partial class AddressDetails + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal AddressDetails(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_firstName = If( json?.PropertyT("firstName"), out var __jsonFirstName) ? (string)__jsonFirstName : (string)FirstName;} + {_middleName = If( json?.PropertyT("middleName"), out var __jsonMiddleName) ? (string)__jsonMiddleName : (string)MiddleName;} + {_lastName = If( json?.PropertyT("lastName"), out var __jsonLastName) ? (string)__jsonLastName : (string)LastName;} + {_companyName = If( json?.PropertyT("companyName"), out var __jsonCompanyName) ? (string)__jsonCompanyName : (string)CompanyName;} + {_addressLine1 = If( json?.PropertyT("addressLine1"), out var __jsonAddressLine1) ? (string)__jsonAddressLine1 : (string)AddressLine1;} + {_addressLine2 = If( json?.PropertyT("addressLine2"), out var __jsonAddressLine2) ? (string)__jsonAddressLine2 : (string)AddressLine2;} + {_addressLine3 = If( json?.PropertyT("addressLine3"), out var __jsonAddressLine3) ? (string)__jsonAddressLine3 : (string)AddressLine3;} + {_city = If( json?.PropertyT("city"), out var __jsonCity) ? (string)__jsonCity : (string)City;} + {_district = If( json?.PropertyT("district"), out var __jsonDistrict) ? (string)__jsonDistrict : (string)District;} + {_region = If( json?.PropertyT("region"), out var __jsonRegion) ? (string)__jsonRegion : (string)Region;} + {_country = If( json?.PropertyT("country"), out var __jsonCountry) ? (string)__jsonCountry : (string)Country;} + {_postalCode = If( json?.PropertyT("postalCode"), out var __jsonPostalCode) ? (string)__jsonPostalCode : (string)PostalCode;} + {_email = If( json?.PropertyT("email"), out var __jsonEmail) ? (string)__jsonEmail : (string)Email;} + {_phoneNumber = If( json?.PropertyT("phoneNumber"), out var __jsonPhoneNumber) ? (string)__jsonPhoneNumber : (string)PhoneNumber;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new AddressDetails(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != (((object)this._firstName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._firstName.ToString()) : null, "firstName" ,container.Add ); + AddIf( null != (((object)this._middleName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._middleName.ToString()) : null, "middleName" ,container.Add ); + AddIf( null != (((object)this._lastName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._lastName.ToString()) : null, "lastName" ,container.Add ); + AddIf( null != (((object)this._companyName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._companyName.ToString()) : null, "companyName" ,container.Add ); + AddIf( null != (((object)this._addressLine1)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._addressLine1.ToString()) : null, "addressLine1" ,container.Add ); + AddIf( null != (((object)this._addressLine2)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._addressLine2.ToString()) : null, "addressLine2" ,container.Add ); + AddIf( null != (((object)this._addressLine3)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._addressLine3.ToString()) : null, "addressLine3" ,container.Add ); + AddIf( null != (((object)this._city)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._city.ToString()) : null, "city" ,container.Add ); + AddIf( null != (((object)this._district)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._district.ToString()) : null, "district" ,container.Add ); + AddIf( null != (((object)this._region)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._region.ToString()) : null, "region" ,container.Add ); + AddIf( null != (((object)this._country)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._country.ToString()) : null, "country" ,container.Add ); + AddIf( null != (((object)this._postalCode)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._postalCode.ToString()) : null, "postalCode" ,container.Add ); + AddIf( null != (((object)this._email)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._email.ToString()) : null, "email" ,container.Add ); + AddIf( null != (((object)this._phoneNumber)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._phoneNumber.ToString()) : null, "phoneNumber" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Agreement.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/Agreement.PowerShell.cs new file mode 100644 index 000000000000..522da47d84e3 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Agreement.PowerShell.cs @@ -0,0 +1,256 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// An agreement. + [System.ComponentModel.TypeConverter(typeof(AgreementTypeConverter))] + public partial class Agreement + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal Agreement(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AgreementPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("Category")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).Category = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.Category?) content.GetValueForProperty("Category",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).Category, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.Category.CreateFrom); + } + if (content.Contains("AcceptanceMode")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).AcceptanceMode = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AcceptanceMode?) content.GetValueForProperty("AcceptanceMode",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).AcceptanceMode, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AcceptanceMode.CreateFrom); + } + if (content.Contains("BillingProfileInfo")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).BillingProfileInfo = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInfo) content.GetValueForProperty("BillingProfileInfo",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).BillingProfileInfo, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfileInfoTypeConverter.ConvertFrom); + } + if (content.Contains("Link")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).Link = (string) content.GetValueForProperty("Link",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).Link, global::System.Convert.ToString); + } + if (content.Contains("EffectiveDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).EffectiveDate = (global::System.DateTime?) content.GetValueForProperty("EffectiveDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).EffectiveDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("ExpirationDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).ExpirationDate = (global::System.DateTime?) content.GetValueForProperty("ExpirationDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).ExpirationDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("Participant")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).Participant = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IParticipants[]) content.GetValueForProperty("Participant",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).Participant, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ParticipantsTypeConverter.ConvertFrom)); + } + if (content.Contains("Status")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).Status = (string) content.GetValueForProperty("Status",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).Status, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileInfoBillingProfileId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).BillingProfileInfoBillingProfileId = (string) content.GetValueForProperty("BillingProfileInfoBillingProfileId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).BillingProfileInfoBillingProfileId, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileInfoBillingProfileDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).BillingProfileInfoBillingProfileDisplayName = (string) content.GetValueForProperty("BillingProfileInfoBillingProfileDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).BillingProfileInfoBillingProfileDisplayName, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileInfoIndirectRelationshipOrganizationName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).BillingProfileInfoIndirectRelationshipOrganizationName = (string) content.GetValueForProperty("BillingProfileInfoIndirectRelationshipOrganizationName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).BillingProfileInfoIndirectRelationshipOrganizationName, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal Agreement(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AgreementPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("Category")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).Category = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.Category?) content.GetValueForProperty("Category",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).Category, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.Category.CreateFrom); + } + if (content.Contains("AcceptanceMode")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).AcceptanceMode = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AcceptanceMode?) content.GetValueForProperty("AcceptanceMode",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).AcceptanceMode, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AcceptanceMode.CreateFrom); + } + if (content.Contains("BillingProfileInfo")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).BillingProfileInfo = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInfo) content.GetValueForProperty("BillingProfileInfo",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).BillingProfileInfo, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfileInfoTypeConverter.ConvertFrom); + } + if (content.Contains("Link")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).Link = (string) content.GetValueForProperty("Link",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).Link, global::System.Convert.ToString); + } + if (content.Contains("EffectiveDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).EffectiveDate = (global::System.DateTime?) content.GetValueForProperty("EffectiveDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).EffectiveDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("ExpirationDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).ExpirationDate = (global::System.DateTime?) content.GetValueForProperty("ExpirationDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).ExpirationDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("Participant")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).Participant = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IParticipants[]) content.GetValueForProperty("Participant",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).Participant, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ParticipantsTypeConverter.ConvertFrom)); + } + if (content.Contains("Status")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).Status = (string) content.GetValueForProperty("Status",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).Status, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileInfoBillingProfileId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).BillingProfileInfoBillingProfileId = (string) content.GetValueForProperty("BillingProfileInfoBillingProfileId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).BillingProfileInfoBillingProfileId, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileInfoBillingProfileDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).BillingProfileInfoBillingProfileDisplayName = (string) content.GetValueForProperty("BillingProfileInfoBillingProfileDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).BillingProfileInfoBillingProfileDisplayName, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileInfoIndirectRelationshipOrganizationName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).BillingProfileInfoIndirectRelationshipOrganizationName = (string) content.GetValueForProperty("BillingProfileInfoIndirectRelationshipOrganizationName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal)this).BillingProfileInfoIndirectRelationshipOrganizationName, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreement DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new Agreement(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreement DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new Agreement(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreement FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// An agreement. + [System.ComponentModel.TypeConverter(typeof(AgreementTypeConverter))] + public partial interface IAgreement + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Agreement.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/Agreement.TypeConverter.cs new file mode 100644 index 000000000000..12835d88d396 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Agreement.TypeConverter.cs @@ -0,0 +1,146 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class AgreementTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreement ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreement).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return Agreement.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return Agreement.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return Agreement.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Agreement.cs b/swaggerci/billing/generated/api/Models/Api20200501/Agreement.cs new file mode 100644 index 000000000000..477c6f2bceae --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Agreement.cs @@ -0,0 +1,257 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// An agreement. + public partial class Agreement : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreement, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IValidates + { + /// + /// Backing field for Inherited model + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource __resource = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource(); + + /// The mode of acceptance for an agreement. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AcceptanceMode? AcceptanceMode { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)Property).AcceptanceMode; } + + /// The name of the billing profile + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillingProfileInfoBillingProfileDisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)Property).BillingProfileInfoBillingProfileDisplayName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)Property).BillingProfileInfoBillingProfileDisplayName = value ?? null; } + + /// The unique identifier for the billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillingProfileInfoBillingProfileId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)Property).BillingProfileInfoBillingProfileId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)Property).BillingProfileInfoBillingProfileId = value ?? null; } + + /// + /// Billing account name. This property is available for a specific type of agreement. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillingProfileInfoIndirectRelationshipOrganizationName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)Property).BillingProfileInfoIndirectRelationshipOrganizationName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)Property).BillingProfileInfoIndirectRelationshipOrganizationName = value ?? null; } + + /// The category of the agreement signed by a customer. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.Category? Category { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)Property).Category; } + + /// The date from which the agreement is effective. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public global::System.DateTime? EffectiveDate { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)Property).EffectiveDate; } + + /// The date when the agreement expires. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public global::System.DateTime? ExpirationDate { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)Property).ExpirationDate; } + + /// Resource Id. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id; } + + /// The URL to download the agreement. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string Link { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)Property).AgreementLink; } + + /// Internal Acessors for Id + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id = value; } + + /// Internal Acessors for Name + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name = value; } + + /// Internal Acessors for Type + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type = value; } + + /// Internal Acessors for AcceptanceMode + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AcceptanceMode? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal.AcceptanceMode { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)Property).AcceptanceMode; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)Property).AcceptanceMode = value; } + + /// Internal Acessors for BillingProfileInfo + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInfo Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal.BillingProfileInfo { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)Property).BillingProfileInfo; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)Property).BillingProfileInfo = value; } + + /// Internal Acessors for Category + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.Category? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal.Category { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)Property).Category; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)Property).Category = value; } + + /// Internal Acessors for EffectiveDate + global::System.DateTime? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal.EffectiveDate { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)Property).EffectiveDate; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)Property).EffectiveDate = value; } + + /// Internal Acessors for ExpirationDate + global::System.DateTime? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal.ExpirationDate { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)Property).ExpirationDate; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)Property).ExpirationDate = value; } + + /// Internal Acessors for Link + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal.Link { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)Property).AgreementLink; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)Property).AgreementLink = value; } + + /// Internal Acessors for Property + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementProperties Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal.Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AgreementProperties()); set { {_property = value;} } } + + /// Internal Acessors for Status + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementInternal.Status { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)Property).Status; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)Property).Status = value; } + + /// Resource name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name; } + + /// The list of participants that participates in acceptance of an agreement. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IParticipants[] Participant { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)Property).Participant; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)Property).Participant = value ?? null /* arrayOf */; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementProperties _property; + + /// The properties of an agreement. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementProperties Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AgreementProperties()); set => this._property = value; } + + /// The current status of the agreement. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string Status { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)Property).Status; } + + /// Resource type. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type; } + + /// Creates an new instance. + public Agreement() + { + + } + + /// Validates that this object meets the validation criteria. + /// an instance that will receive validation + /// events. + /// + /// A that will be complete when validation is completed. + /// + public async global::System.Threading.Tasks.Task Validate(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + await eventListener.AssertNotNull(nameof(__resource), __resource); + await eventListener.AssertObjectIsValid(nameof(__resource), __resource); + } + } + /// An agreement. + public partial interface IAgreement : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource + { + /// The mode of acceptance for an agreement. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The mode of acceptance for an agreement.", + SerializedName = @"acceptanceMode", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AcceptanceMode) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AcceptanceMode? AcceptanceMode { get; } + /// The name of the billing profile + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the billing profile", + SerializedName = @"billingProfileDisplayName", + PossibleTypes = new [] { typeof(string) })] + string BillingProfileInfoBillingProfileDisplayName { get; set; } + /// The unique identifier for the billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The unique identifier for the billing profile.", + SerializedName = @"billingProfileId", + PossibleTypes = new [] { typeof(string) })] + string BillingProfileInfoBillingProfileId { get; set; } + /// + /// Billing account name. This property is available for a specific type of agreement. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Billing account name. This property is available for a specific type of agreement.", + SerializedName = @"indirectRelationshipOrganizationName", + PossibleTypes = new [] { typeof(string) })] + string BillingProfileInfoIndirectRelationshipOrganizationName { get; set; } + /// The category of the agreement signed by a customer. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The category of the agreement signed by a customer.", + SerializedName = @"category", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.Category) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.Category? Category { get; } + /// The date from which the agreement is effective. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The date from which the agreement is effective.", + SerializedName = @"effectiveDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? EffectiveDate { get; } + /// The date when the agreement expires. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The date when the agreement expires.", + SerializedName = @"expirationDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? ExpirationDate { get; } + /// The URL to download the agreement. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The URL to download the agreement.", + SerializedName = @"agreementLink", + PossibleTypes = new [] { typeof(string) })] + string Link { get; } + /// The list of participants that participates in acceptance of an agreement. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The list of participants that participates in acceptance of an agreement.", + SerializedName = @"participants", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IParticipants) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IParticipants[] Participant { get; set; } + /// The current status of the agreement. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The current status of the agreement.", + SerializedName = @"status", + PossibleTypes = new [] { typeof(string) })] + string Status { get; } + + } + /// An agreement. + internal partial interface IAgreementInternal : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal + { + /// The mode of acceptance for an agreement. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AcceptanceMode? AcceptanceMode { get; set; } + /// + /// The list of billing profiles associated with agreement and present only for specific agreements. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInfo BillingProfileInfo { get; set; } + /// The name of the billing profile + string BillingProfileInfoBillingProfileDisplayName { get; set; } + /// The unique identifier for the billing profile. + string BillingProfileInfoBillingProfileId { get; set; } + /// + /// Billing account name. This property is available for a specific type of agreement. + /// + string BillingProfileInfoIndirectRelationshipOrganizationName { get; set; } + /// The category of the agreement signed by a customer. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.Category? Category { get; set; } + /// The date from which the agreement is effective. + global::System.DateTime? EffectiveDate { get; set; } + /// The date when the agreement expires. + global::System.DateTime? ExpirationDate { get; set; } + /// The URL to download the agreement. + string Link { get; set; } + /// The list of participants that participates in acceptance of an agreement. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IParticipants[] Participant { get; set; } + /// The properties of an agreement. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementProperties Property { get; set; } + /// The current status of the agreement. + string Status { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Agreement.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/Agreement.json.cs new file mode 100644 index 000000000000..709179e39c69 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Agreement.json.cs @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// An agreement. + public partial class Agreement + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal Agreement(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + __resource = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource(json); + {_property = If( json?.PropertyT("properties"), out var __jsonProperties) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AgreementProperties.FromJson(__jsonProperties) : Property;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreement. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreement. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreement FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new Agreement(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + __resource?.ToJson(container, serializationMode); + AddIf( null != this._property ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._property.ToJson(null,serializationMode) : null, "properties" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/AgreementListResult.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/AgreementListResult.PowerShell.cs new file mode 100644 index 000000000000..f727f90a9759 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/AgreementListResult.PowerShell.cs @@ -0,0 +1,152 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// Result of listing agreements. + [System.ComponentModel.TypeConverter(typeof(AgreementListResultTypeConverter))] + public partial class AgreementListResult + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal AgreementListResult(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreement[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AgreementTypeConverter.ConvertFrom)); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementListResultInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal AgreementListResult(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreement[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AgreementTypeConverter.ConvertFrom)); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementListResultInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementListResult DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new AgreementListResult(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementListResult DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new AgreementListResult(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementListResult FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Result of listing agreements. + [System.ComponentModel.TypeConverter(typeof(AgreementListResultTypeConverter))] + public partial interface IAgreementListResult + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/AgreementListResult.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/AgreementListResult.TypeConverter.cs new file mode 100644 index 000000000000..9532fda75264 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/AgreementListResult.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class AgreementListResultTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementListResult ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementListResult).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return AgreementListResult.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return AgreementListResult.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return AgreementListResult.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/AgreementListResult.cs b/swaggerci/billing/generated/api/Models/Api20200501/AgreementListResult.cs new file mode 100644 index 000000000000..98a41d96b595 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/AgreementListResult.cs @@ -0,0 +1,74 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// Result of listing agreements. + public partial class AgreementListResult : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementListResult, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementListResultInternal + { + + /// Internal Acessors for NextLink + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementListResultInternal.NextLink { get => this._nextLink; set { {_nextLink = value;} } } + + /// Internal Acessors for Value + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreement[] Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementListResultInternal.Value { get => this._value; set { {_value = value;} } } + + /// Backing field for property. + private string _nextLink; + + /// The link (url) to the next page of results. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string NextLink { get => this._nextLink; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreement[] _value; + + /// The list of agreements. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreement[] Value { get => this._value; } + + /// Creates an new instance. + public AgreementListResult() + { + + } + } + /// Result of listing agreements. + public partial interface IAgreementListResult : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The link (url) to the next page of results. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The link (url) to the next page of results.", + SerializedName = @"nextLink", + PossibleTypes = new [] { typeof(string) })] + string NextLink { get; } + /// The list of agreements. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The list of agreements.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreement) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreement[] Value { get; } + + } + /// Result of listing agreements. + internal partial interface IAgreementListResultInternal + + { + /// The link (url) to the next page of results. + string NextLink { get; set; } + /// The list of agreements. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreement[] Value { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/AgreementListResult.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/AgreementListResult.json.cs new file mode 100644 index 000000000000..0a9b15a164f1 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/AgreementListResult.json.cs @@ -0,0 +1,124 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// Result of listing agreements. + public partial class AgreementListResult + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal AgreementListResult(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_value = If( json?.PropertyT("value"), out var __jsonValue) ? If( __jsonValue as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreement) (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Agreement.FromJson(__u) )) ))() : null : Value;} + {_nextLink = If( json?.PropertyT("nextLink"), out var __jsonNextLink) ? (string)__jsonNextLink : (string)NextLink;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementListResult. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementListResult. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementListResult FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new AgreementListResult(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + if (null != this._value) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(); + foreach( var __x in this._value ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("value",__w); + } + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._nextLink)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._nextLink.ToString()) : null, "nextLink" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/AgreementProperties.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/AgreementProperties.PowerShell.cs new file mode 100644 index 000000000000..c321bd966ddf --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/AgreementProperties.PowerShell.cs @@ -0,0 +1,224 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The properties of an agreement. + [System.ComponentModel.TypeConverter(typeof(AgreementPropertiesTypeConverter))] + public partial class AgreementProperties + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal AgreementProperties(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("BillingProfileInfo")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).BillingProfileInfo = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInfo) content.GetValueForProperty("BillingProfileInfo",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).BillingProfileInfo, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfileInfoTypeConverter.ConvertFrom); + } + if (content.Contains("AgreementLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).AgreementLink = (string) content.GetValueForProperty("AgreementLink",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).AgreementLink, global::System.Convert.ToString); + } + if (content.Contains("Category")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).Category = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.Category?) content.GetValueForProperty("Category",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).Category, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.Category.CreateFrom); + } + if (content.Contains("AcceptanceMode")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).AcceptanceMode = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AcceptanceMode?) content.GetValueForProperty("AcceptanceMode",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).AcceptanceMode, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AcceptanceMode.CreateFrom); + } + if (content.Contains("EffectiveDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).EffectiveDate = (global::System.DateTime?) content.GetValueForProperty("EffectiveDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).EffectiveDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("ExpirationDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).ExpirationDate = (global::System.DateTime?) content.GetValueForProperty("ExpirationDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).ExpirationDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("Participant")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).Participant = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IParticipants[]) content.GetValueForProperty("Participant",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).Participant, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ParticipantsTypeConverter.ConvertFrom)); + } + if (content.Contains("Status")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).Status = (string) content.GetValueForProperty("Status",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).Status, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileInfoBillingProfileId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).BillingProfileInfoBillingProfileId = (string) content.GetValueForProperty("BillingProfileInfoBillingProfileId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).BillingProfileInfoBillingProfileId, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileInfoBillingProfileDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).BillingProfileInfoBillingProfileDisplayName = (string) content.GetValueForProperty("BillingProfileInfoBillingProfileDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).BillingProfileInfoBillingProfileDisplayName, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileInfoIndirectRelationshipOrganizationName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).BillingProfileInfoIndirectRelationshipOrganizationName = (string) content.GetValueForProperty("BillingProfileInfoIndirectRelationshipOrganizationName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).BillingProfileInfoIndirectRelationshipOrganizationName, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal AgreementProperties(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("BillingProfileInfo")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).BillingProfileInfo = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInfo) content.GetValueForProperty("BillingProfileInfo",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).BillingProfileInfo, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfileInfoTypeConverter.ConvertFrom); + } + if (content.Contains("AgreementLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).AgreementLink = (string) content.GetValueForProperty("AgreementLink",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).AgreementLink, global::System.Convert.ToString); + } + if (content.Contains("Category")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).Category = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.Category?) content.GetValueForProperty("Category",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).Category, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.Category.CreateFrom); + } + if (content.Contains("AcceptanceMode")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).AcceptanceMode = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AcceptanceMode?) content.GetValueForProperty("AcceptanceMode",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).AcceptanceMode, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AcceptanceMode.CreateFrom); + } + if (content.Contains("EffectiveDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).EffectiveDate = (global::System.DateTime?) content.GetValueForProperty("EffectiveDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).EffectiveDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("ExpirationDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).ExpirationDate = (global::System.DateTime?) content.GetValueForProperty("ExpirationDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).ExpirationDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("Participant")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).Participant = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IParticipants[]) content.GetValueForProperty("Participant",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).Participant, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ParticipantsTypeConverter.ConvertFrom)); + } + if (content.Contains("Status")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).Status = (string) content.GetValueForProperty("Status",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).Status, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileInfoBillingProfileId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).BillingProfileInfoBillingProfileId = (string) content.GetValueForProperty("BillingProfileInfoBillingProfileId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).BillingProfileInfoBillingProfileId, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileInfoBillingProfileDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).BillingProfileInfoBillingProfileDisplayName = (string) content.GetValueForProperty("BillingProfileInfoBillingProfileDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).BillingProfileInfoBillingProfileDisplayName, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileInfoIndirectRelationshipOrganizationName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).BillingProfileInfoIndirectRelationshipOrganizationName = (string) content.GetValueForProperty("BillingProfileInfoIndirectRelationshipOrganizationName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal)this).BillingProfileInfoIndirectRelationshipOrganizationName, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementProperties DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new AgreementProperties(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementProperties DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new AgreementProperties(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementProperties FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The properties of an agreement. + [System.ComponentModel.TypeConverter(typeof(AgreementPropertiesTypeConverter))] + public partial interface IAgreementProperties + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/AgreementProperties.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/AgreementProperties.TypeConverter.cs new file mode 100644 index 000000000000..2033fbfb14f7 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/AgreementProperties.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class AgreementPropertiesTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementProperties ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementProperties).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return AgreementProperties.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return AgreementProperties.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return AgreementProperties.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/AgreementProperties.cs b/swaggerci/billing/generated/api/Models/Api20200501/AgreementProperties.cs new file mode 100644 index 000000000000..2d77b3ab3bd6 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/AgreementProperties.cs @@ -0,0 +1,235 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of an agreement. + public partial class AgreementProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementProperties, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal + { + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AcceptanceMode? _acceptanceMode; + + /// The mode of acceptance for an agreement. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AcceptanceMode? AcceptanceMode { get => this._acceptanceMode; } + + /// Backing field for property. + private string _agreementLink; + + /// The URL to download the agreement. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string AgreementLink { get => this._agreementLink; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInfo _billingProfileInfo; + + /// + /// The list of billing profiles associated with agreement and present only for specific agreements. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInfo BillingProfileInfo { get => (this._billingProfileInfo = this._billingProfileInfo ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfileInfo()); } + + /// The name of the billing profile + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillingProfileInfoBillingProfileDisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInfoInternal)BillingProfileInfo).BillingProfileDisplayName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInfoInternal)BillingProfileInfo).BillingProfileDisplayName = value ?? null; } + + /// The unique identifier for the billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillingProfileInfoBillingProfileId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInfoInternal)BillingProfileInfo).BillingProfileId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInfoInternal)BillingProfileInfo).BillingProfileId = value ?? null; } + + /// + /// Billing account name. This property is available for a specific type of agreement. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillingProfileInfoIndirectRelationshipOrganizationName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInfoInternal)BillingProfileInfo).IndirectRelationshipOrganizationName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInfoInternal)BillingProfileInfo).IndirectRelationshipOrganizationName = value ?? null; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.Category? _category; + + /// The category of the agreement signed by a customer. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.Category? Category { get => this._category; } + + /// Backing field for property. + private global::System.DateTime? _effectiveDate; + + /// The date from which the agreement is effective. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public global::System.DateTime? EffectiveDate { get => this._effectiveDate; } + + /// Backing field for property. + private global::System.DateTime? _expirationDate; + + /// The date when the agreement expires. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public global::System.DateTime? ExpirationDate { get => this._expirationDate; } + + /// Internal Acessors for AcceptanceMode + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AcceptanceMode? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal.AcceptanceMode { get => this._acceptanceMode; set { {_acceptanceMode = value;} } } + + /// Internal Acessors for AgreementLink + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal.AgreementLink { get => this._agreementLink; set { {_agreementLink = value;} } } + + /// Internal Acessors for BillingProfileInfo + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInfo Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal.BillingProfileInfo { get => (this._billingProfileInfo = this._billingProfileInfo ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfileInfo()); set { {_billingProfileInfo = value;} } } + + /// Internal Acessors for Category + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.Category? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal.Category { get => this._category; set { {_category = value;} } } + + /// Internal Acessors for EffectiveDate + global::System.DateTime? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal.EffectiveDate { get => this._effectiveDate; set { {_effectiveDate = value;} } } + + /// Internal Acessors for ExpirationDate + global::System.DateTime? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal.ExpirationDate { get => this._expirationDate; set { {_expirationDate = value;} } } + + /// Internal Acessors for Status + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementPropertiesInternal.Status { get => this._status; set { {_status = value;} } } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IParticipants[] _participant; + + /// The list of participants that participates in acceptance of an agreement. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IParticipants[] Participant { get => this._participant; set => this._participant = value; } + + /// Backing field for property. + private string _status; + + /// The current status of the agreement. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Status { get => this._status; } + + /// Creates an new instance. + public AgreementProperties() + { + + } + } + /// The properties of an agreement. + public partial interface IAgreementProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The mode of acceptance for an agreement. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The mode of acceptance for an agreement.", + SerializedName = @"acceptanceMode", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AcceptanceMode) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AcceptanceMode? AcceptanceMode { get; } + /// The URL to download the agreement. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The URL to download the agreement.", + SerializedName = @"agreementLink", + PossibleTypes = new [] { typeof(string) })] + string AgreementLink { get; } + /// The name of the billing profile + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the billing profile", + SerializedName = @"billingProfileDisplayName", + PossibleTypes = new [] { typeof(string) })] + string BillingProfileInfoBillingProfileDisplayName { get; set; } + /// The unique identifier for the billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The unique identifier for the billing profile.", + SerializedName = @"billingProfileId", + PossibleTypes = new [] { typeof(string) })] + string BillingProfileInfoBillingProfileId { get; set; } + /// + /// Billing account name. This property is available for a specific type of agreement. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Billing account name. This property is available for a specific type of agreement.", + SerializedName = @"indirectRelationshipOrganizationName", + PossibleTypes = new [] { typeof(string) })] + string BillingProfileInfoIndirectRelationshipOrganizationName { get; set; } + /// The category of the agreement signed by a customer. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The category of the agreement signed by a customer.", + SerializedName = @"category", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.Category) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.Category? Category { get; } + /// The date from which the agreement is effective. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The date from which the agreement is effective.", + SerializedName = @"effectiveDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? EffectiveDate { get; } + /// The date when the agreement expires. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The date when the agreement expires.", + SerializedName = @"expirationDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? ExpirationDate { get; } + /// The list of participants that participates in acceptance of an agreement. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The list of participants that participates in acceptance of an agreement.", + SerializedName = @"participants", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IParticipants) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IParticipants[] Participant { get; set; } + /// The current status of the agreement. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The current status of the agreement.", + SerializedName = @"status", + PossibleTypes = new [] { typeof(string) })] + string Status { get; } + + } + /// The properties of an agreement. + internal partial interface IAgreementPropertiesInternal + + { + /// The mode of acceptance for an agreement. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AcceptanceMode? AcceptanceMode { get; set; } + /// The URL to download the agreement. + string AgreementLink { get; set; } + /// + /// The list of billing profiles associated with agreement and present only for specific agreements. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInfo BillingProfileInfo { get; set; } + /// The name of the billing profile + string BillingProfileInfoBillingProfileDisplayName { get; set; } + /// The unique identifier for the billing profile. + string BillingProfileInfoBillingProfileId { get; set; } + /// + /// Billing account name. This property is available for a specific type of agreement. + /// + string BillingProfileInfoIndirectRelationshipOrganizationName { get; set; } + /// The category of the agreement signed by a customer. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.Category? Category { get; set; } + /// The date from which the agreement is effective. + global::System.DateTime? EffectiveDate { get; set; } + /// The date when the agreement expires. + global::System.DateTime? ExpirationDate { get; set; } + /// The list of participants that participates in acceptance of an agreement. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IParticipants[] Participant { get; set; } + /// The current status of the agreement. + string Status { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/AgreementProperties.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/AgreementProperties.json.cs new file mode 100644 index 000000000000..7f2e7a71db9a --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/AgreementProperties.json.cs @@ -0,0 +1,151 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of an agreement. + public partial class AgreementProperties + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal AgreementProperties(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_billingProfileInfo = If( json?.PropertyT("billingProfileInfo"), out var __jsonBillingProfileInfo) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfileInfo.FromJson(__jsonBillingProfileInfo) : BillingProfileInfo;} + {_agreementLink = If( json?.PropertyT("agreementLink"), out var __jsonAgreementLink) ? (string)__jsonAgreementLink : (string)AgreementLink;} + {_category = If( json?.PropertyT("category"), out var __jsonCategory) ? (string)__jsonCategory : (string)Category;} + {_acceptanceMode = If( json?.PropertyT("acceptanceMode"), out var __jsonAcceptanceMode) ? (string)__jsonAcceptanceMode : (string)AcceptanceMode;} + {_effectiveDate = If( json?.PropertyT("effectiveDate"), out var __jsonEffectiveDate) ? global::System.DateTime.TryParse((string)__jsonEffectiveDate, global::System.Globalization.CultureInfo.InvariantCulture, global::System.Globalization.DateTimeStyles.AdjustToUniversal, out var __jsonEffectiveDateValue) ? __jsonEffectiveDateValue : EffectiveDate : EffectiveDate;} + {_expirationDate = If( json?.PropertyT("expirationDate"), out var __jsonExpirationDate) ? global::System.DateTime.TryParse((string)__jsonExpirationDate, global::System.Globalization.CultureInfo.InvariantCulture, global::System.Globalization.DateTimeStyles.AdjustToUniversal, out var __jsonExpirationDateValue) ? __jsonExpirationDateValue : ExpirationDate : ExpirationDate;} + {_participant = If( json?.PropertyT("participants"), out var __jsonParticipants) ? If( __jsonParticipants as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IParticipants) (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Participants.FromJson(__u) )) ))() : null : Participant;} + {_status = If( json?.PropertyT("status"), out var __jsonStatus) ? (string)__jsonStatus : (string)Status;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementProperties. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementProperties. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementProperties FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new AgreementProperties(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._billingProfileInfo ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._billingProfileInfo.ToJson(null,serializationMode) : null, "billingProfileInfo" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._agreementLink)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._agreementLink.ToString()) : null, "agreementLink" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._category)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._category.ToString()) : null, "category" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._acceptanceMode)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._acceptanceMode.ToString()) : null, "acceptanceMode" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._effectiveDate ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._effectiveDate?.ToString(@"yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK",global::System.Globalization.CultureInfo.InvariantCulture)) : null, "effectiveDate" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._expirationDate ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._expirationDate?.ToString(@"yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK",global::System.Globalization.CultureInfo.InvariantCulture)) : null, "expirationDate" ,container.Add ); + } + if (null != this._participant) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(); + foreach( var __x in this._participant ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("participants",__w); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._status)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._status.ToString()) : null, "status" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Amount.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/Amount.PowerShell.cs new file mode 100644 index 000000000000..48e5724564a2 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Amount.PowerShell.cs @@ -0,0 +1,152 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The amount. + [System.ComponentModel.TypeConverter(typeof(AmountTypeConverter))] + public partial class Amount + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal Amount(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Currency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)this).Currency = (string) content.GetValueForProperty("Currency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)this).Currency, global::System.Convert.ToString); + } + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)this).Value = (float?) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)this).Value, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal Amount(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Currency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)this).Currency = (string) content.GetValueForProperty("Currency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)this).Currency, global::System.Convert.ToString); + } + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)this).Value = (float?) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)this).Value, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new Amount(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new Amount(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The amount. + [System.ComponentModel.TypeConverter(typeof(AmountTypeConverter))] + public partial interface IAmount + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Amount.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/Amount.TypeConverter.cs new file mode 100644 index 000000000000..f350e2a3ed8b --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Amount.TypeConverter.cs @@ -0,0 +1,146 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class AmountTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return Amount.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return Amount.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return Amount.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Amount.cs b/swaggerci/billing/generated/api/Models/Api20200501/Amount.cs new file mode 100644 index 000000000000..ba178230a9e0 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Amount.cs @@ -0,0 +1,71 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The amount. + public partial class Amount : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal + { + + /// Backing field for property. + private string _currency; + + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Currency { get => this._currency; } + + /// Internal Acessors for Currency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal.Currency { get => this._currency; set { {_currency = value;} } } + + /// Backing field for property. + private float? _value; + + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public float? Value { get => this._value; set => this._value = value; } + + /// Creates an new instance. + public Amount() + { + + } + } + /// The amount. + public partial interface IAmount : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The currency for the amount value.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string Currency { get; } + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Amount value.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(float) })] + float? Value { get; set; } + + } + /// The amount. + internal partial interface IAmountInternal + + { + /// The currency for the amount value. + string Currency { get; set; } + /// Amount value. + float? Value { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Amount.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/Amount.json.cs new file mode 100644 index 000000000000..a6b227442f64 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Amount.json.cs @@ -0,0 +1,113 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The amount. + public partial class Amount + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal Amount(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_currency = If( json?.PropertyT("currency"), out var __jsonCurrency) ? (string)__jsonCurrency : (string)Currency;} + {_value = If( json?.PropertyT("value"), out var __jsonValue) ? (float?)__jsonValue : Value;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new Amount(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._currency)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._currency.ToString()) : null, "currency" ,container.Add ); + } + AddIf( null != this._value ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNumber((float)this._value) : null, "value" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/AvailableBalance.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/AvailableBalance.PowerShell.cs new file mode 100644 index 000000000000..fc07b6f20010 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/AvailableBalance.PowerShell.cs @@ -0,0 +1,192 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The latest Azure credit balance. This is the balance available for pay now. + [System.ComponentModel.TypeConverter(typeof(AvailableBalanceTypeConverter))] + public partial class AvailableBalance + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal AvailableBalance(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalanceInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalanceProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalanceInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AvailableBalancePropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("Amount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalanceInternal)this).Amount = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("Amount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalanceInternal)this).Amount, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("AmountCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalanceInternal)this).AmountCurrency = (string) content.GetValueForProperty("AmountCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalanceInternal)this).AmountCurrency, global::System.Convert.ToString); + } + if (content.Contains("AmountValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalanceInternal)this).AmountValue = (float?) content.GetValueForProperty("AmountValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalanceInternal)this).AmountValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal AvailableBalance(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalanceInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalanceProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalanceInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AvailableBalancePropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("Amount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalanceInternal)this).Amount = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("Amount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalanceInternal)this).Amount, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("AmountCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalanceInternal)this).AmountCurrency = (string) content.GetValueForProperty("AmountCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalanceInternal)this).AmountCurrency, global::System.Convert.ToString); + } + if (content.Contains("AmountValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalanceInternal)this).AmountValue = (float?) content.GetValueForProperty("AmountValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalanceInternal)this).AmountValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalance DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new AvailableBalance(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalance DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new AvailableBalance(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalance FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The latest Azure credit balance. This is the balance available for pay now. + [System.ComponentModel.TypeConverter(typeof(AvailableBalanceTypeConverter))] + public partial interface IAvailableBalance + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/AvailableBalance.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/AvailableBalance.TypeConverter.cs new file mode 100644 index 000000000000..a33878296bbb --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/AvailableBalance.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class AvailableBalanceTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalance ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalance).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return AvailableBalance.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return AvailableBalance.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return AvailableBalance.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/AvailableBalance.cs b/swaggerci/billing/generated/api/Models/Api20200501/AvailableBalance.cs new file mode 100644 index 000000000000..56e5b84b25a4 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/AvailableBalance.cs @@ -0,0 +1,122 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The latest Azure credit balance. This is the balance available for pay now. + public partial class AvailableBalance : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalance, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalanceInternal, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IValidates + { + /// + /// Backing field for Inherited model + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource __resource = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource(); + + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string AmountCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalancePropertiesInternal)Property).AmountCurrency; } + + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? AmountValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalancePropertiesInternal)Property).AmountValue; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalancePropertiesInternal)Property).AmountValue = value ?? default(float); } + + /// Resource Id. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id; } + + /// Internal Acessors for Id + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id = value; } + + /// Internal Acessors for Name + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name = value; } + + /// Internal Acessors for Type + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type = value; } + + /// Internal Acessors for Amount + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalanceInternal.Amount { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalancePropertiesInternal)Property).Amount; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalancePropertiesInternal)Property).Amount = value; } + + /// Internal Acessors for AmountCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalanceInternal.AmountCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalancePropertiesInternal)Property).AmountCurrency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalancePropertiesInternal)Property).AmountCurrency = value; } + + /// Internal Acessors for Property + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalanceProperties Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalanceInternal.Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AvailableBalanceProperties()); set { {_property = value;} } } + + /// Resource name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalanceProperties _property; + + /// The properties of available balance. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalanceProperties Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AvailableBalanceProperties()); set => this._property = value; } + + /// Resource type. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type; } + + /// Creates an new instance. + public AvailableBalance() + { + + } + + /// Validates that this object meets the validation criteria. + /// an instance that will receive validation + /// events. + /// + /// A that will be complete when validation is completed. + /// + public async global::System.Threading.Tasks.Task Validate(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + await eventListener.AssertNotNull(nameof(__resource), __resource); + await eventListener.AssertObjectIsValid(nameof(__resource), __resource); + } + } + /// The latest Azure credit balance. This is the balance available for pay now. + public partial interface IAvailableBalance : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource + { + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The currency for the amount value.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string AmountCurrency { get; } + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Amount value.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(float) })] + float? AmountValue { get; set; } + + } + /// The latest Azure credit balance. This is the balance available for pay now. + internal partial interface IAvailableBalanceInternal : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal + { + /// Balance amount. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Amount { get; set; } + /// The currency for the amount value. + string AmountCurrency { get; set; } + /// Amount value. + float? AmountValue { get; set; } + /// The properties of available balance. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalanceProperties Property { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/AvailableBalance.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/AvailableBalance.json.cs new file mode 100644 index 000000000000..a2b430dd237e --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/AvailableBalance.json.cs @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The latest Azure credit balance. This is the balance available for pay now. + public partial class AvailableBalance + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal AvailableBalance(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + __resource = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource(json); + {_property = If( json?.PropertyT("properties"), out var __jsonProperties) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AvailableBalanceProperties.FromJson(__jsonProperties) : Property;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalance. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalance. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalance FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new AvailableBalance(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + __resource?.ToJson(container, serializationMode); + AddIf( null != this._property ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._property.ToJson(null,serializationMode) : null, "properties" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/AvailableBalanceProperties.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/AvailableBalanceProperties.PowerShell.cs new file mode 100644 index 000000000000..16c57556a0c7 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/AvailableBalanceProperties.PowerShell.cs @@ -0,0 +1,160 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The properties of available balance. + [System.ComponentModel.TypeConverter(typeof(AvailableBalancePropertiesTypeConverter))] + public partial class AvailableBalanceProperties + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal AvailableBalanceProperties(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Amount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalancePropertiesInternal)this).Amount = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("Amount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalancePropertiesInternal)this).Amount, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("AmountCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalancePropertiesInternal)this).AmountCurrency = (string) content.GetValueForProperty("AmountCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalancePropertiesInternal)this).AmountCurrency, global::System.Convert.ToString); + } + if (content.Contains("AmountValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalancePropertiesInternal)this).AmountValue = (float?) content.GetValueForProperty("AmountValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalancePropertiesInternal)this).AmountValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal AvailableBalanceProperties(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Amount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalancePropertiesInternal)this).Amount = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("Amount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalancePropertiesInternal)this).Amount, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("AmountCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalancePropertiesInternal)this).AmountCurrency = (string) content.GetValueForProperty("AmountCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalancePropertiesInternal)this).AmountCurrency, global::System.Convert.ToString); + } + if (content.Contains("AmountValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalancePropertiesInternal)this).AmountValue = (float?) content.GetValueForProperty("AmountValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalancePropertiesInternal)this).AmountValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalanceProperties DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new AvailableBalanceProperties(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalanceProperties DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new AvailableBalanceProperties(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalanceProperties FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The properties of available balance. + [System.ComponentModel.TypeConverter(typeof(AvailableBalancePropertiesTypeConverter))] + public partial interface IAvailableBalanceProperties + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/AvailableBalanceProperties.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/AvailableBalanceProperties.TypeConverter.cs new file mode 100644 index 000000000000..b4c75b640e5c --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/AvailableBalanceProperties.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class AvailableBalancePropertiesTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalanceProperties ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalanceProperties).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return AvailableBalanceProperties.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return AvailableBalanceProperties.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return AvailableBalanceProperties.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/AvailableBalanceProperties.cs b/swaggerci/billing/generated/api/Models/Api20200501/AvailableBalanceProperties.cs new file mode 100644 index 000000000000..4d94f2b8ece3 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/AvailableBalanceProperties.cs @@ -0,0 +1,77 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of available balance. + public partial class AvailableBalanceProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalanceProperties, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalancePropertiesInternal + { + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount _amount; + + /// Balance amount. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Amount { get => (this._amount = this._amount ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount()); } + + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string AmountCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)Amount).Currency; } + + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? AmountValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)Amount).Value; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)Amount).Value = value ?? default(float); } + + /// Internal Acessors for Amount + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalancePropertiesInternal.Amount { get => (this._amount = this._amount ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount()); set { {_amount = value;} } } + + /// Internal Acessors for AmountCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalancePropertiesInternal.AmountCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)Amount).Currency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)Amount).Currency = value; } + + /// Creates an new instance. + public AvailableBalanceProperties() + { + + } + } + /// The properties of available balance. + public partial interface IAvailableBalanceProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The currency for the amount value.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string AmountCurrency { get; } + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Amount value.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(float) })] + float? AmountValue { get; set; } + + } + /// The properties of available balance. + internal partial interface IAvailableBalancePropertiesInternal + + { + /// Balance amount. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Amount { get; set; } + /// The currency for the amount value. + string AmountCurrency { get; set; } + /// Amount value. + float? AmountValue { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/AvailableBalanceProperties.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/AvailableBalanceProperties.json.cs new file mode 100644 index 000000000000..98533b86945e --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/AvailableBalanceProperties.json.cs @@ -0,0 +1,111 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of available balance. + public partial class AvailableBalanceProperties + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal AvailableBalanceProperties(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_amount = If( json?.PropertyT("amount"), out var __jsonAmount) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount.FromJson(__jsonAmount) : Amount;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalanceProperties. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalanceProperties. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalanceProperties FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new AvailableBalanceProperties(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._amount ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._amount.ToJson(null,serializationMode) : null, "amount" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/AzurePlan.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/AzurePlan.PowerShell.cs new file mode 100644 index 000000000000..1b81b14cd770 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/AzurePlan.PowerShell.cs @@ -0,0 +1,152 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// Details of the Azure plan. + [System.ComponentModel.TypeConverter(typeof(AzurePlanTypeConverter))] + public partial class AzurePlan + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal AzurePlan(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("SkuId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlanInternal)this).SkuId = (string) content.GetValueForProperty("SkuId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlanInternal)this).SkuId, global::System.Convert.ToString); + } + if (content.Contains("SkuDescription")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlanInternal)this).SkuDescription = (string) content.GetValueForProperty("SkuDescription",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlanInternal)this).SkuDescription, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal AzurePlan(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("SkuId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlanInternal)this).SkuId = (string) content.GetValueForProperty("SkuId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlanInternal)this).SkuId, global::System.Convert.ToString); + } + if (content.Contains("SkuDescription")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlanInternal)this).SkuDescription = (string) content.GetValueForProperty("SkuDescription",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlanInternal)this).SkuDescription, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new AzurePlan(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new AzurePlan(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Details of the Azure plan. + [System.ComponentModel.TypeConverter(typeof(AzurePlanTypeConverter))] + public partial interface IAzurePlan + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/AzurePlan.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/AzurePlan.TypeConverter.cs new file mode 100644 index 000000000000..a3cb2d0940f3 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/AzurePlan.TypeConverter.cs @@ -0,0 +1,146 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class AzurePlanTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return AzurePlan.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return AzurePlan.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return AzurePlan.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/AzurePlan.cs b/swaggerci/billing/generated/api/Models/Api20200501/AzurePlan.cs new file mode 100644 index 000000000000..17d1b1ba517a --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/AzurePlan.cs @@ -0,0 +1,71 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// Details of the Azure plan. + public partial class AzurePlan : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlanInternal + { + + /// Internal Acessors for SkuDescription + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlanInternal.SkuDescription { get => this._skuDescription; set { {_skuDescription = value;} } } + + /// Backing field for property. + private string _skuDescription; + + /// The sku description. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string SkuDescription { get => this._skuDescription; } + + /// Backing field for property. + private string _skuId; + + /// The sku id. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string SkuId { get => this._skuId; set => this._skuId = value; } + + /// Creates an new instance. + public AzurePlan() + { + + } + } + /// Details of the Azure plan. + public partial interface IAzurePlan : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The sku description. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The sku description.", + SerializedName = @"skuDescription", + PossibleTypes = new [] { typeof(string) })] + string SkuDescription { get; } + /// The sku id. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The sku id.", + SerializedName = @"skuId", + PossibleTypes = new [] { typeof(string) })] + string SkuId { get; set; } + + } + /// Details of the Azure plan. + internal partial interface IAzurePlanInternal + + { + /// The sku description. + string SkuDescription { get; set; } + /// The sku id. + string SkuId { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/AzurePlan.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/AzurePlan.json.cs new file mode 100644 index 000000000000..537989f85b3f --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/AzurePlan.json.cs @@ -0,0 +1,113 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// Details of the Azure plan. + public partial class AzurePlan + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal AzurePlan(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_skuId = If( json?.PropertyT("skuId"), out var __jsonSkuId) ? (string)__jsonSkuId : (string)SkuId;} + {_skuDescription = If( json?.PropertyT("skuDescription"), out var __jsonSkuDescription) ? (string)__jsonSkuDescription : (string)SkuDescription;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new AzurePlan(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != (((object)this._skuId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._skuId.ToString()) : null, "skuId" ,container.Add ); + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._skuDescription)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._skuDescription.ToString()) : null, "skuDescription" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingAccount.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingAccount.PowerShell.cs new file mode 100644 index 000000000000..e6f3bcfbb3f0 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingAccount.PowerShell.cs @@ -0,0 +1,488 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// A billing account. + [System.ComponentModel.TypeConverter(typeof(BillingAccountTypeConverter))] + public partial class BillingAccount + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal BillingAccount(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingAccountPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("EnrollmentDetail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentDetail = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollment) content.GetValueForProperty("EnrollmentDetail",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentDetail, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentTypeConverter.ConvertFrom); + } + if (content.Contains("AgreementType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).AgreementType = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AgreementType?) content.GetValueForProperty("AgreementType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).AgreementType, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AgreementType.CreateFrom); + } + if (content.Contains("AccountType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).AccountType = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountType?) content.GetValueForProperty("AccountType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).AccountType, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountType.CreateFrom); + } + if (content.Contains("AccountStatus")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).AccountStatus = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatus?) content.GetValueForProperty("AccountStatus",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).AccountStatus, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatus.CreateFrom); + } + if (content.Contains("SoldTo")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldTo = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails) content.GetValueForProperty("SoldTo",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldTo, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AddressDetailsTypeConverter.ConvertFrom); + } + if (content.Contains("BillingProfile")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).BillingProfile = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilesOnExpand) content.GetValueForProperty("BillingProfile",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).BillingProfile, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfilesOnExpandTypeConverter.ConvertFrom); + } + if (content.Contains("DisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).DisplayName = (string) content.GetValueForProperty("DisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).DisplayName, global::System.Convert.ToString); + } + if (content.Contains("Department")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).Department = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment[]) content.GetValueForProperty("Department",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).Department, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.DepartmentTypeConverter.ConvertFrom)); + } + if (content.Contains("EnrollmentAccount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentAccount = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[]) content.GetValueForProperty("EnrollmentAccount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentAccount, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentAccountTypeConverter.ConvertFrom)); + } + if (content.Contains("HasReadAccess")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).HasReadAccess = (bool?) content.GetValueForProperty("HasReadAccess",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).HasReadAccess, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("NotificationEmailAddress")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).NotificationEmailAddress = (string) content.GetValueForProperty("NotificationEmailAddress",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).NotificationEmailAddress, global::System.Convert.ToString); + } + if (content.Contains("SoldToFirstName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToFirstName = (string) content.GetValueForProperty("SoldToFirstName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToFirstName, global::System.Convert.ToString); + } + if (content.Contains("SoldToMiddleName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToMiddleName = (string) content.GetValueForProperty("SoldToMiddleName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToMiddleName, global::System.Convert.ToString); + } + if (content.Contains("SoldToLastName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToLastName = (string) content.GetValueForProperty("SoldToLastName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToLastName, global::System.Convert.ToString); + } + if (content.Contains("SoldToCompanyName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToCompanyName = (string) content.GetValueForProperty("SoldToCompanyName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToCompanyName, global::System.Convert.ToString); + } + if (content.Contains("SoldToAddressLine1")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToAddressLine1 = (string) content.GetValueForProperty("SoldToAddressLine1",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToAddressLine1, global::System.Convert.ToString); + } + if (content.Contains("SoldToAddressLine2")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToAddressLine2 = (string) content.GetValueForProperty("SoldToAddressLine2",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToAddressLine2, global::System.Convert.ToString); + } + if (content.Contains("SoldToAddressLine3")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToAddressLine3 = (string) content.GetValueForProperty("SoldToAddressLine3",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToAddressLine3, global::System.Convert.ToString); + } + if (content.Contains("SoldToCity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToCity = (string) content.GetValueForProperty("SoldToCity",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToCity, global::System.Convert.ToString); + } + if (content.Contains("SoldToDistrict")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToDistrict = (string) content.GetValueForProperty("SoldToDistrict",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToDistrict, global::System.Convert.ToString); + } + if (content.Contains("SoldToRegion")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToRegion = (string) content.GetValueForProperty("SoldToRegion",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToRegion, global::System.Convert.ToString); + } + if (content.Contains("SoldToCountry")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToCountry = (string) content.GetValueForProperty("SoldToCountry",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToCountry, global::System.Convert.ToString); + } + if (content.Contains("SoldToPostalCode")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToPostalCode = (string) content.GetValueForProperty("SoldToPostalCode",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToPostalCode, global::System.Convert.ToString); + } + if (content.Contains("SoldToEmail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToEmail = (string) content.GetValueForProperty("SoldToEmail",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToEmail, global::System.Convert.ToString); + } + if (content.Contains("SoldToPhoneNumber")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToPhoneNumber = (string) content.GetValueForProperty("SoldToPhoneNumber",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToPhoneNumber, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileHasMoreResult")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).BillingProfileHasMoreResult = (bool?) content.GetValueForProperty("BillingProfileHasMoreResult",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).BillingProfileHasMoreResult, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("BillingProfileValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).BillingProfileValue = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile[]) content.GetValueForProperty("BillingProfileValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).BillingProfileValue, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfileTypeConverter.ConvertFrom)); + } + if (content.Contains("EnrollmentDetailPolicy")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentDetailPolicy = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPolicies) content.GetValueForProperty("EnrollmentDetailPolicy",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentDetailPolicy, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentPoliciesTypeConverter.ConvertFrom); + } + if (content.Contains("EnrollmentDetailStartDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentDetailStartDate = (global::System.DateTime?) content.GetValueForProperty("EnrollmentDetailStartDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentDetailStartDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("EnrollmentDetailEndDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentDetailEndDate = (global::System.DateTime?) content.GetValueForProperty("EnrollmentDetailEndDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentDetailEndDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("EnrollmentDetailCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentDetailCurrency = (string) content.GetValueForProperty("EnrollmentDetailCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentDetailCurrency, global::System.Convert.ToString); + } + if (content.Contains("EnrollmentDetailChannel")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentDetailChannel = (string) content.GetValueForProperty("EnrollmentDetailChannel",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentDetailChannel, global::System.Convert.ToString); + } + if (content.Contains("EnrollmentDetailLanguage")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentDetailLanguage = (string) content.GetValueForProperty("EnrollmentDetailLanguage",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentDetailLanguage, global::System.Convert.ToString); + } + if (content.Contains("EnrollmentDetailCountryCode")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentDetailCountryCode = (string) content.GetValueForProperty("EnrollmentDetailCountryCode",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentDetailCountryCode, global::System.Convert.ToString); + } + if (content.Contains("EnrollmentDetailStatus")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentDetailStatus = (string) content.GetValueForProperty("EnrollmentDetailStatus",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentDetailStatus, global::System.Convert.ToString); + } + if (content.Contains("EnrollmentDetailBillingCycle")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentDetailBillingCycle = (string) content.GetValueForProperty("EnrollmentDetailBillingCycle",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentDetailBillingCycle, global::System.Convert.ToString); + } + if (content.Contains("PolicyAccountOwnerViewCharge")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).PolicyAccountOwnerViewCharge = (bool?) content.GetValueForProperty("PolicyAccountOwnerViewCharge",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).PolicyAccountOwnerViewCharge, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("PolicyDepartmentAdminViewCharge")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).PolicyDepartmentAdminViewCharge = (bool?) content.GetValueForProperty("PolicyDepartmentAdminViewCharge",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).PolicyDepartmentAdminViewCharge, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("PolicyMarketplaceEnabled")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).PolicyMarketplaceEnabled = (bool?) content.GetValueForProperty("PolicyMarketplaceEnabled",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).PolicyMarketplaceEnabled, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("PolicyReservedInstancesEnabled")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).PolicyReservedInstancesEnabled = (bool?) content.GetValueForProperty("PolicyReservedInstancesEnabled",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).PolicyReservedInstancesEnabled, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal BillingAccount(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingAccountPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("EnrollmentDetail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentDetail = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollment) content.GetValueForProperty("EnrollmentDetail",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentDetail, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentTypeConverter.ConvertFrom); + } + if (content.Contains("AgreementType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).AgreementType = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AgreementType?) content.GetValueForProperty("AgreementType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).AgreementType, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AgreementType.CreateFrom); + } + if (content.Contains("AccountType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).AccountType = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountType?) content.GetValueForProperty("AccountType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).AccountType, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountType.CreateFrom); + } + if (content.Contains("AccountStatus")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).AccountStatus = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatus?) content.GetValueForProperty("AccountStatus",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).AccountStatus, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatus.CreateFrom); + } + if (content.Contains("SoldTo")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldTo = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails) content.GetValueForProperty("SoldTo",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldTo, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AddressDetailsTypeConverter.ConvertFrom); + } + if (content.Contains("BillingProfile")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).BillingProfile = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilesOnExpand) content.GetValueForProperty("BillingProfile",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).BillingProfile, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfilesOnExpandTypeConverter.ConvertFrom); + } + if (content.Contains("DisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).DisplayName = (string) content.GetValueForProperty("DisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).DisplayName, global::System.Convert.ToString); + } + if (content.Contains("Department")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).Department = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment[]) content.GetValueForProperty("Department",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).Department, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.DepartmentTypeConverter.ConvertFrom)); + } + if (content.Contains("EnrollmentAccount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentAccount = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[]) content.GetValueForProperty("EnrollmentAccount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentAccount, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentAccountTypeConverter.ConvertFrom)); + } + if (content.Contains("HasReadAccess")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).HasReadAccess = (bool?) content.GetValueForProperty("HasReadAccess",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).HasReadAccess, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("NotificationEmailAddress")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).NotificationEmailAddress = (string) content.GetValueForProperty("NotificationEmailAddress",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).NotificationEmailAddress, global::System.Convert.ToString); + } + if (content.Contains("SoldToFirstName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToFirstName = (string) content.GetValueForProperty("SoldToFirstName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToFirstName, global::System.Convert.ToString); + } + if (content.Contains("SoldToMiddleName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToMiddleName = (string) content.GetValueForProperty("SoldToMiddleName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToMiddleName, global::System.Convert.ToString); + } + if (content.Contains("SoldToLastName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToLastName = (string) content.GetValueForProperty("SoldToLastName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToLastName, global::System.Convert.ToString); + } + if (content.Contains("SoldToCompanyName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToCompanyName = (string) content.GetValueForProperty("SoldToCompanyName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToCompanyName, global::System.Convert.ToString); + } + if (content.Contains("SoldToAddressLine1")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToAddressLine1 = (string) content.GetValueForProperty("SoldToAddressLine1",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToAddressLine1, global::System.Convert.ToString); + } + if (content.Contains("SoldToAddressLine2")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToAddressLine2 = (string) content.GetValueForProperty("SoldToAddressLine2",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToAddressLine2, global::System.Convert.ToString); + } + if (content.Contains("SoldToAddressLine3")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToAddressLine3 = (string) content.GetValueForProperty("SoldToAddressLine3",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToAddressLine3, global::System.Convert.ToString); + } + if (content.Contains("SoldToCity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToCity = (string) content.GetValueForProperty("SoldToCity",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToCity, global::System.Convert.ToString); + } + if (content.Contains("SoldToDistrict")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToDistrict = (string) content.GetValueForProperty("SoldToDistrict",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToDistrict, global::System.Convert.ToString); + } + if (content.Contains("SoldToRegion")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToRegion = (string) content.GetValueForProperty("SoldToRegion",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToRegion, global::System.Convert.ToString); + } + if (content.Contains("SoldToCountry")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToCountry = (string) content.GetValueForProperty("SoldToCountry",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToCountry, global::System.Convert.ToString); + } + if (content.Contains("SoldToPostalCode")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToPostalCode = (string) content.GetValueForProperty("SoldToPostalCode",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToPostalCode, global::System.Convert.ToString); + } + if (content.Contains("SoldToEmail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToEmail = (string) content.GetValueForProperty("SoldToEmail",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToEmail, global::System.Convert.ToString); + } + if (content.Contains("SoldToPhoneNumber")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToPhoneNumber = (string) content.GetValueForProperty("SoldToPhoneNumber",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).SoldToPhoneNumber, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileHasMoreResult")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).BillingProfileHasMoreResult = (bool?) content.GetValueForProperty("BillingProfileHasMoreResult",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).BillingProfileHasMoreResult, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("BillingProfileValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).BillingProfileValue = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile[]) content.GetValueForProperty("BillingProfileValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).BillingProfileValue, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfileTypeConverter.ConvertFrom)); + } + if (content.Contains("EnrollmentDetailPolicy")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentDetailPolicy = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPolicies) content.GetValueForProperty("EnrollmentDetailPolicy",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentDetailPolicy, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentPoliciesTypeConverter.ConvertFrom); + } + if (content.Contains("EnrollmentDetailStartDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentDetailStartDate = (global::System.DateTime?) content.GetValueForProperty("EnrollmentDetailStartDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentDetailStartDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("EnrollmentDetailEndDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentDetailEndDate = (global::System.DateTime?) content.GetValueForProperty("EnrollmentDetailEndDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentDetailEndDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("EnrollmentDetailCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentDetailCurrency = (string) content.GetValueForProperty("EnrollmentDetailCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentDetailCurrency, global::System.Convert.ToString); + } + if (content.Contains("EnrollmentDetailChannel")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentDetailChannel = (string) content.GetValueForProperty("EnrollmentDetailChannel",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentDetailChannel, global::System.Convert.ToString); + } + if (content.Contains("EnrollmentDetailLanguage")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentDetailLanguage = (string) content.GetValueForProperty("EnrollmentDetailLanguage",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentDetailLanguage, global::System.Convert.ToString); + } + if (content.Contains("EnrollmentDetailCountryCode")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentDetailCountryCode = (string) content.GetValueForProperty("EnrollmentDetailCountryCode",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentDetailCountryCode, global::System.Convert.ToString); + } + if (content.Contains("EnrollmentDetailStatus")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentDetailStatus = (string) content.GetValueForProperty("EnrollmentDetailStatus",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentDetailStatus, global::System.Convert.ToString); + } + if (content.Contains("EnrollmentDetailBillingCycle")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentDetailBillingCycle = (string) content.GetValueForProperty("EnrollmentDetailBillingCycle",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).EnrollmentDetailBillingCycle, global::System.Convert.ToString); + } + if (content.Contains("PolicyAccountOwnerViewCharge")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).PolicyAccountOwnerViewCharge = (bool?) content.GetValueForProperty("PolicyAccountOwnerViewCharge",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).PolicyAccountOwnerViewCharge, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("PolicyDepartmentAdminViewCharge")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).PolicyDepartmentAdminViewCharge = (bool?) content.GetValueForProperty("PolicyDepartmentAdminViewCharge",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).PolicyDepartmentAdminViewCharge, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("PolicyMarketplaceEnabled")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).PolicyMarketplaceEnabled = (bool?) content.GetValueForProperty("PolicyMarketplaceEnabled",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).PolicyMarketplaceEnabled, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("PolicyReservedInstancesEnabled")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).PolicyReservedInstancesEnabled = (bool?) content.GetValueForProperty("PolicyReservedInstancesEnabled",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal)this).PolicyReservedInstancesEnabled, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new BillingAccount(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new BillingAccount(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// A billing account. + [System.ComponentModel.TypeConverter(typeof(BillingAccountTypeConverter))] + public partial interface IBillingAccount + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingAccount.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingAccount.TypeConverter.cs new file mode 100644 index 000000000000..0bc45990bda9 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingAccount.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class BillingAccountTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return BillingAccount.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return BillingAccount.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return BillingAccount.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingAccount.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingAccount.cs new file mode 100644 index 000000000000..bb47c350b127 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingAccount.cs @@ -0,0 +1,682 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// A billing account. + public partial class BillingAccount : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IValidates + { + /// + /// Backing field for Inherited model + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource __resource = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource(); + + /// The current status of the billing account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatus? AccountStatus { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).AccountStatus; } + + /// The type of customer. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountType? AccountType { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).AccountType; } + + /// The type of agreement. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AgreementType? AgreementType { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).AgreementType; } + + /// + /// Indicates whether there are more billing profiles than the ones listed in this collection. The collection lists a maximum + /// of 50 billing profiles. To get all billing profiles, use the list billing profiles API. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public bool? BillingProfileHasMoreResult { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).BillingProfileHasMoreResult; } + + /// The billing profiles associated with the billing account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile[] BillingProfileValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).BillingProfileValue; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).BillingProfileValue = value ?? null /* arrayOf */; } + + /// The departments associated to the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment[] Department { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).Department; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).Department = value ?? null /* arrayOf */; } + + /// The billing account name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string DisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).DisplayName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).DisplayName = value ?? null; } + + /// The accounts associated to the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[] EnrollmentAccount { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentAccount; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentAccount = value ?? null /* arrayOf */; } + + /// The billing cycle for the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string EnrollmentDetailBillingCycle { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailBillingCycle; } + + /// The channel type of the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string EnrollmentDetailChannel { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailChannel; } + + /// The country code of the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string EnrollmentDetailCountryCode { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailCountryCode; } + + /// The billing currency for the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string EnrollmentDetailCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailCurrency; } + + /// The end date of the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public global::System.DateTime? EnrollmentDetailEndDate { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailEndDate; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailEndDate = value ?? default(global::System.DateTime); } + + /// The language for the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string EnrollmentDetailLanguage { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailLanguage; } + + /// The start date of the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public global::System.DateTime? EnrollmentDetailStartDate { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailStartDate; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailStartDate = value ?? default(global::System.DateTime); } + + /// The current status of the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string EnrollmentDetailStatus { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailStatus; } + + /// Indicates whether user has read access to the billing account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public bool? HasReadAccess { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).HasReadAccess; } + + /// Resource Id. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id; } + + /// Internal Acessors for Id + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id = value; } + + /// Internal Acessors for Name + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name = value; } + + /// Internal Acessors for Type + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type = value; } + + /// Internal Acessors for AccountStatus + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatus? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal.AccountStatus { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).AccountStatus; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).AccountStatus = value; } + + /// Internal Acessors for AccountType + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountType? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal.AccountType { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).AccountType; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).AccountType = value; } + + /// Internal Acessors for AgreementType + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AgreementType? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal.AgreementType { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).AgreementType; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).AgreementType = value; } + + /// Internal Acessors for BillingProfile + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilesOnExpand Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal.BillingProfile { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).BillingProfile; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).BillingProfile = value; } + + /// Internal Acessors for BillingProfileHasMoreResult + bool? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal.BillingProfileHasMoreResult { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).BillingProfileHasMoreResult; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).BillingProfileHasMoreResult = value; } + + /// Internal Acessors for EnrollmentDetail + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollment Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal.EnrollmentDetail { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetail; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetail = value; } + + /// Internal Acessors for EnrollmentDetailBillingCycle + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal.EnrollmentDetailBillingCycle { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailBillingCycle; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailBillingCycle = value; } + + /// Internal Acessors for EnrollmentDetailChannel + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal.EnrollmentDetailChannel { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailChannel; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailChannel = value; } + + /// Internal Acessors for EnrollmentDetailCountryCode + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal.EnrollmentDetailCountryCode { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailCountryCode; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailCountryCode = value; } + + /// Internal Acessors for EnrollmentDetailCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal.EnrollmentDetailCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailCurrency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailCurrency = value; } + + /// Internal Acessors for EnrollmentDetailLanguage + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal.EnrollmentDetailLanguage { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailLanguage; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailLanguage = value; } + + /// Internal Acessors for EnrollmentDetailPolicy + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPolicies Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal.EnrollmentDetailPolicy { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailPolicy; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailPolicy = value; } + + /// Internal Acessors for EnrollmentDetailStatus + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal.EnrollmentDetailStatus { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailStatus; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailStatus = value; } + + /// Internal Acessors for HasReadAccess + bool? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal.HasReadAccess { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).HasReadAccess; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).HasReadAccess = value; } + + /// Internal Acessors for PolicyAccountOwnerViewCharge + bool? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal.PolicyAccountOwnerViewCharge { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).PolicyAccountOwnerViewCharge; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).PolicyAccountOwnerViewCharge = value; } + + /// Internal Acessors for PolicyDepartmentAdminViewCharge + bool? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal.PolicyDepartmentAdminViewCharge { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).PolicyDepartmentAdminViewCharge; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).PolicyDepartmentAdminViewCharge = value; } + + /// Internal Acessors for PolicyMarketplaceEnabled + bool? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal.PolicyMarketplaceEnabled { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).PolicyMarketplaceEnabled; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).PolicyMarketplaceEnabled = value; } + + /// Internal Acessors for PolicyReservedInstancesEnabled + bool? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal.PolicyReservedInstancesEnabled { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).PolicyReservedInstancesEnabled; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).PolicyReservedInstancesEnabled = value; } + + /// Internal Acessors for Property + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountProperties Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal.Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingAccountProperties()); set { {_property = value;} } } + + /// Internal Acessors for SoldTo + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountInternal.SoldTo { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldTo; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldTo = value; } + + /// Resource name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name; } + + /// Notification email address, only for legacy accounts + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string NotificationEmailAddress { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).NotificationEmailAddress; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).NotificationEmailAddress = value ?? null; } + + /// The policy that controls whether Account Owners can view charges. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public bool? PolicyAccountOwnerViewCharge { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).PolicyAccountOwnerViewCharge; } + + /// The policy that controls whether Department Administrators can view charges. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public bool? PolicyDepartmentAdminViewCharge { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).PolicyDepartmentAdminViewCharge; } + + /// + /// The policy that controls whether Azure marketplace purchases are allowed in the enrollment. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public bool? PolicyMarketplaceEnabled { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).PolicyMarketplaceEnabled; } + + /// + /// The policy that controls whether Azure reservation purchases are allowed in the enrollment. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public bool? PolicyReservedInstancesEnabled { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).PolicyReservedInstancesEnabled; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountProperties _property; + + /// The properties of the billing account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountProperties Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingAccountProperties()); set => this._property = value; } + + /// Address line 1. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToAddressLine1 { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToAddressLine1; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToAddressLine1 = value ?? null; } + + /// Address line 2. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToAddressLine2 { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToAddressLine2; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToAddressLine2 = value ?? null; } + + /// Address line 3. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToAddressLine3 { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToAddressLine3; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToAddressLine3 = value ?? null; } + + /// Address city. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToCity { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToCity; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToCity = value ?? null; } + + /// Company name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToCompanyName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToCompanyName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToCompanyName = value ?? null; } + + /// Country code uses ISO2, 2-digit format. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToCountry { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToCountry; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToCountry = value ?? null; } + + /// Address district. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToDistrict { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToDistrict; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToDistrict = value ?? null; } + + /// Email address. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToEmail { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToEmail; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToEmail = value ?? null; } + + /// First name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToFirstName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToFirstName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToFirstName = value ?? null; } + + /// Last name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToLastName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToLastName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToLastName = value ?? null; } + + /// Middle name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToMiddleName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToMiddleName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToMiddleName = value ?? null; } + + /// Phone number. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToPhoneNumber { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToPhoneNumber; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToPhoneNumber = value ?? null; } + + /// Postal code. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToPostalCode { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToPostalCode; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToPostalCode = value ?? null; } + + /// Address region. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToRegion { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToRegion; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToRegion = value ?? null; } + + /// Resource type. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type; } + + /// Creates an new instance. + public BillingAccount() + { + + } + + /// Validates that this object meets the validation criteria. + /// an instance that will receive validation + /// events. + /// + /// A that will be complete when validation is completed. + /// + public async global::System.Threading.Tasks.Task Validate(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + await eventListener.AssertNotNull(nameof(__resource), __resource); + await eventListener.AssertObjectIsValid(nameof(__resource), __resource); + } + } + /// A billing account. + public partial interface IBillingAccount : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource + { + /// The current status of the billing account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The current status of the billing account.", + SerializedName = @"accountStatus", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatus) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatus? AccountStatus { get; } + /// The type of customer. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The type of customer.", + SerializedName = @"accountType", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountType) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountType? AccountType { get; } + /// The type of agreement. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The type of agreement.", + SerializedName = @"agreementType", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AgreementType) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AgreementType? AgreementType { get; } + /// + /// Indicates whether there are more billing profiles than the ones listed in this collection. The collection lists a maximum + /// of 50 billing profiles. To get all billing profiles, use the list billing profiles API. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Indicates whether there are more billing profiles than the ones listed in this collection. The collection lists a maximum of 50 billing profiles. To get all billing profiles, use the list billing profiles API.", + SerializedName = @"hasMoreResults", + PossibleTypes = new [] { typeof(bool) })] + bool? BillingProfileHasMoreResult { get; } + /// The billing profiles associated with the billing account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The billing profiles associated with the billing account.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile[] BillingProfileValue { get; set; } + /// The departments associated to the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The departments associated to the enrollment.", + SerializedName = @"departments", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment[] Department { get; set; } + /// The billing account name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The billing account name.", + SerializedName = @"displayName", + PossibleTypes = new [] { typeof(string) })] + string DisplayName { get; set; } + /// The accounts associated to the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The accounts associated to the enrollment.", + SerializedName = @"enrollmentAccounts", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[] EnrollmentAccount { get; set; } + /// The billing cycle for the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The billing cycle for the enrollment.", + SerializedName = @"billingCycle", + PossibleTypes = new [] { typeof(string) })] + string EnrollmentDetailBillingCycle { get; } + /// The channel type of the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The channel type of the enrollment.", + SerializedName = @"channel", + PossibleTypes = new [] { typeof(string) })] + string EnrollmentDetailChannel { get; } + /// The country code of the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The country code of the enrollment.", + SerializedName = @"countryCode", + PossibleTypes = new [] { typeof(string) })] + string EnrollmentDetailCountryCode { get; } + /// The billing currency for the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The billing currency for the enrollment.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string EnrollmentDetailCurrency { get; } + /// The end date of the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The end date of the enrollment.", + SerializedName = @"endDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? EnrollmentDetailEndDate { get; set; } + /// The language for the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The language for the enrollment.", + SerializedName = @"language", + PossibleTypes = new [] { typeof(string) })] + string EnrollmentDetailLanguage { get; } + /// The start date of the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The start date of the enrollment.", + SerializedName = @"startDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? EnrollmentDetailStartDate { get; set; } + /// The current status of the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The current status of the enrollment.", + SerializedName = @"status", + PossibleTypes = new [] { typeof(string) })] + string EnrollmentDetailStatus { get; } + /// Indicates whether user has read access to the billing account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Indicates whether user has read access to the billing account.", + SerializedName = @"hasReadAccess", + PossibleTypes = new [] { typeof(bool) })] + bool? HasReadAccess { get; } + /// Notification email address, only for legacy accounts + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Notification email address, only for legacy accounts", + SerializedName = @"notificationEmailAddress", + PossibleTypes = new [] { typeof(string) })] + string NotificationEmailAddress { get; set; } + /// The policy that controls whether Account Owners can view charges. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The policy that controls whether Account Owners can view charges.", + SerializedName = @"accountOwnerViewCharges", + PossibleTypes = new [] { typeof(bool) })] + bool? PolicyAccountOwnerViewCharge { get; } + /// The policy that controls whether Department Administrators can view charges. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The policy that controls whether Department Administrators can view charges.", + SerializedName = @"departmentAdminViewCharges", + PossibleTypes = new [] { typeof(bool) })] + bool? PolicyDepartmentAdminViewCharge { get; } + /// + /// The policy that controls whether Azure marketplace purchases are allowed in the enrollment. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The policy that controls whether Azure marketplace purchases are allowed in the enrollment.", + SerializedName = @"marketplaceEnabled", + PossibleTypes = new [] { typeof(bool) })] + bool? PolicyMarketplaceEnabled { get; } + /// + /// The policy that controls whether Azure reservation purchases are allowed in the enrollment. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The policy that controls whether Azure reservation purchases are allowed in the enrollment.", + SerializedName = @"reservedInstancesEnabled", + PossibleTypes = new [] { typeof(bool) })] + bool? PolicyReservedInstancesEnabled { get; } + /// Address line 1. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address line 1.", + SerializedName = @"addressLine1", + PossibleTypes = new [] { typeof(string) })] + string SoldToAddressLine1 { get; set; } + /// Address line 2. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address line 2.", + SerializedName = @"addressLine2", + PossibleTypes = new [] { typeof(string) })] + string SoldToAddressLine2 { get; set; } + /// Address line 3. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address line 3.", + SerializedName = @"addressLine3", + PossibleTypes = new [] { typeof(string) })] + string SoldToAddressLine3 { get; set; } + /// Address city. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address city.", + SerializedName = @"city", + PossibleTypes = new [] { typeof(string) })] + string SoldToCity { get; set; } + /// Company name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Company name.", + SerializedName = @"companyName", + PossibleTypes = new [] { typeof(string) })] + string SoldToCompanyName { get; set; } + /// Country code uses ISO2, 2-digit format. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Country code uses ISO2, 2-digit format.", + SerializedName = @"country", + PossibleTypes = new [] { typeof(string) })] + string SoldToCountry { get; set; } + /// Address district. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address district.", + SerializedName = @"district", + PossibleTypes = new [] { typeof(string) })] + string SoldToDistrict { get; set; } + /// Email address. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Email address.", + SerializedName = @"email", + PossibleTypes = new [] { typeof(string) })] + string SoldToEmail { get; set; } + /// First name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"First name.", + SerializedName = @"firstName", + PossibleTypes = new [] { typeof(string) })] + string SoldToFirstName { get; set; } + /// Last name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Last name.", + SerializedName = @"lastName", + PossibleTypes = new [] { typeof(string) })] + string SoldToLastName { get; set; } + /// Middle name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Middle name.", + SerializedName = @"middleName", + PossibleTypes = new [] { typeof(string) })] + string SoldToMiddleName { get; set; } + /// Phone number. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Phone number.", + SerializedName = @"phoneNumber", + PossibleTypes = new [] { typeof(string) })] + string SoldToPhoneNumber { get; set; } + /// Postal code. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Postal code.", + SerializedName = @"postalCode", + PossibleTypes = new [] { typeof(string) })] + string SoldToPostalCode { get; set; } + /// Address region. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address region.", + SerializedName = @"region", + PossibleTypes = new [] { typeof(string) })] + string SoldToRegion { get; set; } + + } + /// A billing account. + internal partial interface IBillingAccountInternal : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal + { + /// The current status of the billing account. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatus? AccountStatus { get; set; } + /// The type of customer. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountType? AccountType { get; set; } + /// The type of agreement. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AgreementType? AgreementType { get; set; } + /// + /// The billing profiles associated with the billing account. By default this is not populated, unless it's specified in $expand. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilesOnExpand BillingProfile { get; set; } + /// + /// Indicates whether there are more billing profiles than the ones listed in this collection. The collection lists a maximum + /// of 50 billing profiles. To get all billing profiles, use the list billing profiles API. + /// + bool? BillingProfileHasMoreResult { get; set; } + /// The billing profiles associated with the billing account. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile[] BillingProfileValue { get; set; } + /// The departments associated to the enrollment. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment[] Department { get; set; } + /// The billing account name. + string DisplayName { get; set; } + /// The accounts associated to the enrollment. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[] EnrollmentAccount { get; set; } + /// + /// The details about the associated legacy enrollment. By default this is not populated, unless it's specified in $expand. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollment EnrollmentDetail { get; set; } + /// The billing cycle for the enrollment. + string EnrollmentDetailBillingCycle { get; set; } + /// The channel type of the enrollment. + string EnrollmentDetailChannel { get; set; } + /// The country code of the enrollment. + string EnrollmentDetailCountryCode { get; set; } + /// The billing currency for the enrollment. + string EnrollmentDetailCurrency { get; set; } + /// The end date of the enrollment. + global::System.DateTime? EnrollmentDetailEndDate { get; set; } + /// The language for the enrollment. + string EnrollmentDetailLanguage { get; set; } + /// The policies for Enterprise Agreement enrollments. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPolicies EnrollmentDetailPolicy { get; set; } + /// The start date of the enrollment. + global::System.DateTime? EnrollmentDetailStartDate { get; set; } + /// The current status of the enrollment. + string EnrollmentDetailStatus { get; set; } + /// Indicates whether user has read access to the billing account. + bool? HasReadAccess { get; set; } + /// Notification email address, only for legacy accounts + string NotificationEmailAddress { get; set; } + /// The policy that controls whether Account Owners can view charges. + bool? PolicyAccountOwnerViewCharge { get; set; } + /// The policy that controls whether Department Administrators can view charges. + bool? PolicyDepartmentAdminViewCharge { get; set; } + /// + /// The policy that controls whether Azure marketplace purchases are allowed in the enrollment. + /// + bool? PolicyMarketplaceEnabled { get; set; } + /// + /// The policy that controls whether Azure reservation purchases are allowed in the enrollment. + /// + bool? PolicyReservedInstancesEnabled { get; set; } + /// The properties of the billing account. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountProperties Property { get; set; } + /// + /// The address of the individual or organization that is responsible for the billing account. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails SoldTo { get; set; } + /// Address line 1. + string SoldToAddressLine1 { get; set; } + /// Address line 2. + string SoldToAddressLine2 { get; set; } + /// Address line 3. + string SoldToAddressLine3 { get; set; } + /// Address city. + string SoldToCity { get; set; } + /// Company name. + string SoldToCompanyName { get; set; } + /// Country code uses ISO2, 2-digit format. + string SoldToCountry { get; set; } + /// Address district. + string SoldToDistrict { get; set; } + /// Email address. + string SoldToEmail { get; set; } + /// First name. + string SoldToFirstName { get; set; } + /// Last name. + string SoldToLastName { get; set; } + /// Middle name. + string SoldToMiddleName { get; set; } + /// Phone number. + string SoldToPhoneNumber { get; set; } + /// Postal code. + string SoldToPostalCode { get; set; } + /// Address region. + string SoldToRegion { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingAccount.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingAccount.json.cs new file mode 100644 index 000000000000..612d5fbece41 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingAccount.json.cs @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// A billing account. + public partial class BillingAccount + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal BillingAccount(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + __resource = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource(json); + {_property = If( json?.PropertyT("properties"), out var __jsonProperties) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingAccountProperties.FromJson(__jsonProperties) : Property;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new BillingAccount(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + __resource?.ToJson(container, serializationMode); + AddIf( null != this._property ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._property.ToJson(null,serializationMode) : null, "properties" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingAccountListResult.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingAccountListResult.PowerShell.cs new file mode 100644 index 000000000000..e4c24f856971 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingAccountListResult.PowerShell.cs @@ -0,0 +1,152 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The list of billing accounts. + [System.ComponentModel.TypeConverter(typeof(BillingAccountListResultTypeConverter))] + public partial class BillingAccountListResult + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal BillingAccountListResult(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingAccountTypeConverter.ConvertFrom)); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountListResultInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal BillingAccountListResult(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingAccountTypeConverter.ConvertFrom)); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountListResultInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountListResult DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new BillingAccountListResult(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountListResult DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new BillingAccountListResult(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountListResult FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The list of billing accounts. + [System.ComponentModel.TypeConverter(typeof(BillingAccountListResultTypeConverter))] + public partial interface IBillingAccountListResult + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingAccountListResult.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingAccountListResult.TypeConverter.cs new file mode 100644 index 000000000000..a2cdb944afb4 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingAccountListResult.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class BillingAccountListResultTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountListResult ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountListResult).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return BillingAccountListResult.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return BillingAccountListResult.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return BillingAccountListResult.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingAccountListResult.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingAccountListResult.cs new file mode 100644 index 000000000000..d75e33271d44 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingAccountListResult.cs @@ -0,0 +1,74 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The list of billing accounts. + public partial class BillingAccountListResult : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountListResult, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountListResultInternal + { + + /// Internal Acessors for NextLink + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountListResultInternal.NextLink { get => this._nextLink; set { {_nextLink = value;} } } + + /// Internal Acessors for Value + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount[] Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountListResultInternal.Value { get => this._value; set { {_value = value;} } } + + /// Backing field for property. + private string _nextLink; + + /// The link (url) to the next page of results. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string NextLink { get => this._nextLink; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount[] _value; + + /// The list of billing accounts. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount[] Value { get => this._value; } + + /// Creates an new instance. + public BillingAccountListResult() + { + + } + } + /// The list of billing accounts. + public partial interface IBillingAccountListResult : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The link (url) to the next page of results. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The link (url) to the next page of results.", + SerializedName = @"nextLink", + PossibleTypes = new [] { typeof(string) })] + string NextLink { get; } + /// The list of billing accounts. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The list of billing accounts.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount[] Value { get; } + + } + /// The list of billing accounts. + internal partial interface IBillingAccountListResultInternal + + { + /// The link (url) to the next page of results. + string NextLink { get; set; } + /// The list of billing accounts. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount[] Value { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingAccountListResult.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingAccountListResult.json.cs new file mode 100644 index 000000000000..607f46ebfb7d --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingAccountListResult.json.cs @@ -0,0 +1,124 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The list of billing accounts. + public partial class BillingAccountListResult + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal BillingAccountListResult(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_value = If( json?.PropertyT("value"), out var __jsonValue) ? If( __jsonValue as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount) (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingAccount.FromJson(__u) )) ))() : null : Value;} + {_nextLink = If( json?.PropertyT("nextLink"), out var __jsonNextLink) ? (string)__jsonNextLink : (string)NextLink;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountListResult. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountListResult. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountListResult FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new BillingAccountListResult(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + if (null != this._value) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(); + foreach( var __x in this._value ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("value",__w); + } + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._nextLink)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._nextLink.ToString()) : null, "nextLink" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingAccountProperties.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingAccountProperties.PowerShell.cs new file mode 100644 index 000000000000..250cc8b37622 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingAccountProperties.PowerShell.cs @@ -0,0 +1,456 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The properties of the billing account. + [System.ComponentModel.TypeConverter(typeof(BillingAccountPropertiesTypeConverter))] + public partial class BillingAccountProperties + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal BillingAccountProperties(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("SoldTo")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldTo = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails) content.GetValueForProperty("SoldTo",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldTo, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AddressDetailsTypeConverter.ConvertFrom); + } + if (content.Contains("BillingProfile")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).BillingProfile = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilesOnExpand) content.GetValueForProperty("BillingProfile",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).BillingProfile, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfilesOnExpandTypeConverter.ConvertFrom); + } + if (content.Contains("EnrollmentDetail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentDetail = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollment) content.GetValueForProperty("EnrollmentDetail",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentDetail, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentTypeConverter.ConvertFrom); + } + if (content.Contains("DisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).DisplayName = (string) content.GetValueForProperty("DisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).DisplayName, global::System.Convert.ToString); + } + if (content.Contains("AgreementType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).AgreementType = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AgreementType?) content.GetValueForProperty("AgreementType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).AgreementType, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AgreementType.CreateFrom); + } + if (content.Contains("AccountType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).AccountType = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountType?) content.GetValueForProperty("AccountType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).AccountType, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountType.CreateFrom); + } + if (content.Contains("AccountStatus")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).AccountStatus = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatus?) content.GetValueForProperty("AccountStatus",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).AccountStatus, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatus.CreateFrom); + } + if (content.Contains("Department")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).Department = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment[]) content.GetValueForProperty("Department",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).Department, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.DepartmentTypeConverter.ConvertFrom)); + } + if (content.Contains("EnrollmentAccount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentAccount = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[]) content.GetValueForProperty("EnrollmentAccount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentAccount, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentAccountTypeConverter.ConvertFrom)); + } + if (content.Contains("HasReadAccess")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).HasReadAccess = (bool?) content.GetValueForProperty("HasReadAccess",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).HasReadAccess, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("NotificationEmailAddress")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).NotificationEmailAddress = (string) content.GetValueForProperty("NotificationEmailAddress",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).NotificationEmailAddress, global::System.Convert.ToString); + } + if (content.Contains("SoldToFirstName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToFirstName = (string) content.GetValueForProperty("SoldToFirstName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToFirstName, global::System.Convert.ToString); + } + if (content.Contains("SoldToMiddleName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToMiddleName = (string) content.GetValueForProperty("SoldToMiddleName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToMiddleName, global::System.Convert.ToString); + } + if (content.Contains("SoldToLastName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToLastName = (string) content.GetValueForProperty("SoldToLastName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToLastName, global::System.Convert.ToString); + } + if (content.Contains("SoldToCompanyName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToCompanyName = (string) content.GetValueForProperty("SoldToCompanyName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToCompanyName, global::System.Convert.ToString); + } + if (content.Contains("SoldToAddressLine1")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToAddressLine1 = (string) content.GetValueForProperty("SoldToAddressLine1",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToAddressLine1, global::System.Convert.ToString); + } + if (content.Contains("SoldToAddressLine2")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToAddressLine2 = (string) content.GetValueForProperty("SoldToAddressLine2",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToAddressLine2, global::System.Convert.ToString); + } + if (content.Contains("SoldToAddressLine3")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToAddressLine3 = (string) content.GetValueForProperty("SoldToAddressLine3",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToAddressLine3, global::System.Convert.ToString); + } + if (content.Contains("SoldToCity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToCity = (string) content.GetValueForProperty("SoldToCity",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToCity, global::System.Convert.ToString); + } + if (content.Contains("SoldToDistrict")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToDistrict = (string) content.GetValueForProperty("SoldToDistrict",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToDistrict, global::System.Convert.ToString); + } + if (content.Contains("SoldToRegion")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToRegion = (string) content.GetValueForProperty("SoldToRegion",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToRegion, global::System.Convert.ToString); + } + if (content.Contains("SoldToCountry")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToCountry = (string) content.GetValueForProperty("SoldToCountry",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToCountry, global::System.Convert.ToString); + } + if (content.Contains("SoldToPostalCode")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToPostalCode = (string) content.GetValueForProperty("SoldToPostalCode",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToPostalCode, global::System.Convert.ToString); + } + if (content.Contains("SoldToEmail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToEmail = (string) content.GetValueForProperty("SoldToEmail",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToEmail, global::System.Convert.ToString); + } + if (content.Contains("SoldToPhoneNumber")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToPhoneNumber = (string) content.GetValueForProperty("SoldToPhoneNumber",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToPhoneNumber, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileHasMoreResult")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).BillingProfileHasMoreResult = (bool?) content.GetValueForProperty("BillingProfileHasMoreResult",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).BillingProfileHasMoreResult, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("BillingProfileValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).BillingProfileValue = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile[]) content.GetValueForProperty("BillingProfileValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).BillingProfileValue, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfileTypeConverter.ConvertFrom)); + } + if (content.Contains("EnrollmentDetailPolicy")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentDetailPolicy = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPolicies) content.GetValueForProperty("EnrollmentDetailPolicy",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentDetailPolicy, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentPoliciesTypeConverter.ConvertFrom); + } + if (content.Contains("EnrollmentDetailStartDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentDetailStartDate = (global::System.DateTime?) content.GetValueForProperty("EnrollmentDetailStartDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentDetailStartDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("EnrollmentDetailEndDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentDetailEndDate = (global::System.DateTime?) content.GetValueForProperty("EnrollmentDetailEndDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentDetailEndDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("EnrollmentDetailCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentDetailCurrency = (string) content.GetValueForProperty("EnrollmentDetailCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentDetailCurrency, global::System.Convert.ToString); + } + if (content.Contains("EnrollmentDetailChannel")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentDetailChannel = (string) content.GetValueForProperty("EnrollmentDetailChannel",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentDetailChannel, global::System.Convert.ToString); + } + if (content.Contains("EnrollmentDetailLanguage")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentDetailLanguage = (string) content.GetValueForProperty("EnrollmentDetailLanguage",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentDetailLanguage, global::System.Convert.ToString); + } + if (content.Contains("EnrollmentDetailCountryCode")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentDetailCountryCode = (string) content.GetValueForProperty("EnrollmentDetailCountryCode",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentDetailCountryCode, global::System.Convert.ToString); + } + if (content.Contains("EnrollmentDetailStatus")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentDetailStatus = (string) content.GetValueForProperty("EnrollmentDetailStatus",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentDetailStatus, global::System.Convert.ToString); + } + if (content.Contains("EnrollmentDetailBillingCycle")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentDetailBillingCycle = (string) content.GetValueForProperty("EnrollmentDetailBillingCycle",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentDetailBillingCycle, global::System.Convert.ToString); + } + if (content.Contains("PolicyAccountOwnerViewCharge")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).PolicyAccountOwnerViewCharge = (bool?) content.GetValueForProperty("PolicyAccountOwnerViewCharge",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).PolicyAccountOwnerViewCharge, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("PolicyDepartmentAdminViewCharge")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).PolicyDepartmentAdminViewCharge = (bool?) content.GetValueForProperty("PolicyDepartmentAdminViewCharge",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).PolicyDepartmentAdminViewCharge, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("PolicyMarketplaceEnabled")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).PolicyMarketplaceEnabled = (bool?) content.GetValueForProperty("PolicyMarketplaceEnabled",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).PolicyMarketplaceEnabled, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("PolicyReservedInstancesEnabled")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).PolicyReservedInstancesEnabled = (bool?) content.GetValueForProperty("PolicyReservedInstancesEnabled",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).PolicyReservedInstancesEnabled, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal BillingAccountProperties(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("SoldTo")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldTo = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails) content.GetValueForProperty("SoldTo",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldTo, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AddressDetailsTypeConverter.ConvertFrom); + } + if (content.Contains("BillingProfile")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).BillingProfile = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilesOnExpand) content.GetValueForProperty("BillingProfile",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).BillingProfile, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfilesOnExpandTypeConverter.ConvertFrom); + } + if (content.Contains("EnrollmentDetail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentDetail = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollment) content.GetValueForProperty("EnrollmentDetail",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentDetail, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentTypeConverter.ConvertFrom); + } + if (content.Contains("DisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).DisplayName = (string) content.GetValueForProperty("DisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).DisplayName, global::System.Convert.ToString); + } + if (content.Contains("AgreementType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).AgreementType = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AgreementType?) content.GetValueForProperty("AgreementType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).AgreementType, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AgreementType.CreateFrom); + } + if (content.Contains("AccountType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).AccountType = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountType?) content.GetValueForProperty("AccountType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).AccountType, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountType.CreateFrom); + } + if (content.Contains("AccountStatus")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).AccountStatus = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatus?) content.GetValueForProperty("AccountStatus",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).AccountStatus, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatus.CreateFrom); + } + if (content.Contains("Department")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).Department = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment[]) content.GetValueForProperty("Department",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).Department, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.DepartmentTypeConverter.ConvertFrom)); + } + if (content.Contains("EnrollmentAccount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentAccount = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[]) content.GetValueForProperty("EnrollmentAccount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentAccount, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentAccountTypeConverter.ConvertFrom)); + } + if (content.Contains("HasReadAccess")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).HasReadAccess = (bool?) content.GetValueForProperty("HasReadAccess",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).HasReadAccess, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("NotificationEmailAddress")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).NotificationEmailAddress = (string) content.GetValueForProperty("NotificationEmailAddress",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).NotificationEmailAddress, global::System.Convert.ToString); + } + if (content.Contains("SoldToFirstName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToFirstName = (string) content.GetValueForProperty("SoldToFirstName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToFirstName, global::System.Convert.ToString); + } + if (content.Contains("SoldToMiddleName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToMiddleName = (string) content.GetValueForProperty("SoldToMiddleName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToMiddleName, global::System.Convert.ToString); + } + if (content.Contains("SoldToLastName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToLastName = (string) content.GetValueForProperty("SoldToLastName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToLastName, global::System.Convert.ToString); + } + if (content.Contains("SoldToCompanyName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToCompanyName = (string) content.GetValueForProperty("SoldToCompanyName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToCompanyName, global::System.Convert.ToString); + } + if (content.Contains("SoldToAddressLine1")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToAddressLine1 = (string) content.GetValueForProperty("SoldToAddressLine1",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToAddressLine1, global::System.Convert.ToString); + } + if (content.Contains("SoldToAddressLine2")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToAddressLine2 = (string) content.GetValueForProperty("SoldToAddressLine2",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToAddressLine2, global::System.Convert.ToString); + } + if (content.Contains("SoldToAddressLine3")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToAddressLine3 = (string) content.GetValueForProperty("SoldToAddressLine3",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToAddressLine3, global::System.Convert.ToString); + } + if (content.Contains("SoldToCity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToCity = (string) content.GetValueForProperty("SoldToCity",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToCity, global::System.Convert.ToString); + } + if (content.Contains("SoldToDistrict")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToDistrict = (string) content.GetValueForProperty("SoldToDistrict",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToDistrict, global::System.Convert.ToString); + } + if (content.Contains("SoldToRegion")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToRegion = (string) content.GetValueForProperty("SoldToRegion",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToRegion, global::System.Convert.ToString); + } + if (content.Contains("SoldToCountry")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToCountry = (string) content.GetValueForProperty("SoldToCountry",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToCountry, global::System.Convert.ToString); + } + if (content.Contains("SoldToPostalCode")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToPostalCode = (string) content.GetValueForProperty("SoldToPostalCode",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToPostalCode, global::System.Convert.ToString); + } + if (content.Contains("SoldToEmail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToEmail = (string) content.GetValueForProperty("SoldToEmail",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToEmail, global::System.Convert.ToString); + } + if (content.Contains("SoldToPhoneNumber")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToPhoneNumber = (string) content.GetValueForProperty("SoldToPhoneNumber",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).SoldToPhoneNumber, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileHasMoreResult")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).BillingProfileHasMoreResult = (bool?) content.GetValueForProperty("BillingProfileHasMoreResult",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).BillingProfileHasMoreResult, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("BillingProfileValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).BillingProfileValue = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile[]) content.GetValueForProperty("BillingProfileValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).BillingProfileValue, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfileTypeConverter.ConvertFrom)); + } + if (content.Contains("EnrollmentDetailPolicy")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentDetailPolicy = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPolicies) content.GetValueForProperty("EnrollmentDetailPolicy",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentDetailPolicy, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentPoliciesTypeConverter.ConvertFrom); + } + if (content.Contains("EnrollmentDetailStartDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentDetailStartDate = (global::System.DateTime?) content.GetValueForProperty("EnrollmentDetailStartDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentDetailStartDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("EnrollmentDetailEndDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentDetailEndDate = (global::System.DateTime?) content.GetValueForProperty("EnrollmentDetailEndDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentDetailEndDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("EnrollmentDetailCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentDetailCurrency = (string) content.GetValueForProperty("EnrollmentDetailCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentDetailCurrency, global::System.Convert.ToString); + } + if (content.Contains("EnrollmentDetailChannel")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentDetailChannel = (string) content.GetValueForProperty("EnrollmentDetailChannel",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentDetailChannel, global::System.Convert.ToString); + } + if (content.Contains("EnrollmentDetailLanguage")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentDetailLanguage = (string) content.GetValueForProperty("EnrollmentDetailLanguage",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentDetailLanguage, global::System.Convert.ToString); + } + if (content.Contains("EnrollmentDetailCountryCode")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentDetailCountryCode = (string) content.GetValueForProperty("EnrollmentDetailCountryCode",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentDetailCountryCode, global::System.Convert.ToString); + } + if (content.Contains("EnrollmentDetailStatus")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentDetailStatus = (string) content.GetValueForProperty("EnrollmentDetailStatus",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentDetailStatus, global::System.Convert.ToString); + } + if (content.Contains("EnrollmentDetailBillingCycle")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentDetailBillingCycle = (string) content.GetValueForProperty("EnrollmentDetailBillingCycle",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).EnrollmentDetailBillingCycle, global::System.Convert.ToString); + } + if (content.Contains("PolicyAccountOwnerViewCharge")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).PolicyAccountOwnerViewCharge = (bool?) content.GetValueForProperty("PolicyAccountOwnerViewCharge",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).PolicyAccountOwnerViewCharge, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("PolicyDepartmentAdminViewCharge")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).PolicyDepartmentAdminViewCharge = (bool?) content.GetValueForProperty("PolicyDepartmentAdminViewCharge",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).PolicyDepartmentAdminViewCharge, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("PolicyMarketplaceEnabled")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).PolicyMarketplaceEnabled = (bool?) content.GetValueForProperty("PolicyMarketplaceEnabled",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).PolicyMarketplaceEnabled, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("PolicyReservedInstancesEnabled")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).PolicyReservedInstancesEnabled = (bool?) content.GetValueForProperty("PolicyReservedInstancesEnabled",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)this).PolicyReservedInstancesEnabled, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountProperties DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new BillingAccountProperties(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountProperties DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new BillingAccountProperties(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountProperties FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The properties of the billing account. + [System.ComponentModel.TypeConverter(typeof(BillingAccountPropertiesTypeConverter))] + public partial interface IBillingAccountProperties + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingAccountProperties.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingAccountProperties.TypeConverter.cs new file mode 100644 index 000000000000..9062fc8faff4 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingAccountProperties.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class BillingAccountPropertiesTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountProperties ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountProperties).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return BillingAccountProperties.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return BillingAccountProperties.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return BillingAccountProperties.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingAccountProperties.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingAccountProperties.cs new file mode 100644 index 000000000000..5cfdf6be469a --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingAccountProperties.cs @@ -0,0 +1,681 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of the billing account. + public partial class BillingAccountProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountProperties, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal + { + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatus? _accountStatus; + + /// The current status of the billing account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatus? AccountStatus { get => this._accountStatus; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountType? _accountType; + + /// The type of customer. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountType? AccountType { get => this._accountType; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AgreementType? _agreementType; + + /// The type of agreement. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AgreementType? AgreementType { get => this._agreementType; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilesOnExpand _billingProfile; + + /// + /// The billing profiles associated with the billing account. By default this is not populated, unless it's specified in $expand. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilesOnExpand BillingProfile { get => (this._billingProfile = this._billingProfile ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfilesOnExpand()); set => this._billingProfile = value; } + + /// + /// Indicates whether there are more billing profiles than the ones listed in this collection. The collection lists a maximum + /// of 50 billing profiles. To get all billing profiles, use the list billing profiles API. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public bool? BillingProfileHasMoreResult { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilesOnExpandInternal)BillingProfile).HasMoreResult; } + + /// The billing profiles associated with the billing account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile[] BillingProfileValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilesOnExpandInternal)BillingProfile).Value; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilesOnExpandInternal)BillingProfile).Value = value ?? null /* arrayOf */; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment[] _department; + + /// The departments associated to the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment[] Department { get => this._department; set => this._department = value; } + + /// Backing field for property. + private string _displayName; + + /// The billing account name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string DisplayName { get => this._displayName; set => this._displayName = value; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[] _enrollmentAccount; + + /// The accounts associated to the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[] EnrollmentAccount { get => this._enrollmentAccount; set => this._enrollmentAccount = value; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollment _enrollmentDetail; + + /// + /// The details about the associated legacy enrollment. By default this is not populated, unless it's specified in $expand. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollment EnrollmentDetail { get => (this._enrollmentDetail = this._enrollmentDetail ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Enrollment()); } + + /// The billing cycle for the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string EnrollmentDetailBillingCycle { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)EnrollmentDetail).BillingCycle; } + + /// The channel type of the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string EnrollmentDetailChannel { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)EnrollmentDetail).Channel; } + + /// The country code of the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string EnrollmentDetailCountryCode { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)EnrollmentDetail).CountryCode; } + + /// The billing currency for the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string EnrollmentDetailCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)EnrollmentDetail).Currency; } + + /// The end date of the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public global::System.DateTime? EnrollmentDetailEndDate { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)EnrollmentDetail).EndDate; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)EnrollmentDetail).EndDate = value ?? default(global::System.DateTime); } + + /// The language for the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string EnrollmentDetailLanguage { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)EnrollmentDetail).Language; } + + /// The start date of the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public global::System.DateTime? EnrollmentDetailStartDate { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)EnrollmentDetail).StartDate; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)EnrollmentDetail).StartDate = value ?? default(global::System.DateTime); } + + /// The current status of the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string EnrollmentDetailStatus { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)EnrollmentDetail).Status; } + + /// Backing field for property. + private bool? _hasReadAccess; + + /// Indicates whether user has read access to the billing account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public bool? HasReadAccess { get => this._hasReadAccess; } + + /// Internal Acessors for AccountStatus + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatus? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal.AccountStatus { get => this._accountStatus; set { {_accountStatus = value;} } } + + /// Internal Acessors for AccountType + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountType? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal.AccountType { get => this._accountType; set { {_accountType = value;} } } + + /// Internal Acessors for AgreementType + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AgreementType? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal.AgreementType { get => this._agreementType; set { {_agreementType = value;} } } + + /// Internal Acessors for BillingProfile + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilesOnExpand Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal.BillingProfile { get => (this._billingProfile = this._billingProfile ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfilesOnExpand()); set { {_billingProfile = value;} } } + + /// Internal Acessors for BillingProfileHasMoreResult + bool? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal.BillingProfileHasMoreResult { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilesOnExpandInternal)BillingProfile).HasMoreResult; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilesOnExpandInternal)BillingProfile).HasMoreResult = value; } + + /// Internal Acessors for EnrollmentDetail + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollment Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal.EnrollmentDetail { get => (this._enrollmentDetail = this._enrollmentDetail ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Enrollment()); set { {_enrollmentDetail = value;} } } + + /// Internal Acessors for EnrollmentDetailBillingCycle + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal.EnrollmentDetailBillingCycle { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)EnrollmentDetail).BillingCycle; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)EnrollmentDetail).BillingCycle = value; } + + /// Internal Acessors for EnrollmentDetailChannel + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal.EnrollmentDetailChannel { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)EnrollmentDetail).Channel; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)EnrollmentDetail).Channel = value; } + + /// Internal Acessors for EnrollmentDetailCountryCode + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal.EnrollmentDetailCountryCode { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)EnrollmentDetail).CountryCode; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)EnrollmentDetail).CountryCode = value; } + + /// Internal Acessors for EnrollmentDetailCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal.EnrollmentDetailCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)EnrollmentDetail).Currency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)EnrollmentDetail).Currency = value; } + + /// Internal Acessors for EnrollmentDetailLanguage + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal.EnrollmentDetailLanguage { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)EnrollmentDetail).Language; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)EnrollmentDetail).Language = value; } + + /// Internal Acessors for EnrollmentDetailPolicy + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPolicies Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal.EnrollmentDetailPolicy { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)EnrollmentDetail).Policy; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)EnrollmentDetail).Policy = value; } + + /// Internal Acessors for EnrollmentDetailStatus + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal.EnrollmentDetailStatus { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)EnrollmentDetail).Status; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)EnrollmentDetail).Status = value; } + + /// Internal Acessors for HasReadAccess + bool? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal.HasReadAccess { get => this._hasReadAccess; set { {_hasReadAccess = value;} } } + + /// Internal Acessors for PolicyAccountOwnerViewCharge + bool? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal.PolicyAccountOwnerViewCharge { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)EnrollmentDetail).PolicyAccountOwnerViewCharge; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)EnrollmentDetail).PolicyAccountOwnerViewCharge = value; } + + /// Internal Acessors for PolicyDepartmentAdminViewCharge + bool? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal.PolicyDepartmentAdminViewCharge { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)EnrollmentDetail).PolicyDepartmentAdminViewCharge; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)EnrollmentDetail).PolicyDepartmentAdminViewCharge = value; } + + /// Internal Acessors for PolicyMarketplaceEnabled + bool? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal.PolicyMarketplaceEnabled { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)EnrollmentDetail).PolicyMarketplaceEnabled; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)EnrollmentDetail).PolicyMarketplaceEnabled = value; } + + /// Internal Acessors for PolicyReservedInstancesEnabled + bool? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal.PolicyReservedInstancesEnabled { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)EnrollmentDetail).PolicyReservedInstancesEnabled; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)EnrollmentDetail).PolicyReservedInstancesEnabled = value; } + + /// Internal Acessors for SoldTo + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal.SoldTo { get => (this._soldTo = this._soldTo ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AddressDetails()); set { {_soldTo = value;} } } + + /// Backing field for property. + private string _notificationEmailAddress; + + /// Notification email address, only for legacy accounts + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string NotificationEmailAddress { get => this._notificationEmailAddress; set => this._notificationEmailAddress = value; } + + /// The policy that controls whether Account Owners can view charges. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public bool? PolicyAccountOwnerViewCharge { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)EnrollmentDetail).PolicyAccountOwnerViewCharge; } + + /// The policy that controls whether Department Administrators can view charges. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public bool? PolicyDepartmentAdminViewCharge { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)EnrollmentDetail).PolicyDepartmentAdminViewCharge; } + + /// + /// The policy that controls whether Azure marketplace purchases are allowed in the enrollment. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public bool? PolicyMarketplaceEnabled { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)EnrollmentDetail).PolicyMarketplaceEnabled; } + + /// + /// The policy that controls whether Azure reservation purchases are allowed in the enrollment. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public bool? PolicyReservedInstancesEnabled { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)EnrollmentDetail).PolicyReservedInstancesEnabled; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails _soldTo; + + /// + /// The address of the individual or organization that is responsible for the billing account. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails SoldTo { get => (this._soldTo = this._soldTo ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AddressDetails()); set => this._soldTo = value; } + + /// Address line 1. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToAddressLine1 { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)SoldTo).AddressLine1; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)SoldTo).AddressLine1 = value ?? null; } + + /// Address line 2. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToAddressLine2 { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)SoldTo).AddressLine2; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)SoldTo).AddressLine2 = value ?? null; } + + /// Address line 3. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToAddressLine3 { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)SoldTo).AddressLine3; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)SoldTo).AddressLine3 = value ?? null; } + + /// Address city. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToCity { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)SoldTo).City; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)SoldTo).City = value ?? null; } + + /// Company name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToCompanyName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)SoldTo).CompanyName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)SoldTo).CompanyName = value ?? null; } + + /// Country code uses ISO2, 2-digit format. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToCountry { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)SoldTo).Country; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)SoldTo).Country = value ?? null; } + + /// Address district. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToDistrict { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)SoldTo).District; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)SoldTo).District = value ?? null; } + + /// Email address. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToEmail { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)SoldTo).Email; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)SoldTo).Email = value ?? null; } + + /// First name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToFirstName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)SoldTo).FirstName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)SoldTo).FirstName = value ?? null; } + + /// Last name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToLastName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)SoldTo).LastName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)SoldTo).LastName = value ?? null; } + + /// Middle name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToMiddleName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)SoldTo).MiddleName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)SoldTo).MiddleName = value ?? null; } + + /// Phone number. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToPhoneNumber { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)SoldTo).PhoneNumber; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)SoldTo).PhoneNumber = value ?? null; } + + /// Postal code. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToPostalCode { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)SoldTo).PostalCode; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)SoldTo).PostalCode = value ?? null; } + + /// Address region. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToRegion { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)SoldTo).Region; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)SoldTo).Region = value ?? null; } + + /// Creates an new instance. + public BillingAccountProperties() + { + + } + } + /// The properties of the billing account. + public partial interface IBillingAccountProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The current status of the billing account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The current status of the billing account.", + SerializedName = @"accountStatus", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatus) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatus? AccountStatus { get; } + /// The type of customer. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The type of customer.", + SerializedName = @"accountType", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountType) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountType? AccountType { get; } + /// The type of agreement. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The type of agreement.", + SerializedName = @"agreementType", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AgreementType) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AgreementType? AgreementType { get; } + /// + /// Indicates whether there are more billing profiles than the ones listed in this collection. The collection lists a maximum + /// of 50 billing profiles. To get all billing profiles, use the list billing profiles API. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Indicates whether there are more billing profiles than the ones listed in this collection. The collection lists a maximum of 50 billing profiles. To get all billing profiles, use the list billing profiles API.", + SerializedName = @"hasMoreResults", + PossibleTypes = new [] { typeof(bool) })] + bool? BillingProfileHasMoreResult { get; } + /// The billing profiles associated with the billing account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The billing profiles associated with the billing account.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile[] BillingProfileValue { get; set; } + /// The departments associated to the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The departments associated to the enrollment.", + SerializedName = @"departments", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment[] Department { get; set; } + /// The billing account name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The billing account name.", + SerializedName = @"displayName", + PossibleTypes = new [] { typeof(string) })] + string DisplayName { get; set; } + /// The accounts associated to the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The accounts associated to the enrollment.", + SerializedName = @"enrollmentAccounts", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[] EnrollmentAccount { get; set; } + /// The billing cycle for the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The billing cycle for the enrollment.", + SerializedName = @"billingCycle", + PossibleTypes = new [] { typeof(string) })] + string EnrollmentDetailBillingCycle { get; } + /// The channel type of the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The channel type of the enrollment.", + SerializedName = @"channel", + PossibleTypes = new [] { typeof(string) })] + string EnrollmentDetailChannel { get; } + /// The country code of the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The country code of the enrollment.", + SerializedName = @"countryCode", + PossibleTypes = new [] { typeof(string) })] + string EnrollmentDetailCountryCode { get; } + /// The billing currency for the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The billing currency for the enrollment.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string EnrollmentDetailCurrency { get; } + /// The end date of the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The end date of the enrollment.", + SerializedName = @"endDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? EnrollmentDetailEndDate { get; set; } + /// The language for the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The language for the enrollment.", + SerializedName = @"language", + PossibleTypes = new [] { typeof(string) })] + string EnrollmentDetailLanguage { get; } + /// The start date of the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The start date of the enrollment.", + SerializedName = @"startDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? EnrollmentDetailStartDate { get; set; } + /// The current status of the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The current status of the enrollment.", + SerializedName = @"status", + PossibleTypes = new [] { typeof(string) })] + string EnrollmentDetailStatus { get; } + /// Indicates whether user has read access to the billing account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Indicates whether user has read access to the billing account.", + SerializedName = @"hasReadAccess", + PossibleTypes = new [] { typeof(bool) })] + bool? HasReadAccess { get; } + /// Notification email address, only for legacy accounts + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Notification email address, only for legacy accounts", + SerializedName = @"notificationEmailAddress", + PossibleTypes = new [] { typeof(string) })] + string NotificationEmailAddress { get; set; } + /// The policy that controls whether Account Owners can view charges. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The policy that controls whether Account Owners can view charges.", + SerializedName = @"accountOwnerViewCharges", + PossibleTypes = new [] { typeof(bool) })] + bool? PolicyAccountOwnerViewCharge { get; } + /// The policy that controls whether Department Administrators can view charges. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The policy that controls whether Department Administrators can view charges.", + SerializedName = @"departmentAdminViewCharges", + PossibleTypes = new [] { typeof(bool) })] + bool? PolicyDepartmentAdminViewCharge { get; } + /// + /// The policy that controls whether Azure marketplace purchases are allowed in the enrollment. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The policy that controls whether Azure marketplace purchases are allowed in the enrollment.", + SerializedName = @"marketplaceEnabled", + PossibleTypes = new [] { typeof(bool) })] + bool? PolicyMarketplaceEnabled { get; } + /// + /// The policy that controls whether Azure reservation purchases are allowed in the enrollment. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The policy that controls whether Azure reservation purchases are allowed in the enrollment.", + SerializedName = @"reservedInstancesEnabled", + PossibleTypes = new [] { typeof(bool) })] + bool? PolicyReservedInstancesEnabled { get; } + /// Address line 1. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address line 1.", + SerializedName = @"addressLine1", + PossibleTypes = new [] { typeof(string) })] + string SoldToAddressLine1 { get; set; } + /// Address line 2. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address line 2.", + SerializedName = @"addressLine2", + PossibleTypes = new [] { typeof(string) })] + string SoldToAddressLine2 { get; set; } + /// Address line 3. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address line 3.", + SerializedName = @"addressLine3", + PossibleTypes = new [] { typeof(string) })] + string SoldToAddressLine3 { get; set; } + /// Address city. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address city.", + SerializedName = @"city", + PossibleTypes = new [] { typeof(string) })] + string SoldToCity { get; set; } + /// Company name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Company name.", + SerializedName = @"companyName", + PossibleTypes = new [] { typeof(string) })] + string SoldToCompanyName { get; set; } + /// Country code uses ISO2, 2-digit format. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Country code uses ISO2, 2-digit format.", + SerializedName = @"country", + PossibleTypes = new [] { typeof(string) })] + string SoldToCountry { get; set; } + /// Address district. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address district.", + SerializedName = @"district", + PossibleTypes = new [] { typeof(string) })] + string SoldToDistrict { get; set; } + /// Email address. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Email address.", + SerializedName = @"email", + PossibleTypes = new [] { typeof(string) })] + string SoldToEmail { get; set; } + /// First name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"First name.", + SerializedName = @"firstName", + PossibleTypes = new [] { typeof(string) })] + string SoldToFirstName { get; set; } + /// Last name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Last name.", + SerializedName = @"lastName", + PossibleTypes = new [] { typeof(string) })] + string SoldToLastName { get; set; } + /// Middle name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Middle name.", + SerializedName = @"middleName", + PossibleTypes = new [] { typeof(string) })] + string SoldToMiddleName { get; set; } + /// Phone number. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Phone number.", + SerializedName = @"phoneNumber", + PossibleTypes = new [] { typeof(string) })] + string SoldToPhoneNumber { get; set; } + /// Postal code. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Postal code.", + SerializedName = @"postalCode", + PossibleTypes = new [] { typeof(string) })] + string SoldToPostalCode { get; set; } + /// Address region. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address region.", + SerializedName = @"region", + PossibleTypes = new [] { typeof(string) })] + string SoldToRegion { get; set; } + + } + /// The properties of the billing account. + internal partial interface IBillingAccountPropertiesInternal + + { + /// The current status of the billing account. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatus? AccountStatus { get; set; } + /// The type of customer. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountType? AccountType { get; set; } + /// The type of agreement. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AgreementType? AgreementType { get; set; } + /// + /// The billing profiles associated with the billing account. By default this is not populated, unless it's specified in $expand. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilesOnExpand BillingProfile { get; set; } + /// + /// Indicates whether there are more billing profiles than the ones listed in this collection. The collection lists a maximum + /// of 50 billing profiles. To get all billing profiles, use the list billing profiles API. + /// + bool? BillingProfileHasMoreResult { get; set; } + /// The billing profiles associated with the billing account. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile[] BillingProfileValue { get; set; } + /// The departments associated to the enrollment. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment[] Department { get; set; } + /// The billing account name. + string DisplayName { get; set; } + /// The accounts associated to the enrollment. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[] EnrollmentAccount { get; set; } + /// + /// The details about the associated legacy enrollment. By default this is not populated, unless it's specified in $expand. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollment EnrollmentDetail { get; set; } + /// The billing cycle for the enrollment. + string EnrollmentDetailBillingCycle { get; set; } + /// The channel type of the enrollment. + string EnrollmentDetailChannel { get; set; } + /// The country code of the enrollment. + string EnrollmentDetailCountryCode { get; set; } + /// The billing currency for the enrollment. + string EnrollmentDetailCurrency { get; set; } + /// The end date of the enrollment. + global::System.DateTime? EnrollmentDetailEndDate { get; set; } + /// The language for the enrollment. + string EnrollmentDetailLanguage { get; set; } + /// The policies for Enterprise Agreement enrollments. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPolicies EnrollmentDetailPolicy { get; set; } + /// The start date of the enrollment. + global::System.DateTime? EnrollmentDetailStartDate { get; set; } + /// The current status of the enrollment. + string EnrollmentDetailStatus { get; set; } + /// Indicates whether user has read access to the billing account. + bool? HasReadAccess { get; set; } + /// Notification email address, only for legacy accounts + string NotificationEmailAddress { get; set; } + /// The policy that controls whether Account Owners can view charges. + bool? PolicyAccountOwnerViewCharge { get; set; } + /// The policy that controls whether Department Administrators can view charges. + bool? PolicyDepartmentAdminViewCharge { get; set; } + /// + /// The policy that controls whether Azure marketplace purchases are allowed in the enrollment. + /// + bool? PolicyMarketplaceEnabled { get; set; } + /// + /// The policy that controls whether Azure reservation purchases are allowed in the enrollment. + /// + bool? PolicyReservedInstancesEnabled { get; set; } + /// + /// The address of the individual or organization that is responsible for the billing account. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails SoldTo { get; set; } + /// Address line 1. + string SoldToAddressLine1 { get; set; } + /// Address line 2. + string SoldToAddressLine2 { get; set; } + /// Address line 3. + string SoldToAddressLine3 { get; set; } + /// Address city. + string SoldToCity { get; set; } + /// Company name. + string SoldToCompanyName { get; set; } + /// Country code uses ISO2, 2-digit format. + string SoldToCountry { get; set; } + /// Address district. + string SoldToDistrict { get; set; } + /// Email address. + string SoldToEmail { get; set; } + /// First name. + string SoldToFirstName { get; set; } + /// Last name. + string SoldToLastName { get; set; } + /// Middle name. + string SoldToMiddleName { get; set; } + /// Phone number. + string SoldToPhoneNumber { get; set; } + /// Postal code. + string SoldToPostalCode { get; set; } + /// Address region. + string SoldToRegion { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingAccountProperties.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingAccountProperties.json.cs new file mode 100644 index 000000000000..e90ac69d4362 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingAccountProperties.json.cs @@ -0,0 +1,159 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of the billing account. + public partial class BillingAccountProperties + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal BillingAccountProperties(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_soldTo = If( json?.PropertyT("soldTo"), out var __jsonSoldTo) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AddressDetails.FromJson(__jsonSoldTo) : SoldTo;} + {_billingProfile = If( json?.PropertyT("billingProfiles"), out var __jsonBillingProfiles) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfilesOnExpand.FromJson(__jsonBillingProfiles) : BillingProfile;} + {_enrollmentDetail = If( json?.PropertyT("enrollmentDetails"), out var __jsonEnrollmentDetails) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Enrollment.FromJson(__jsonEnrollmentDetails) : EnrollmentDetail;} + {_displayName = If( json?.PropertyT("displayName"), out var __jsonDisplayName) ? (string)__jsonDisplayName : (string)DisplayName;} + {_agreementType = If( json?.PropertyT("agreementType"), out var __jsonAgreementType) ? (string)__jsonAgreementType : (string)AgreementType;} + {_accountType = If( json?.PropertyT("accountType"), out var __jsonAccountType) ? (string)__jsonAccountType : (string)AccountType;} + {_accountStatus = If( json?.PropertyT("accountStatus"), out var __jsonAccountStatus) ? (string)__jsonAccountStatus : (string)AccountStatus;} + {_department = If( json?.PropertyT("departments"), out var __jsonDepartments) ? If( __jsonDepartments as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment) (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Department.FromJson(__u) )) ))() : null : Department;} + {_enrollmentAccount = If( json?.PropertyT("enrollmentAccounts"), out var __jsonEnrollmentAccounts) ? If( __jsonEnrollmentAccounts as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonArray, out var __q) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__q, (__p)=>(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount) (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentAccount.FromJson(__p) )) ))() : null : EnrollmentAccount;} + {_hasReadAccess = If( json?.PropertyT("hasReadAccess"), out var __jsonHasReadAccess) ? (bool?)__jsonHasReadAccess : HasReadAccess;} + {_notificationEmailAddress = If( json?.PropertyT("notificationEmailAddress"), out var __jsonNotificationEmailAddress) ? (string)__jsonNotificationEmailAddress : (string)NotificationEmailAddress;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountProperties. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountProperties. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountProperties FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new BillingAccountProperties(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != this._soldTo ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._soldTo.ToJson(null,serializationMode) : null, "soldTo" ,container.Add ); + AddIf( null != this._billingProfile ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._billingProfile.ToJson(null,serializationMode) : null, "billingProfiles" ,container.Add ); + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._enrollmentDetail ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._enrollmentDetail.ToJson(null,serializationMode) : null, "enrollmentDetails" ,container.Add ); + } + AddIf( null != (((object)this._displayName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._displayName.ToString()) : null, "displayName" ,container.Add ); + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._agreementType)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._agreementType.ToString()) : null, "agreementType" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._accountType)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._accountType.ToString()) : null, "accountType" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._accountStatus)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._accountStatus.ToString()) : null, "accountStatus" ,container.Add ); + } + if (null != this._department) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(); + foreach( var __x in this._department ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("departments",__w); + } + if (null != this._enrollmentAccount) + { + var __r = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(); + foreach( var __s in this._enrollmentAccount ) + { + AddIf(__s?.ToJson(null, serializationMode) ,__r.Add); + } + container.Add("enrollmentAccounts",__r); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._hasReadAccess ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonBoolean((bool)this._hasReadAccess) : null, "hasReadAccess" ,container.Add ); + } + AddIf( null != (((object)this._notificationEmailAddress)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._notificationEmailAddress.ToString()) : null, "notificationEmailAddress" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingAccountUpdateRequest.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingAccountUpdateRequest.PowerShell.cs new file mode 100644 index 000000000000..2d906af89988 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingAccountUpdateRequest.PowerShell.cs @@ -0,0 +1,466 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The request properties of the billing account that can be updated. + [System.ComponentModel.TypeConverter(typeof(BillingAccountUpdateRequestTypeConverter))] + public partial class BillingAccountUpdateRequest + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal BillingAccountUpdateRequest(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingAccountPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("EnrollmentDetail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentDetail = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollment) content.GetValueForProperty("EnrollmentDetail",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentDetail, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentTypeConverter.ConvertFrom); + } + if (content.Contains("AgreementType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).AgreementType = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AgreementType?) content.GetValueForProperty("AgreementType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).AgreementType, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AgreementType.CreateFrom); + } + if (content.Contains("AccountType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).AccountType = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountType?) content.GetValueForProperty("AccountType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).AccountType, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountType.CreateFrom); + } + if (content.Contains("AccountStatus")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).AccountStatus = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatus?) content.GetValueForProperty("AccountStatus",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).AccountStatus, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatus.CreateFrom); + } + if (content.Contains("SoldTo")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldTo = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails) content.GetValueForProperty("SoldTo",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldTo, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AddressDetailsTypeConverter.ConvertFrom); + } + if (content.Contains("BillingProfile")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).BillingProfile = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilesOnExpand) content.GetValueForProperty("BillingProfile",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).BillingProfile, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfilesOnExpandTypeConverter.ConvertFrom); + } + if (content.Contains("DisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).DisplayName = (string) content.GetValueForProperty("DisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).DisplayName, global::System.Convert.ToString); + } + if (content.Contains("Department")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).Department = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment[]) content.GetValueForProperty("Department",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).Department, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.DepartmentTypeConverter.ConvertFrom)); + } + if (content.Contains("EnrollmentAccount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentAccount = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[]) content.GetValueForProperty("EnrollmentAccount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentAccount, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentAccountTypeConverter.ConvertFrom)); + } + if (content.Contains("HasReadAccess")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).HasReadAccess = (bool?) content.GetValueForProperty("HasReadAccess",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).HasReadAccess, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("NotificationEmailAddress")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).NotificationEmailAddress = (string) content.GetValueForProperty("NotificationEmailAddress",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).NotificationEmailAddress, global::System.Convert.ToString); + } + if (content.Contains("SoldToFirstName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToFirstName = (string) content.GetValueForProperty("SoldToFirstName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToFirstName, global::System.Convert.ToString); + } + if (content.Contains("SoldToMiddleName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToMiddleName = (string) content.GetValueForProperty("SoldToMiddleName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToMiddleName, global::System.Convert.ToString); + } + if (content.Contains("SoldToLastName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToLastName = (string) content.GetValueForProperty("SoldToLastName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToLastName, global::System.Convert.ToString); + } + if (content.Contains("SoldToCompanyName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToCompanyName = (string) content.GetValueForProperty("SoldToCompanyName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToCompanyName, global::System.Convert.ToString); + } + if (content.Contains("SoldToAddressLine1")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToAddressLine1 = (string) content.GetValueForProperty("SoldToAddressLine1",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToAddressLine1, global::System.Convert.ToString); + } + if (content.Contains("SoldToAddressLine2")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToAddressLine2 = (string) content.GetValueForProperty("SoldToAddressLine2",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToAddressLine2, global::System.Convert.ToString); + } + if (content.Contains("SoldToAddressLine3")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToAddressLine3 = (string) content.GetValueForProperty("SoldToAddressLine3",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToAddressLine3, global::System.Convert.ToString); + } + if (content.Contains("SoldToCity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToCity = (string) content.GetValueForProperty("SoldToCity",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToCity, global::System.Convert.ToString); + } + if (content.Contains("SoldToDistrict")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToDistrict = (string) content.GetValueForProperty("SoldToDistrict",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToDistrict, global::System.Convert.ToString); + } + if (content.Contains("SoldToRegion")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToRegion = (string) content.GetValueForProperty("SoldToRegion",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToRegion, global::System.Convert.ToString); + } + if (content.Contains("SoldToCountry")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToCountry = (string) content.GetValueForProperty("SoldToCountry",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToCountry, global::System.Convert.ToString); + } + if (content.Contains("SoldToPostalCode")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToPostalCode = (string) content.GetValueForProperty("SoldToPostalCode",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToPostalCode, global::System.Convert.ToString); + } + if (content.Contains("SoldToEmail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToEmail = (string) content.GetValueForProperty("SoldToEmail",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToEmail, global::System.Convert.ToString); + } + if (content.Contains("SoldToPhoneNumber")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToPhoneNumber = (string) content.GetValueForProperty("SoldToPhoneNumber",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToPhoneNumber, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileHasMoreResult")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).BillingProfileHasMoreResult = (bool?) content.GetValueForProperty("BillingProfileHasMoreResult",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).BillingProfileHasMoreResult, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("BillingProfileValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).BillingProfileValue = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile[]) content.GetValueForProperty("BillingProfileValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).BillingProfileValue, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfileTypeConverter.ConvertFrom)); + } + if (content.Contains("EnrollmentDetailPolicy")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentDetailPolicy = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPolicies) content.GetValueForProperty("EnrollmentDetailPolicy",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentDetailPolicy, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentPoliciesTypeConverter.ConvertFrom); + } + if (content.Contains("EnrollmentDetailStartDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentDetailStartDate = (global::System.DateTime?) content.GetValueForProperty("EnrollmentDetailStartDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentDetailStartDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("EnrollmentDetailEndDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentDetailEndDate = (global::System.DateTime?) content.GetValueForProperty("EnrollmentDetailEndDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentDetailEndDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("EnrollmentDetailCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentDetailCurrency = (string) content.GetValueForProperty("EnrollmentDetailCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentDetailCurrency, global::System.Convert.ToString); + } + if (content.Contains("EnrollmentDetailChannel")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentDetailChannel = (string) content.GetValueForProperty("EnrollmentDetailChannel",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentDetailChannel, global::System.Convert.ToString); + } + if (content.Contains("EnrollmentDetailLanguage")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentDetailLanguage = (string) content.GetValueForProperty("EnrollmentDetailLanguage",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentDetailLanguage, global::System.Convert.ToString); + } + if (content.Contains("EnrollmentDetailCountryCode")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentDetailCountryCode = (string) content.GetValueForProperty("EnrollmentDetailCountryCode",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentDetailCountryCode, global::System.Convert.ToString); + } + if (content.Contains("EnrollmentDetailStatus")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentDetailStatus = (string) content.GetValueForProperty("EnrollmentDetailStatus",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentDetailStatus, global::System.Convert.ToString); + } + if (content.Contains("EnrollmentDetailBillingCycle")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentDetailBillingCycle = (string) content.GetValueForProperty("EnrollmentDetailBillingCycle",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentDetailBillingCycle, global::System.Convert.ToString); + } + if (content.Contains("PolicyAccountOwnerViewCharge")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).PolicyAccountOwnerViewCharge = (bool?) content.GetValueForProperty("PolicyAccountOwnerViewCharge",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).PolicyAccountOwnerViewCharge, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("PolicyDepartmentAdminViewCharge")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).PolicyDepartmentAdminViewCharge = (bool?) content.GetValueForProperty("PolicyDepartmentAdminViewCharge",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).PolicyDepartmentAdminViewCharge, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("PolicyMarketplaceEnabled")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).PolicyMarketplaceEnabled = (bool?) content.GetValueForProperty("PolicyMarketplaceEnabled",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).PolicyMarketplaceEnabled, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("PolicyReservedInstancesEnabled")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).PolicyReservedInstancesEnabled = (bool?) content.GetValueForProperty("PolicyReservedInstancesEnabled",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).PolicyReservedInstancesEnabled, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal BillingAccountUpdateRequest(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingAccountPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("EnrollmentDetail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentDetail = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollment) content.GetValueForProperty("EnrollmentDetail",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentDetail, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentTypeConverter.ConvertFrom); + } + if (content.Contains("AgreementType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).AgreementType = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AgreementType?) content.GetValueForProperty("AgreementType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).AgreementType, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AgreementType.CreateFrom); + } + if (content.Contains("AccountType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).AccountType = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountType?) content.GetValueForProperty("AccountType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).AccountType, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountType.CreateFrom); + } + if (content.Contains("AccountStatus")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).AccountStatus = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatus?) content.GetValueForProperty("AccountStatus",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).AccountStatus, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatus.CreateFrom); + } + if (content.Contains("SoldTo")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldTo = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails) content.GetValueForProperty("SoldTo",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldTo, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AddressDetailsTypeConverter.ConvertFrom); + } + if (content.Contains("BillingProfile")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).BillingProfile = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilesOnExpand) content.GetValueForProperty("BillingProfile",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).BillingProfile, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfilesOnExpandTypeConverter.ConvertFrom); + } + if (content.Contains("DisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).DisplayName = (string) content.GetValueForProperty("DisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).DisplayName, global::System.Convert.ToString); + } + if (content.Contains("Department")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).Department = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment[]) content.GetValueForProperty("Department",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).Department, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.DepartmentTypeConverter.ConvertFrom)); + } + if (content.Contains("EnrollmentAccount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentAccount = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[]) content.GetValueForProperty("EnrollmentAccount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentAccount, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentAccountTypeConverter.ConvertFrom)); + } + if (content.Contains("HasReadAccess")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).HasReadAccess = (bool?) content.GetValueForProperty("HasReadAccess",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).HasReadAccess, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("NotificationEmailAddress")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).NotificationEmailAddress = (string) content.GetValueForProperty("NotificationEmailAddress",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).NotificationEmailAddress, global::System.Convert.ToString); + } + if (content.Contains("SoldToFirstName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToFirstName = (string) content.GetValueForProperty("SoldToFirstName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToFirstName, global::System.Convert.ToString); + } + if (content.Contains("SoldToMiddleName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToMiddleName = (string) content.GetValueForProperty("SoldToMiddleName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToMiddleName, global::System.Convert.ToString); + } + if (content.Contains("SoldToLastName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToLastName = (string) content.GetValueForProperty("SoldToLastName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToLastName, global::System.Convert.ToString); + } + if (content.Contains("SoldToCompanyName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToCompanyName = (string) content.GetValueForProperty("SoldToCompanyName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToCompanyName, global::System.Convert.ToString); + } + if (content.Contains("SoldToAddressLine1")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToAddressLine1 = (string) content.GetValueForProperty("SoldToAddressLine1",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToAddressLine1, global::System.Convert.ToString); + } + if (content.Contains("SoldToAddressLine2")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToAddressLine2 = (string) content.GetValueForProperty("SoldToAddressLine2",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToAddressLine2, global::System.Convert.ToString); + } + if (content.Contains("SoldToAddressLine3")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToAddressLine3 = (string) content.GetValueForProperty("SoldToAddressLine3",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToAddressLine3, global::System.Convert.ToString); + } + if (content.Contains("SoldToCity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToCity = (string) content.GetValueForProperty("SoldToCity",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToCity, global::System.Convert.ToString); + } + if (content.Contains("SoldToDistrict")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToDistrict = (string) content.GetValueForProperty("SoldToDistrict",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToDistrict, global::System.Convert.ToString); + } + if (content.Contains("SoldToRegion")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToRegion = (string) content.GetValueForProperty("SoldToRegion",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToRegion, global::System.Convert.ToString); + } + if (content.Contains("SoldToCountry")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToCountry = (string) content.GetValueForProperty("SoldToCountry",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToCountry, global::System.Convert.ToString); + } + if (content.Contains("SoldToPostalCode")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToPostalCode = (string) content.GetValueForProperty("SoldToPostalCode",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToPostalCode, global::System.Convert.ToString); + } + if (content.Contains("SoldToEmail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToEmail = (string) content.GetValueForProperty("SoldToEmail",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToEmail, global::System.Convert.ToString); + } + if (content.Contains("SoldToPhoneNumber")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToPhoneNumber = (string) content.GetValueForProperty("SoldToPhoneNumber",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).SoldToPhoneNumber, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileHasMoreResult")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).BillingProfileHasMoreResult = (bool?) content.GetValueForProperty("BillingProfileHasMoreResult",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).BillingProfileHasMoreResult, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("BillingProfileValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).BillingProfileValue = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile[]) content.GetValueForProperty("BillingProfileValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).BillingProfileValue, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfileTypeConverter.ConvertFrom)); + } + if (content.Contains("EnrollmentDetailPolicy")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentDetailPolicy = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPolicies) content.GetValueForProperty("EnrollmentDetailPolicy",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentDetailPolicy, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentPoliciesTypeConverter.ConvertFrom); + } + if (content.Contains("EnrollmentDetailStartDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentDetailStartDate = (global::System.DateTime?) content.GetValueForProperty("EnrollmentDetailStartDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentDetailStartDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("EnrollmentDetailEndDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentDetailEndDate = (global::System.DateTime?) content.GetValueForProperty("EnrollmentDetailEndDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentDetailEndDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("EnrollmentDetailCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentDetailCurrency = (string) content.GetValueForProperty("EnrollmentDetailCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentDetailCurrency, global::System.Convert.ToString); + } + if (content.Contains("EnrollmentDetailChannel")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentDetailChannel = (string) content.GetValueForProperty("EnrollmentDetailChannel",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentDetailChannel, global::System.Convert.ToString); + } + if (content.Contains("EnrollmentDetailLanguage")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentDetailLanguage = (string) content.GetValueForProperty("EnrollmentDetailLanguage",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentDetailLanguage, global::System.Convert.ToString); + } + if (content.Contains("EnrollmentDetailCountryCode")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentDetailCountryCode = (string) content.GetValueForProperty("EnrollmentDetailCountryCode",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentDetailCountryCode, global::System.Convert.ToString); + } + if (content.Contains("EnrollmentDetailStatus")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentDetailStatus = (string) content.GetValueForProperty("EnrollmentDetailStatus",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentDetailStatus, global::System.Convert.ToString); + } + if (content.Contains("EnrollmentDetailBillingCycle")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentDetailBillingCycle = (string) content.GetValueForProperty("EnrollmentDetailBillingCycle",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).EnrollmentDetailBillingCycle, global::System.Convert.ToString); + } + if (content.Contains("PolicyAccountOwnerViewCharge")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).PolicyAccountOwnerViewCharge = (bool?) content.GetValueForProperty("PolicyAccountOwnerViewCharge",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).PolicyAccountOwnerViewCharge, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("PolicyDepartmentAdminViewCharge")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).PolicyDepartmentAdminViewCharge = (bool?) content.GetValueForProperty("PolicyDepartmentAdminViewCharge",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).PolicyDepartmentAdminViewCharge, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("PolicyMarketplaceEnabled")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).PolicyMarketplaceEnabled = (bool?) content.GetValueForProperty("PolicyMarketplaceEnabled",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).PolicyMarketplaceEnabled, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("PolicyReservedInstancesEnabled")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).PolicyReservedInstancesEnabled = (bool?) content.GetValueForProperty("PolicyReservedInstancesEnabled",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal)this).PolicyReservedInstancesEnabled, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequest DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new BillingAccountUpdateRequest(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequest DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new BillingAccountUpdateRequest(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequest FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The request properties of the billing account that can be updated. + [System.ComponentModel.TypeConverter(typeof(BillingAccountUpdateRequestTypeConverter))] + public partial interface IBillingAccountUpdateRequest + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingAccountUpdateRequest.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingAccountUpdateRequest.TypeConverter.cs new file mode 100644 index 000000000000..66604bd8f6ba --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingAccountUpdateRequest.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class BillingAccountUpdateRequestTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequest ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequest).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return BillingAccountUpdateRequest.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return BillingAccountUpdateRequest.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return BillingAccountUpdateRequest.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingAccountUpdateRequest.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingAccountUpdateRequest.cs new file mode 100644 index 000000000000..3da55812ac75 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingAccountUpdateRequest.cs @@ -0,0 +1,642 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The request properties of the billing account that can be updated. + public partial class BillingAccountUpdateRequest : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequest, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal + { + + /// The current status of the billing account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatus? AccountStatus { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).AccountStatus; } + + /// The type of customer. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountType? AccountType { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).AccountType; } + + /// The type of agreement. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AgreementType? AgreementType { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).AgreementType; } + + /// + /// Indicates whether there are more billing profiles than the ones listed in this collection. The collection lists a maximum + /// of 50 billing profiles. To get all billing profiles, use the list billing profiles API. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public bool? BillingProfileHasMoreResult { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).BillingProfileHasMoreResult; } + + /// The billing profiles associated with the billing account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile[] BillingProfileValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).BillingProfileValue; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).BillingProfileValue = value ?? null /* arrayOf */; } + + /// The departments associated to the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment[] Department { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).Department; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).Department = value ?? null /* arrayOf */; } + + /// The billing account name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string DisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).DisplayName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).DisplayName = value ?? null; } + + /// The accounts associated to the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[] EnrollmentAccount { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentAccount; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentAccount = value ?? null /* arrayOf */; } + + /// The billing cycle for the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string EnrollmentDetailBillingCycle { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailBillingCycle; } + + /// The channel type of the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string EnrollmentDetailChannel { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailChannel; } + + /// The country code of the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string EnrollmentDetailCountryCode { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailCountryCode; } + + /// The billing currency for the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string EnrollmentDetailCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailCurrency; } + + /// The end date of the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public global::System.DateTime? EnrollmentDetailEndDate { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailEndDate; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailEndDate = value ?? default(global::System.DateTime); } + + /// The language for the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string EnrollmentDetailLanguage { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailLanguage; } + + /// The start date of the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public global::System.DateTime? EnrollmentDetailStartDate { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailStartDate; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailStartDate = value ?? default(global::System.DateTime); } + + /// The current status of the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string EnrollmentDetailStatus { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailStatus; } + + /// Indicates whether user has read access to the billing account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public bool? HasReadAccess { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).HasReadAccess; } + + /// Internal Acessors for AccountStatus + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatus? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal.AccountStatus { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).AccountStatus; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).AccountStatus = value; } + + /// Internal Acessors for AccountType + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountType? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal.AccountType { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).AccountType; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).AccountType = value; } + + /// Internal Acessors for AgreementType + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AgreementType? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal.AgreementType { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).AgreementType; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).AgreementType = value; } + + /// Internal Acessors for BillingProfile + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilesOnExpand Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal.BillingProfile { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).BillingProfile; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).BillingProfile = value; } + + /// Internal Acessors for BillingProfileHasMoreResult + bool? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal.BillingProfileHasMoreResult { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).BillingProfileHasMoreResult; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).BillingProfileHasMoreResult = value; } + + /// Internal Acessors for EnrollmentDetail + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollment Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal.EnrollmentDetail { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetail; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetail = value; } + + /// Internal Acessors for EnrollmentDetailBillingCycle + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal.EnrollmentDetailBillingCycle { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailBillingCycle; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailBillingCycle = value; } + + /// Internal Acessors for EnrollmentDetailChannel + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal.EnrollmentDetailChannel { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailChannel; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailChannel = value; } + + /// Internal Acessors for EnrollmentDetailCountryCode + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal.EnrollmentDetailCountryCode { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailCountryCode; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailCountryCode = value; } + + /// Internal Acessors for EnrollmentDetailCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal.EnrollmentDetailCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailCurrency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailCurrency = value; } + + /// Internal Acessors for EnrollmentDetailLanguage + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal.EnrollmentDetailLanguage { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailLanguage; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailLanguage = value; } + + /// Internal Acessors for EnrollmentDetailPolicy + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPolicies Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal.EnrollmentDetailPolicy { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailPolicy; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailPolicy = value; } + + /// Internal Acessors for EnrollmentDetailStatus + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal.EnrollmentDetailStatus { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailStatus; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).EnrollmentDetailStatus = value; } + + /// Internal Acessors for HasReadAccess + bool? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal.HasReadAccess { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).HasReadAccess; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).HasReadAccess = value; } + + /// Internal Acessors for PolicyAccountOwnerViewCharge + bool? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal.PolicyAccountOwnerViewCharge { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).PolicyAccountOwnerViewCharge; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).PolicyAccountOwnerViewCharge = value; } + + /// Internal Acessors for PolicyDepartmentAdminViewCharge + bool? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal.PolicyDepartmentAdminViewCharge { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).PolicyDepartmentAdminViewCharge; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).PolicyDepartmentAdminViewCharge = value; } + + /// Internal Acessors for PolicyMarketplaceEnabled + bool? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal.PolicyMarketplaceEnabled { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).PolicyMarketplaceEnabled; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).PolicyMarketplaceEnabled = value; } + + /// Internal Acessors for PolicyReservedInstancesEnabled + bool? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal.PolicyReservedInstancesEnabled { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).PolicyReservedInstancesEnabled; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).PolicyReservedInstancesEnabled = value; } + + /// Internal Acessors for Property + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountProperties Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal.Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingAccountProperties()); set { {_property = value;} } } + + /// Internal Acessors for SoldTo + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequestInternal.SoldTo { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldTo; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldTo = value; } + + /// Notification email address, only for legacy accounts + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string NotificationEmailAddress { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).NotificationEmailAddress; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).NotificationEmailAddress = value ?? null; } + + /// The policy that controls whether Account Owners can view charges. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public bool? PolicyAccountOwnerViewCharge { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).PolicyAccountOwnerViewCharge; } + + /// The policy that controls whether Department Administrators can view charges. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public bool? PolicyDepartmentAdminViewCharge { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).PolicyDepartmentAdminViewCharge; } + + /// + /// The policy that controls whether Azure marketplace purchases are allowed in the enrollment. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public bool? PolicyMarketplaceEnabled { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).PolicyMarketplaceEnabled; } + + /// + /// The policy that controls whether Azure reservation purchases are allowed in the enrollment. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public bool? PolicyReservedInstancesEnabled { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).PolicyReservedInstancesEnabled; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountProperties _property; + + /// A billing property. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountProperties Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingAccountProperties()); set => this._property = value; } + + /// Address line 1. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToAddressLine1 { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToAddressLine1; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToAddressLine1 = value ?? null; } + + /// Address line 2. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToAddressLine2 { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToAddressLine2; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToAddressLine2 = value ?? null; } + + /// Address line 3. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToAddressLine3 { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToAddressLine3; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToAddressLine3 = value ?? null; } + + /// Address city. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToCity { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToCity; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToCity = value ?? null; } + + /// Company name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToCompanyName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToCompanyName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToCompanyName = value ?? null; } + + /// Country code uses ISO2, 2-digit format. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToCountry { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToCountry; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToCountry = value ?? null; } + + /// Address district. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToDistrict { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToDistrict; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToDistrict = value ?? null; } + + /// Email address. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToEmail { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToEmail; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToEmail = value ?? null; } + + /// First name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToFirstName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToFirstName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToFirstName = value ?? null; } + + /// Last name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToLastName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToLastName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToLastName = value ?? null; } + + /// Middle name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToMiddleName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToMiddleName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToMiddleName = value ?? null; } + + /// Phone number. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToPhoneNumber { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToPhoneNumber; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToPhoneNumber = value ?? null; } + + /// Postal code. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToPostalCode { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToPostalCode; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToPostalCode = value ?? null; } + + /// Address region. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SoldToRegion { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToRegion; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountPropertiesInternal)Property).SoldToRegion = value ?? null; } + + /// Creates an new instance. + public BillingAccountUpdateRequest() + { + + } + } + /// The request properties of the billing account that can be updated. + public partial interface IBillingAccountUpdateRequest : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The current status of the billing account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The current status of the billing account.", + SerializedName = @"accountStatus", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatus) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatus? AccountStatus { get; } + /// The type of customer. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The type of customer.", + SerializedName = @"accountType", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountType) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountType? AccountType { get; } + /// The type of agreement. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The type of agreement.", + SerializedName = @"agreementType", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AgreementType) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AgreementType? AgreementType { get; } + /// + /// Indicates whether there are more billing profiles than the ones listed in this collection. The collection lists a maximum + /// of 50 billing profiles. To get all billing profiles, use the list billing profiles API. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Indicates whether there are more billing profiles than the ones listed in this collection. The collection lists a maximum of 50 billing profiles. To get all billing profiles, use the list billing profiles API.", + SerializedName = @"hasMoreResults", + PossibleTypes = new [] { typeof(bool) })] + bool? BillingProfileHasMoreResult { get; } + /// The billing profiles associated with the billing account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The billing profiles associated with the billing account.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile[] BillingProfileValue { get; set; } + /// The departments associated to the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The departments associated to the enrollment.", + SerializedName = @"departments", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment[] Department { get; set; } + /// The billing account name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The billing account name.", + SerializedName = @"displayName", + PossibleTypes = new [] { typeof(string) })] + string DisplayName { get; set; } + /// The accounts associated to the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The accounts associated to the enrollment.", + SerializedName = @"enrollmentAccounts", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[] EnrollmentAccount { get; set; } + /// The billing cycle for the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The billing cycle for the enrollment.", + SerializedName = @"billingCycle", + PossibleTypes = new [] { typeof(string) })] + string EnrollmentDetailBillingCycle { get; } + /// The channel type of the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The channel type of the enrollment.", + SerializedName = @"channel", + PossibleTypes = new [] { typeof(string) })] + string EnrollmentDetailChannel { get; } + /// The country code of the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The country code of the enrollment.", + SerializedName = @"countryCode", + PossibleTypes = new [] { typeof(string) })] + string EnrollmentDetailCountryCode { get; } + /// The billing currency for the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The billing currency for the enrollment.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string EnrollmentDetailCurrency { get; } + /// The end date of the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The end date of the enrollment.", + SerializedName = @"endDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? EnrollmentDetailEndDate { get; set; } + /// The language for the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The language for the enrollment.", + SerializedName = @"language", + PossibleTypes = new [] { typeof(string) })] + string EnrollmentDetailLanguage { get; } + /// The start date of the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The start date of the enrollment.", + SerializedName = @"startDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? EnrollmentDetailStartDate { get; set; } + /// The current status of the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The current status of the enrollment.", + SerializedName = @"status", + PossibleTypes = new [] { typeof(string) })] + string EnrollmentDetailStatus { get; } + /// Indicates whether user has read access to the billing account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Indicates whether user has read access to the billing account.", + SerializedName = @"hasReadAccess", + PossibleTypes = new [] { typeof(bool) })] + bool? HasReadAccess { get; } + /// Notification email address, only for legacy accounts + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Notification email address, only for legacy accounts", + SerializedName = @"notificationEmailAddress", + PossibleTypes = new [] { typeof(string) })] + string NotificationEmailAddress { get; set; } + /// The policy that controls whether Account Owners can view charges. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The policy that controls whether Account Owners can view charges.", + SerializedName = @"accountOwnerViewCharges", + PossibleTypes = new [] { typeof(bool) })] + bool? PolicyAccountOwnerViewCharge { get; } + /// The policy that controls whether Department Administrators can view charges. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The policy that controls whether Department Administrators can view charges.", + SerializedName = @"departmentAdminViewCharges", + PossibleTypes = new [] { typeof(bool) })] + bool? PolicyDepartmentAdminViewCharge { get; } + /// + /// The policy that controls whether Azure marketplace purchases are allowed in the enrollment. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The policy that controls whether Azure marketplace purchases are allowed in the enrollment.", + SerializedName = @"marketplaceEnabled", + PossibleTypes = new [] { typeof(bool) })] + bool? PolicyMarketplaceEnabled { get; } + /// + /// The policy that controls whether Azure reservation purchases are allowed in the enrollment. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The policy that controls whether Azure reservation purchases are allowed in the enrollment.", + SerializedName = @"reservedInstancesEnabled", + PossibleTypes = new [] { typeof(bool) })] + bool? PolicyReservedInstancesEnabled { get; } + /// Address line 1. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address line 1.", + SerializedName = @"addressLine1", + PossibleTypes = new [] { typeof(string) })] + string SoldToAddressLine1 { get; set; } + /// Address line 2. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address line 2.", + SerializedName = @"addressLine2", + PossibleTypes = new [] { typeof(string) })] + string SoldToAddressLine2 { get; set; } + /// Address line 3. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address line 3.", + SerializedName = @"addressLine3", + PossibleTypes = new [] { typeof(string) })] + string SoldToAddressLine3 { get; set; } + /// Address city. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address city.", + SerializedName = @"city", + PossibleTypes = new [] { typeof(string) })] + string SoldToCity { get; set; } + /// Company name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Company name.", + SerializedName = @"companyName", + PossibleTypes = new [] { typeof(string) })] + string SoldToCompanyName { get; set; } + /// Country code uses ISO2, 2-digit format. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Country code uses ISO2, 2-digit format.", + SerializedName = @"country", + PossibleTypes = new [] { typeof(string) })] + string SoldToCountry { get; set; } + /// Address district. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address district.", + SerializedName = @"district", + PossibleTypes = new [] { typeof(string) })] + string SoldToDistrict { get; set; } + /// Email address. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Email address.", + SerializedName = @"email", + PossibleTypes = new [] { typeof(string) })] + string SoldToEmail { get; set; } + /// First name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"First name.", + SerializedName = @"firstName", + PossibleTypes = new [] { typeof(string) })] + string SoldToFirstName { get; set; } + /// Last name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Last name.", + SerializedName = @"lastName", + PossibleTypes = new [] { typeof(string) })] + string SoldToLastName { get; set; } + /// Middle name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Middle name.", + SerializedName = @"middleName", + PossibleTypes = new [] { typeof(string) })] + string SoldToMiddleName { get; set; } + /// Phone number. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Phone number.", + SerializedName = @"phoneNumber", + PossibleTypes = new [] { typeof(string) })] + string SoldToPhoneNumber { get; set; } + /// Postal code. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Postal code.", + SerializedName = @"postalCode", + PossibleTypes = new [] { typeof(string) })] + string SoldToPostalCode { get; set; } + /// Address region. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address region.", + SerializedName = @"region", + PossibleTypes = new [] { typeof(string) })] + string SoldToRegion { get; set; } + + } + /// The request properties of the billing account that can be updated. + internal partial interface IBillingAccountUpdateRequestInternal + + { + /// The current status of the billing account. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatus? AccountStatus { get; set; } + /// The type of customer. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountType? AccountType { get; set; } + /// The type of agreement. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AgreementType? AgreementType { get; set; } + /// + /// The billing profiles associated with the billing account. By default this is not populated, unless it's specified in $expand. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilesOnExpand BillingProfile { get; set; } + /// + /// Indicates whether there are more billing profiles than the ones listed in this collection. The collection lists a maximum + /// of 50 billing profiles. To get all billing profiles, use the list billing profiles API. + /// + bool? BillingProfileHasMoreResult { get; set; } + /// The billing profiles associated with the billing account. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile[] BillingProfileValue { get; set; } + /// The departments associated to the enrollment. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment[] Department { get; set; } + /// The billing account name. + string DisplayName { get; set; } + /// The accounts associated to the enrollment. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[] EnrollmentAccount { get; set; } + /// + /// The details about the associated legacy enrollment. By default this is not populated, unless it's specified in $expand. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollment EnrollmentDetail { get; set; } + /// The billing cycle for the enrollment. + string EnrollmentDetailBillingCycle { get; set; } + /// The channel type of the enrollment. + string EnrollmentDetailChannel { get; set; } + /// The country code of the enrollment. + string EnrollmentDetailCountryCode { get; set; } + /// The billing currency for the enrollment. + string EnrollmentDetailCurrency { get; set; } + /// The end date of the enrollment. + global::System.DateTime? EnrollmentDetailEndDate { get; set; } + /// The language for the enrollment. + string EnrollmentDetailLanguage { get; set; } + /// The policies for Enterprise Agreement enrollments. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPolicies EnrollmentDetailPolicy { get; set; } + /// The start date of the enrollment. + global::System.DateTime? EnrollmentDetailStartDate { get; set; } + /// The current status of the enrollment. + string EnrollmentDetailStatus { get; set; } + /// Indicates whether user has read access to the billing account. + bool? HasReadAccess { get; set; } + /// Notification email address, only for legacy accounts + string NotificationEmailAddress { get; set; } + /// The policy that controls whether Account Owners can view charges. + bool? PolicyAccountOwnerViewCharge { get; set; } + /// The policy that controls whether Department Administrators can view charges. + bool? PolicyDepartmentAdminViewCharge { get; set; } + /// + /// The policy that controls whether Azure marketplace purchases are allowed in the enrollment. + /// + bool? PolicyMarketplaceEnabled { get; set; } + /// + /// The policy that controls whether Azure reservation purchases are allowed in the enrollment. + /// + bool? PolicyReservedInstancesEnabled { get; set; } + /// A billing property. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountProperties Property { get; set; } + /// + /// The address of the individual or organization that is responsible for the billing account. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails SoldTo { get; set; } + /// Address line 1. + string SoldToAddressLine1 { get; set; } + /// Address line 2. + string SoldToAddressLine2 { get; set; } + /// Address line 3. + string SoldToAddressLine3 { get; set; } + /// Address city. + string SoldToCity { get; set; } + /// Company name. + string SoldToCompanyName { get; set; } + /// Country code uses ISO2, 2-digit format. + string SoldToCountry { get; set; } + /// Address district. + string SoldToDistrict { get; set; } + /// Email address. + string SoldToEmail { get; set; } + /// First name. + string SoldToFirstName { get; set; } + /// Last name. + string SoldToLastName { get; set; } + /// Middle name. + string SoldToMiddleName { get; set; } + /// Phone number. + string SoldToPhoneNumber { get; set; } + /// Postal code. + string SoldToPostalCode { get; set; } + /// Address region. + string SoldToRegion { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingAccountUpdateRequest.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingAccountUpdateRequest.json.cs new file mode 100644 index 000000000000..a5da9bdb35dd --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingAccountUpdateRequest.json.cs @@ -0,0 +1,108 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The request properties of the billing account that can be updated. + public partial class BillingAccountUpdateRequest + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal BillingAccountUpdateRequest(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_property = If( json?.PropertyT("properties"), out var __jsonProperties) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingAccountProperties.FromJson(__jsonProperties) : Property;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequest. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequest. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequest FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new BillingAccountUpdateRequest(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != this._property ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._property.ToJson(null,serializationMode) : null, "properties" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingPermissionsListResult.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingPermissionsListResult.PowerShell.cs new file mode 100644 index 000000000000..10be845e3ac6 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingPermissionsListResult.PowerShell.cs @@ -0,0 +1,154 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// Result of list billingPermissions a caller has on a billing account. + [System.ComponentModel.TypeConverter(typeof(BillingPermissionsListResultTypeConverter))] + public partial class BillingPermissionsListResult + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal BillingPermissionsListResult(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsProperties[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingPermissionsPropertiesTypeConverter.ConvertFrom)); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsListResultInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal BillingPermissionsListResult(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsProperties[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingPermissionsPropertiesTypeConverter.ConvertFrom)); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsListResultInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsListResult DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new BillingPermissionsListResult(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsListResult DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new BillingPermissionsListResult(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsListResult FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Result of list billingPermissions a caller has on a billing account. + [System.ComponentModel.TypeConverter(typeof(BillingPermissionsListResultTypeConverter))] + public partial interface IBillingPermissionsListResult + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingPermissionsListResult.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingPermissionsListResult.TypeConverter.cs new file mode 100644 index 000000000000..7d1daf022886 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingPermissionsListResult.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class BillingPermissionsListResultTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsListResult ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsListResult).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return BillingPermissionsListResult.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return BillingPermissionsListResult.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return BillingPermissionsListResult.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingPermissionsListResult.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingPermissionsListResult.cs new file mode 100644 index 000000000000..88c9b5de9070 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingPermissionsListResult.cs @@ -0,0 +1,74 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// Result of list billingPermissions a caller has on a billing account. + public partial class BillingPermissionsListResult : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsListResult, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsListResultInternal + { + + /// Internal Acessors for NextLink + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsListResultInternal.NextLink { get => this._nextLink; set { {_nextLink = value;} } } + + /// Internal Acessors for Value + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsProperties[] Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsListResultInternal.Value { get => this._value; set { {_value = value;} } } + + /// Backing field for property. + private string _nextLink; + + /// The link (url) to the next page of results. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string NextLink { get => this._nextLink; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsProperties[] _value; + + /// The list of billingPermissions a caller has on a billing account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsProperties[] Value { get => this._value; } + + /// Creates an new instance. + public BillingPermissionsListResult() + { + + } + } + /// Result of list billingPermissions a caller has on a billing account. + public partial interface IBillingPermissionsListResult : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The link (url) to the next page of results. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The link (url) to the next page of results.", + SerializedName = @"nextLink", + PossibleTypes = new [] { typeof(string) })] + string NextLink { get; } + /// The list of billingPermissions a caller has on a billing account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The list of billingPermissions a caller has on a billing account.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsProperties) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsProperties[] Value { get; } + + } + /// Result of list billingPermissions a caller has on a billing account. + internal partial interface IBillingPermissionsListResultInternal + + { + /// The link (url) to the next page of results. + string NextLink { get; set; } + /// The list of billingPermissions a caller has on a billing account. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsProperties[] Value { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingPermissionsListResult.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingPermissionsListResult.json.cs new file mode 100644 index 000000000000..ce7f526e26cf --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingPermissionsListResult.json.cs @@ -0,0 +1,124 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// Result of list billingPermissions a caller has on a billing account. + public partial class BillingPermissionsListResult + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal BillingPermissionsListResult(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_value = If( json?.PropertyT("value"), out var __jsonValue) ? If( __jsonValue as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsProperties) (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingPermissionsProperties.FromJson(__u) )) ))() : null : Value;} + {_nextLink = If( json?.PropertyT("nextLink"), out var __jsonNextLink) ? (string)__jsonNextLink : (string)NextLink;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsListResult. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsListResult. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsListResult FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new BillingPermissionsListResult(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + if (null != this._value) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(); + foreach( var __x in this._value ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("value",__w); + } + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._nextLink)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._nextLink.ToString()) : null, "nextLink" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingPermissionsProperties.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingPermissionsProperties.PowerShell.cs new file mode 100644 index 000000000000..62531b6cafff --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingPermissionsProperties.PowerShell.cs @@ -0,0 +1,156 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// The set of allowed action and not allowed actions a caller has on a billing account + /// + [System.ComponentModel.TypeConverter(typeof(BillingPermissionsPropertiesTypeConverter))] + public partial class BillingPermissionsProperties + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal BillingPermissionsProperties(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Action")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsPropertiesInternal)this).Action = (string[]) content.GetValueForProperty("Action",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsPropertiesInternal)this).Action, __y => TypeConverterExtensions.SelectToArray(__y, global::System.Convert.ToString)); + } + if (content.Contains("NotAction")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsPropertiesInternal)this).NotAction = (string[]) content.GetValueForProperty("NotAction",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsPropertiesInternal)this).NotAction, __y => TypeConverterExtensions.SelectToArray(__y, global::System.Convert.ToString)); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal BillingPermissionsProperties(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Action")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsPropertiesInternal)this).Action = (string[]) content.GetValueForProperty("Action",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsPropertiesInternal)this).Action, __y => TypeConverterExtensions.SelectToArray(__y, global::System.Convert.ToString)); + } + if (content.Contains("NotAction")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsPropertiesInternal)this).NotAction = (string[]) content.GetValueForProperty("NotAction",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsPropertiesInternal)this).NotAction, __y => TypeConverterExtensions.SelectToArray(__y, global::System.Convert.ToString)); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsProperties DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new BillingPermissionsProperties(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsProperties DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new BillingPermissionsProperties(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsProperties FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The set of allowed action and not allowed actions a caller has on a billing account + [System.ComponentModel.TypeConverter(typeof(BillingPermissionsPropertiesTypeConverter))] + public partial interface IBillingPermissionsProperties + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingPermissionsProperties.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingPermissionsProperties.TypeConverter.cs new file mode 100644 index 000000000000..a98aff9dcc55 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingPermissionsProperties.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class BillingPermissionsPropertiesTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsProperties ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsProperties).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return BillingPermissionsProperties.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return BillingPermissionsProperties.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return BillingPermissionsProperties.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingPermissionsProperties.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingPermissionsProperties.cs new file mode 100644 index 000000000000..e05467d56644 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingPermissionsProperties.cs @@ -0,0 +1,76 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// + /// The set of allowed action and not allowed actions a caller has on a billing account + /// + public partial class BillingPermissionsProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsProperties, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsPropertiesInternal + { + + /// Backing field for property. + private string[] _action; + + /// The set of actions that the caller is allowed to perform. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string[] Action { get => this._action; } + + /// Internal Acessors for Action + string[] Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsPropertiesInternal.Action { get => this._action; set { {_action = value;} } } + + /// Internal Acessors for NotAction + string[] Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsPropertiesInternal.NotAction { get => this._notAction; set { {_notAction = value;} } } + + /// Backing field for property. + private string[] _notAction; + + /// The set of actions that the caller is not allowed to perform. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string[] NotAction { get => this._notAction; } + + /// Creates an new instance. + public BillingPermissionsProperties() + { + + } + } + /// The set of allowed action and not allowed actions a caller has on a billing account + public partial interface IBillingPermissionsProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The set of actions that the caller is allowed to perform. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The set of actions that the caller is allowed to perform.", + SerializedName = @"actions", + PossibleTypes = new [] { typeof(string) })] + string[] Action { get; } + /// The set of actions that the caller is not allowed to perform. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The set of actions that the caller is not allowed to perform.", + SerializedName = @"notActions", + PossibleTypes = new [] { typeof(string) })] + string[] NotAction { get; } + + } + /// The set of allowed action and not allowed actions a caller has on a billing account + internal partial interface IBillingPermissionsPropertiesInternal + + { + /// The set of actions that the caller is allowed to perform. + string[] Action { get; set; } + /// The set of actions that the caller is not allowed to perform. + string[] NotAction { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingPermissionsProperties.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingPermissionsProperties.json.cs new file mode 100644 index 000000000000..8127d055b4d2 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingPermissionsProperties.json.cs @@ -0,0 +1,134 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// + /// The set of allowed action and not allowed actions a caller has on a billing account + /// + public partial class BillingPermissionsProperties + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal BillingPermissionsProperties(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_action = If( json?.PropertyT("actions"), out var __jsonActions) ? If( __jsonActions as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(string) (__u is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString __t ? (string)(__t.ToString()) : null)) ))() : null : Action;} + {_notAction = If( json?.PropertyT("notActions"), out var __jsonNotActions) ? If( __jsonNotActions as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonArray, out var __q) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__q, (__p)=>(string) (__p is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString __o ? (string)(__o.ToString()) : null)) ))() : null : NotAction;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsProperties. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsProperties. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsProperties FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new BillingPermissionsProperties(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + if (null != this._action) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(); + foreach( var __x in this._action ) + { + AddIf(null != (((object)__x)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(__x.ToString()) : null ,__w.Add); + } + container.Add("actions",__w); + } + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + if (null != this._notAction) + { + var __r = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(); + foreach( var __s in this._notAction ) + { + AddIf(null != (((object)__s)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(__s.ToString()) : null ,__r.Add); + } + container.Add("notActions",__r); + } + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingProfile.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfile.PowerShell.cs new file mode 100644 index 000000000000..5e4dd93b12b6 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfile.PowerShell.cs @@ -0,0 +1,456 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// A billing profile. + [System.ComponentModel.TypeConverter(typeof(BillingProfileTypeConverter))] + public partial class BillingProfile + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal BillingProfile(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfilePropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("SpendingLimit")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).SpendingLimit = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimit?) content.GetValueForProperty("SpendingLimit",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).SpendingLimit, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimit.CreateFrom); + } + if (content.Contains("BillTo")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillTo = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails) content.GetValueForProperty("BillTo",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillTo, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AddressDetailsTypeConverter.ConvertFrom); + } + if (content.Contains("IndirectRelationshipInfo")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).IndirectRelationshipInfo = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IIndirectRelationshipInfo) content.GetValueForProperty("IndirectRelationshipInfo",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).IndirectRelationshipInfo, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IndirectRelationshipInfoTypeConverter.ConvertFrom); + } + if (content.Contains("InvoiceSection")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).InvoiceSection = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionsOnExpand) content.GetValueForProperty("InvoiceSection",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).InvoiceSection, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionsOnExpandTypeConverter.ConvertFrom); + } + if (content.Contains("DisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).DisplayName = (string) content.GetValueForProperty("DisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).DisplayName, global::System.Convert.ToString); + } + if (content.Contains("PoNumber")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).PoNumber = (string) content.GetValueForProperty("PoNumber",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).PoNumber, global::System.Convert.ToString); + } + if (content.Contains("BillingRelationshipType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillingRelationshipType = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingRelationshipType?) content.GetValueForProperty("BillingRelationshipType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillingRelationshipType, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingRelationshipType.CreateFrom); + } + if (content.Contains("InvoiceEmailOptIn")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).InvoiceEmailOptIn = (bool?) content.GetValueForProperty("InvoiceEmailOptIn",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).InvoiceEmailOptIn, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("InvoiceDay")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).InvoiceDay = (int?) content.GetValueForProperty("InvoiceDay",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).InvoiceDay, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("Currency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).Currency = (string) content.GetValueForProperty("Currency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).Currency, global::System.Convert.ToString); + } + if (content.Contains("EnabledAzurePlan")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).EnabledAzurePlan = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan[]) content.GetValueForProperty("EnabledAzurePlan",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).EnabledAzurePlan, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AzurePlanTypeConverter.ConvertFrom)); + } + if (content.Contains("HasReadAccess")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).HasReadAccess = (bool?) content.GetValueForProperty("HasReadAccess",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).HasReadAccess, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("SystemId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).SystemId = (string) content.GetValueForProperty("SystemId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).SystemId, global::System.Convert.ToString); + } + if (content.Contains("Status")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).Status = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus?) content.GetValueForProperty("Status",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).Status, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus.CreateFrom); + } + if (content.Contains("StatusReasonCode")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).StatusReasonCode = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCode?) content.GetValueForProperty("StatusReasonCode",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).StatusReasonCode, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCode.CreateFrom); + } + if (content.Contains("TargetCloud")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).TargetCloud = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud[]) content.GetValueForProperty("TargetCloud",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).TargetCloud, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud.CreateFrom)); + } + if (content.Contains("Tag")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).Tag = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesTags) content.GetValueForProperty("Tag",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).Tag, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfilePropertiesTagsTypeConverter.ConvertFrom); + } + if (content.Contains("IndirectRelationshipInfoDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).IndirectRelationshipInfoDisplayName = (string) content.GetValueForProperty("IndirectRelationshipInfoDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).IndirectRelationshipInfoDisplayName, global::System.Convert.ToString); + } + if (content.Contains("BillToFirstName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToFirstName = (string) content.GetValueForProperty("BillToFirstName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToFirstName, global::System.Convert.ToString); + } + if (content.Contains("BillToMiddleName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToMiddleName = (string) content.GetValueForProperty("BillToMiddleName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToMiddleName, global::System.Convert.ToString); + } + if (content.Contains("BillToLastName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToLastName = (string) content.GetValueForProperty("BillToLastName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToLastName, global::System.Convert.ToString); + } + if (content.Contains("BillToCompanyName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToCompanyName = (string) content.GetValueForProperty("BillToCompanyName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToCompanyName, global::System.Convert.ToString); + } + if (content.Contains("BillToAddressLine1")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToAddressLine1 = (string) content.GetValueForProperty("BillToAddressLine1",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToAddressLine1, global::System.Convert.ToString); + } + if (content.Contains("BillToAddressLine2")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToAddressLine2 = (string) content.GetValueForProperty("BillToAddressLine2",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToAddressLine2, global::System.Convert.ToString); + } + if (content.Contains("BillToAddressLine3")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToAddressLine3 = (string) content.GetValueForProperty("BillToAddressLine3",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToAddressLine3, global::System.Convert.ToString); + } + if (content.Contains("BillToCity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToCity = (string) content.GetValueForProperty("BillToCity",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToCity, global::System.Convert.ToString); + } + if (content.Contains("BillToDistrict")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToDistrict = (string) content.GetValueForProperty("BillToDistrict",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToDistrict, global::System.Convert.ToString); + } + if (content.Contains("BillToRegion")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToRegion = (string) content.GetValueForProperty("BillToRegion",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToRegion, global::System.Convert.ToString); + } + if (content.Contains("BillToCountry")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToCountry = (string) content.GetValueForProperty("BillToCountry",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToCountry, global::System.Convert.ToString); + } + if (content.Contains("BillToPostalCode")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToPostalCode = (string) content.GetValueForProperty("BillToPostalCode",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToPostalCode, global::System.Convert.ToString); + } + if (content.Contains("BillToEmail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToEmail = (string) content.GetValueForProperty("BillToEmail",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToEmail, global::System.Convert.ToString); + } + if (content.Contains("BillToPhoneNumber")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToPhoneNumber = (string) content.GetValueForProperty("BillToPhoneNumber",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToPhoneNumber, global::System.Convert.ToString); + } + if (content.Contains("IndirectRelationshipInfoBillingAccountName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).IndirectRelationshipInfoBillingAccountName = (string) content.GetValueForProperty("IndirectRelationshipInfoBillingAccountName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).IndirectRelationshipInfoBillingAccountName, global::System.Convert.ToString); + } + if (content.Contains("IndirectRelationshipInfoBillingProfileName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).IndirectRelationshipInfoBillingProfileName = (string) content.GetValueForProperty("IndirectRelationshipInfoBillingProfileName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).IndirectRelationshipInfoBillingProfileName, global::System.Convert.ToString); + } + if (content.Contains("InvoiceSectionHasMoreResult")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).InvoiceSectionHasMoreResult = (bool?) content.GetValueForProperty("InvoiceSectionHasMoreResult",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).InvoiceSectionHasMoreResult, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("InvoiceSectionValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).InvoiceSectionValue = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection[]) content.GetValueForProperty("InvoiceSectionValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).InvoiceSectionValue, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionTypeConverter.ConvertFrom)); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal BillingProfile(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfilePropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("SpendingLimit")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).SpendingLimit = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimit?) content.GetValueForProperty("SpendingLimit",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).SpendingLimit, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimit.CreateFrom); + } + if (content.Contains("BillTo")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillTo = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails) content.GetValueForProperty("BillTo",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillTo, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AddressDetailsTypeConverter.ConvertFrom); + } + if (content.Contains("IndirectRelationshipInfo")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).IndirectRelationshipInfo = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IIndirectRelationshipInfo) content.GetValueForProperty("IndirectRelationshipInfo",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).IndirectRelationshipInfo, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IndirectRelationshipInfoTypeConverter.ConvertFrom); + } + if (content.Contains("InvoiceSection")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).InvoiceSection = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionsOnExpand) content.GetValueForProperty("InvoiceSection",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).InvoiceSection, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionsOnExpandTypeConverter.ConvertFrom); + } + if (content.Contains("DisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).DisplayName = (string) content.GetValueForProperty("DisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).DisplayName, global::System.Convert.ToString); + } + if (content.Contains("PoNumber")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).PoNumber = (string) content.GetValueForProperty("PoNumber",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).PoNumber, global::System.Convert.ToString); + } + if (content.Contains("BillingRelationshipType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillingRelationshipType = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingRelationshipType?) content.GetValueForProperty("BillingRelationshipType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillingRelationshipType, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingRelationshipType.CreateFrom); + } + if (content.Contains("InvoiceEmailOptIn")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).InvoiceEmailOptIn = (bool?) content.GetValueForProperty("InvoiceEmailOptIn",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).InvoiceEmailOptIn, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("InvoiceDay")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).InvoiceDay = (int?) content.GetValueForProperty("InvoiceDay",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).InvoiceDay, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("Currency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).Currency = (string) content.GetValueForProperty("Currency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).Currency, global::System.Convert.ToString); + } + if (content.Contains("EnabledAzurePlan")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).EnabledAzurePlan = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan[]) content.GetValueForProperty("EnabledAzurePlan",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).EnabledAzurePlan, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AzurePlanTypeConverter.ConvertFrom)); + } + if (content.Contains("HasReadAccess")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).HasReadAccess = (bool?) content.GetValueForProperty("HasReadAccess",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).HasReadAccess, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("SystemId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).SystemId = (string) content.GetValueForProperty("SystemId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).SystemId, global::System.Convert.ToString); + } + if (content.Contains("Status")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).Status = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus?) content.GetValueForProperty("Status",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).Status, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus.CreateFrom); + } + if (content.Contains("StatusReasonCode")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).StatusReasonCode = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCode?) content.GetValueForProperty("StatusReasonCode",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).StatusReasonCode, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCode.CreateFrom); + } + if (content.Contains("TargetCloud")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).TargetCloud = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud[]) content.GetValueForProperty("TargetCloud",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).TargetCloud, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud.CreateFrom)); + } + if (content.Contains("Tag")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).Tag = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesTags) content.GetValueForProperty("Tag",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).Tag, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfilePropertiesTagsTypeConverter.ConvertFrom); + } + if (content.Contains("IndirectRelationshipInfoDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).IndirectRelationshipInfoDisplayName = (string) content.GetValueForProperty("IndirectRelationshipInfoDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).IndirectRelationshipInfoDisplayName, global::System.Convert.ToString); + } + if (content.Contains("BillToFirstName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToFirstName = (string) content.GetValueForProperty("BillToFirstName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToFirstName, global::System.Convert.ToString); + } + if (content.Contains("BillToMiddleName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToMiddleName = (string) content.GetValueForProperty("BillToMiddleName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToMiddleName, global::System.Convert.ToString); + } + if (content.Contains("BillToLastName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToLastName = (string) content.GetValueForProperty("BillToLastName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToLastName, global::System.Convert.ToString); + } + if (content.Contains("BillToCompanyName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToCompanyName = (string) content.GetValueForProperty("BillToCompanyName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToCompanyName, global::System.Convert.ToString); + } + if (content.Contains("BillToAddressLine1")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToAddressLine1 = (string) content.GetValueForProperty("BillToAddressLine1",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToAddressLine1, global::System.Convert.ToString); + } + if (content.Contains("BillToAddressLine2")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToAddressLine2 = (string) content.GetValueForProperty("BillToAddressLine2",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToAddressLine2, global::System.Convert.ToString); + } + if (content.Contains("BillToAddressLine3")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToAddressLine3 = (string) content.GetValueForProperty("BillToAddressLine3",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToAddressLine3, global::System.Convert.ToString); + } + if (content.Contains("BillToCity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToCity = (string) content.GetValueForProperty("BillToCity",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToCity, global::System.Convert.ToString); + } + if (content.Contains("BillToDistrict")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToDistrict = (string) content.GetValueForProperty("BillToDistrict",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToDistrict, global::System.Convert.ToString); + } + if (content.Contains("BillToRegion")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToRegion = (string) content.GetValueForProperty("BillToRegion",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToRegion, global::System.Convert.ToString); + } + if (content.Contains("BillToCountry")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToCountry = (string) content.GetValueForProperty("BillToCountry",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToCountry, global::System.Convert.ToString); + } + if (content.Contains("BillToPostalCode")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToPostalCode = (string) content.GetValueForProperty("BillToPostalCode",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToPostalCode, global::System.Convert.ToString); + } + if (content.Contains("BillToEmail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToEmail = (string) content.GetValueForProperty("BillToEmail",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToEmail, global::System.Convert.ToString); + } + if (content.Contains("BillToPhoneNumber")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToPhoneNumber = (string) content.GetValueForProperty("BillToPhoneNumber",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).BillToPhoneNumber, global::System.Convert.ToString); + } + if (content.Contains("IndirectRelationshipInfoBillingAccountName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).IndirectRelationshipInfoBillingAccountName = (string) content.GetValueForProperty("IndirectRelationshipInfoBillingAccountName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).IndirectRelationshipInfoBillingAccountName, global::System.Convert.ToString); + } + if (content.Contains("IndirectRelationshipInfoBillingProfileName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).IndirectRelationshipInfoBillingProfileName = (string) content.GetValueForProperty("IndirectRelationshipInfoBillingProfileName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).IndirectRelationshipInfoBillingProfileName, global::System.Convert.ToString); + } + if (content.Contains("InvoiceSectionHasMoreResult")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).InvoiceSectionHasMoreResult = (bool?) content.GetValueForProperty("InvoiceSectionHasMoreResult",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).InvoiceSectionHasMoreResult, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("InvoiceSectionValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).InvoiceSectionValue = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection[]) content.GetValueForProperty("InvoiceSectionValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal)this).InvoiceSectionValue, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionTypeConverter.ConvertFrom)); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new BillingProfile(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new BillingProfile(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// A billing profile. + [System.ComponentModel.TypeConverter(typeof(BillingProfileTypeConverter))] + public partial interface IBillingProfile + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingProfile.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfile.TypeConverter.cs new file mode 100644 index 000000000000..ae2622f6a1a7 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfile.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class BillingProfileTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return BillingProfile.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return BillingProfile.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return BillingProfile.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingProfile.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfile.cs new file mode 100644 index 000000000000..1df7b2812389 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfile.cs @@ -0,0 +1,627 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// A billing profile. + public partial class BillingProfile : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IValidates + { + /// + /// Backing field for Inherited model + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource __resource = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource(); + + /// Address line 1. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToAddressLine1 { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).BillToAddressLine1; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).BillToAddressLine1 = value ?? null; } + + /// Address line 2. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToAddressLine2 { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).BillToAddressLine2; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).BillToAddressLine2 = value ?? null; } + + /// Address line 3. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToAddressLine3 { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).BillToAddressLine3; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).BillToAddressLine3 = value ?? null; } + + /// Address city. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToCity { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).BillToCity; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).BillToCity = value ?? null; } + + /// Company name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToCompanyName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).BillToCompanyName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).BillToCompanyName = value ?? null; } + + /// Country code uses ISO2, 2-digit format. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToCountry { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).BillToCountry; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).BillToCountry = value ?? null; } + + /// Address district. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToDistrict { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).BillToDistrict; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).BillToDistrict = value ?? null; } + + /// Email address. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToEmail { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).BillToEmail; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).BillToEmail = value ?? null; } + + /// First name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToFirstName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).BillToFirstName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).BillToFirstName = value ?? null; } + + /// Last name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToLastName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).BillToLastName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).BillToLastName = value ?? null; } + + /// Middle name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToMiddleName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).BillToMiddleName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).BillToMiddleName = value ?? null; } + + /// Phone number. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToPhoneNumber { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).BillToPhoneNumber; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).BillToPhoneNumber = value ?? null; } + + /// Postal code. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToPostalCode { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).BillToPostalCode; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).BillToPostalCode = value ?? null; } + + /// Address region. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToRegion { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).BillToRegion; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).BillToRegion = value ?? null; } + + /// Identifies which services and purchases are paid by a billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingRelationshipType? BillingRelationshipType { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).BillingRelationshipType; } + + /// The currency in which the charges for the billing profile are billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string Currency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).Currency; } + + /// The name of the billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string DisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).DisplayName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).DisplayName = value ?? null; } + + /// Information about the enabled azure plans. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan[] EnabledAzurePlan { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).EnabledAzurePlan; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).EnabledAzurePlan = value ?? null /* arrayOf */; } + + /// Indicates whether user has read access to the billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public bool? HasReadAccess { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).HasReadAccess; } + + /// Resource Id. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id; } + + /// The billing account name of the partner or the customer for an indirect motion. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string IndirectRelationshipInfoBillingAccountName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).IndirectRelationshipInfoBillingAccountName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).IndirectRelationshipInfoBillingAccountName = value ?? null; } + + /// The billing profile name of the partner or the customer for an indirect motion. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string IndirectRelationshipInfoBillingProfileName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).IndirectRelationshipInfoBillingProfileName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).IndirectRelationshipInfoBillingProfileName = value ?? null; } + + /// The display name of the partner or customer for an indirect motion. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string IndirectRelationshipInfoDisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).IndirectRelationshipInfoDisplayName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).IndirectRelationshipInfoDisplayName = value ?? null; } + + /// The day of the month when the invoice for the billing profile is generated. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public int? InvoiceDay { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).InvoiceDay; } + + /// + /// Flag controlling whether the invoices for the billing profile are sent through email. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public bool? InvoiceEmailOptIn { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).InvoiceEmailOptIn; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).InvoiceEmailOptIn = value ?? default(bool); } + + /// + /// Indicates whether there are more invoice sections than the ones listed in this collection. The collection lists a maximum + /// of 50 invoice sections. To get all invoice sections, use the list invoice sections API. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public bool? InvoiceSectionHasMoreResult { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).InvoiceSectionHasMoreResult; } + + /// The invoice sections associated to the billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection[] InvoiceSectionValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).InvoiceSectionValue; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).InvoiceSectionValue = value ?? null /* arrayOf */; } + + /// Internal Acessors for Id + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id = value; } + + /// Internal Acessors for Name + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name = value; } + + /// Internal Acessors for Type + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type = value; } + + /// Internal Acessors for BillTo + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal.BillTo { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).BillTo; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).BillTo = value; } + + /// Internal Acessors for BillingRelationshipType + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingRelationshipType? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal.BillingRelationshipType { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).BillingRelationshipType; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).BillingRelationshipType = value; } + + /// Internal Acessors for Currency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal.Currency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).Currency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).Currency = value; } + + /// Internal Acessors for HasReadAccess + bool? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal.HasReadAccess { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).HasReadAccess; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).HasReadAccess = value; } + + /// Internal Acessors for IndirectRelationshipInfo + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IIndirectRelationshipInfo Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal.IndirectRelationshipInfo { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).IndirectRelationshipInfo; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).IndirectRelationshipInfo = value; } + + /// Internal Acessors for InvoiceDay + int? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal.InvoiceDay { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).InvoiceDay; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).InvoiceDay = value; } + + /// Internal Acessors for InvoiceSection + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionsOnExpand Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal.InvoiceSection { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).InvoiceSection; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).InvoiceSection = value; } + + /// Internal Acessors for InvoiceSectionHasMoreResult + bool? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal.InvoiceSectionHasMoreResult { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).InvoiceSectionHasMoreResult; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).InvoiceSectionHasMoreResult = value; } + + /// Internal Acessors for Property + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileProperties Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal.Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfileProperties()); set { {_property = value;} } } + + /// Internal Acessors for SpendingLimit + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimit? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal.SpendingLimit { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).SpendingLimit; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).SpendingLimit = value; } + + /// Internal Acessors for Status + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal.Status { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).Status; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).Status = value; } + + /// Internal Acessors for StatusReasonCode + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCode? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal.StatusReasonCode { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).StatusReasonCode; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).StatusReasonCode = value; } + + /// Internal Acessors for SystemId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal.SystemId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).SystemId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).SystemId = value; } + + /// Internal Acessors for TargetCloud + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud[] Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInternal.TargetCloud { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).TargetCloud; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).TargetCloud = value; } + + /// Resource name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name; } + + /// + /// The purchase order name that will appear on the invoices generated for the billing profile. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string PoNumber { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).PoNumber; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).PoNumber = value ?? null; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileProperties _property; + + /// The properties of the billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileProperties Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfileProperties()); set => this._property = value; } + + /// The billing profile spending limit. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimit? SpendingLimit { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).SpendingLimit; } + + /// The status of the billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus? Status { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).Status; } + + /// Reason for the specified billing profile status. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCode? StatusReasonCode { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).StatusReasonCode; } + + /// The system generated unique identifier for a billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SystemId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).SystemId; } + + /// Tags of billing profiles. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesTags Tag { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).Tag; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).Tag = value ?? null /* model class */; } + + /// + /// Identifies the cloud environments that are associated with a billing profile. This is a system managed optional field + /// and gets updated as the billing profile gets associated with accounts in various clouds. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud[] TargetCloud { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)Property).TargetCloud; } + + /// Resource type. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type; } + + /// Creates an new instance. + public BillingProfile() + { + + } + + /// Validates that this object meets the validation criteria. + /// an instance that will receive validation + /// events. + /// + /// A that will be complete when validation is completed. + /// + public async global::System.Threading.Tasks.Task Validate(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + await eventListener.AssertNotNull(nameof(__resource), __resource); + await eventListener.AssertObjectIsValid(nameof(__resource), __resource); + } + } + /// A billing profile. + public partial interface IBillingProfile : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource + { + /// Address line 1. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address line 1.", + SerializedName = @"addressLine1", + PossibleTypes = new [] { typeof(string) })] + string BillToAddressLine1 { get; set; } + /// Address line 2. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address line 2.", + SerializedName = @"addressLine2", + PossibleTypes = new [] { typeof(string) })] + string BillToAddressLine2 { get; set; } + /// Address line 3. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address line 3.", + SerializedName = @"addressLine3", + PossibleTypes = new [] { typeof(string) })] + string BillToAddressLine3 { get; set; } + /// Address city. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address city.", + SerializedName = @"city", + PossibleTypes = new [] { typeof(string) })] + string BillToCity { get; set; } + /// Company name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Company name.", + SerializedName = @"companyName", + PossibleTypes = new [] { typeof(string) })] + string BillToCompanyName { get; set; } + /// Country code uses ISO2, 2-digit format. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Country code uses ISO2, 2-digit format.", + SerializedName = @"country", + PossibleTypes = new [] { typeof(string) })] + string BillToCountry { get; set; } + /// Address district. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address district.", + SerializedName = @"district", + PossibleTypes = new [] { typeof(string) })] + string BillToDistrict { get; set; } + /// Email address. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Email address.", + SerializedName = @"email", + PossibleTypes = new [] { typeof(string) })] + string BillToEmail { get; set; } + /// First name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"First name.", + SerializedName = @"firstName", + PossibleTypes = new [] { typeof(string) })] + string BillToFirstName { get; set; } + /// Last name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Last name.", + SerializedName = @"lastName", + PossibleTypes = new [] { typeof(string) })] + string BillToLastName { get; set; } + /// Middle name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Middle name.", + SerializedName = @"middleName", + PossibleTypes = new [] { typeof(string) })] + string BillToMiddleName { get; set; } + /// Phone number. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Phone number.", + SerializedName = @"phoneNumber", + PossibleTypes = new [] { typeof(string) })] + string BillToPhoneNumber { get; set; } + /// Postal code. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Postal code.", + SerializedName = @"postalCode", + PossibleTypes = new [] { typeof(string) })] + string BillToPostalCode { get; set; } + /// Address region. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address region.", + SerializedName = @"region", + PossibleTypes = new [] { typeof(string) })] + string BillToRegion { get; set; } + /// Identifies which services and purchases are paid by a billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Identifies which services and purchases are paid by a billing profile.", + SerializedName = @"billingRelationshipType", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingRelationshipType) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingRelationshipType? BillingRelationshipType { get; } + /// The currency in which the charges for the billing profile are billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The currency in which the charges for the billing profile are billed.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string Currency { get; } + /// The name of the billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the billing profile.", + SerializedName = @"displayName", + PossibleTypes = new [] { typeof(string) })] + string DisplayName { get; set; } + /// Information about the enabled azure plans. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Information about the enabled azure plans.", + SerializedName = @"enabledAzurePlans", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan[] EnabledAzurePlan { get; set; } + /// Indicates whether user has read access to the billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Indicates whether user has read access to the billing profile.", + SerializedName = @"hasReadAccess", + PossibleTypes = new [] { typeof(bool) })] + bool? HasReadAccess { get; } + /// The billing account name of the partner or the customer for an indirect motion. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The billing account name of the partner or the customer for an indirect motion.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + string IndirectRelationshipInfoBillingAccountName { get; set; } + /// The billing profile name of the partner or the customer for an indirect motion. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The billing profile name of the partner or the customer for an indirect motion.", + SerializedName = @"billingProfileName", + PossibleTypes = new [] { typeof(string) })] + string IndirectRelationshipInfoBillingProfileName { get; set; } + /// The display name of the partner or customer for an indirect motion. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The display name of the partner or customer for an indirect motion.", + SerializedName = @"displayName", + PossibleTypes = new [] { typeof(string) })] + string IndirectRelationshipInfoDisplayName { get; set; } + /// The day of the month when the invoice for the billing profile is generated. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The day of the month when the invoice for the billing profile is generated.", + SerializedName = @"invoiceDay", + PossibleTypes = new [] { typeof(int) })] + int? InvoiceDay { get; } + /// + /// Flag controlling whether the invoices for the billing profile are sent through email. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Flag controlling whether the invoices for the billing profile are sent through email.", + SerializedName = @"invoiceEmailOptIn", + PossibleTypes = new [] { typeof(bool) })] + bool? InvoiceEmailOptIn { get; set; } + /// + /// Indicates whether there are more invoice sections than the ones listed in this collection. The collection lists a maximum + /// of 50 invoice sections. To get all invoice sections, use the list invoice sections API. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Indicates whether there are more invoice sections than the ones listed in this collection. The collection lists a maximum of 50 invoice sections. To get all invoice sections, use the list invoice sections API.", + SerializedName = @"hasMoreResults", + PossibleTypes = new [] { typeof(bool) })] + bool? InvoiceSectionHasMoreResult { get; } + /// The invoice sections associated to the billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The invoice sections associated to the billing profile.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection[] InvoiceSectionValue { get; set; } + /// + /// The purchase order name that will appear on the invoices generated for the billing profile. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The purchase order name that will appear on the invoices generated for the billing profile.", + SerializedName = @"poNumber", + PossibleTypes = new [] { typeof(string) })] + string PoNumber { get; set; } + /// The billing profile spending limit. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The billing profile spending limit.", + SerializedName = @"spendingLimit", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimit) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimit? SpendingLimit { get; } + /// The status of the billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The status of the billing profile.", + SerializedName = @"status", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus? Status { get; } + /// Reason for the specified billing profile status. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Reason for the specified billing profile status.", + SerializedName = @"statusReasonCode", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCode) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCode? StatusReasonCode { get; } + /// The system generated unique identifier for a billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The system generated unique identifier for a billing profile.", + SerializedName = @"systemId", + PossibleTypes = new [] { typeof(string) })] + string SystemId { get; } + /// Tags of billing profiles. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Tags of billing profiles.", + SerializedName = @"tags", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesTags) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesTags Tag { get; set; } + /// + /// Identifies the cloud environments that are associated with a billing profile. This is a system managed optional field + /// and gets updated as the billing profile gets associated with accounts in various clouds. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Identifies the cloud environments that are associated with a billing profile. This is a system managed optional field and gets updated as the billing profile gets associated with accounts in various clouds.", + SerializedName = @"targetClouds", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud[] TargetCloud { get; } + + } + /// A billing profile. + internal partial interface IBillingProfileInternal : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal + { + /// Billing address. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails BillTo { get; set; } + /// Address line 1. + string BillToAddressLine1 { get; set; } + /// Address line 2. + string BillToAddressLine2 { get; set; } + /// Address line 3. + string BillToAddressLine3 { get; set; } + /// Address city. + string BillToCity { get; set; } + /// Company name. + string BillToCompanyName { get; set; } + /// Country code uses ISO2, 2-digit format. + string BillToCountry { get; set; } + /// Address district. + string BillToDistrict { get; set; } + /// Email address. + string BillToEmail { get; set; } + /// First name. + string BillToFirstName { get; set; } + /// Last name. + string BillToLastName { get; set; } + /// Middle name. + string BillToMiddleName { get; set; } + /// Phone number. + string BillToPhoneNumber { get; set; } + /// Postal code. + string BillToPostalCode { get; set; } + /// Address region. + string BillToRegion { get; set; } + /// Identifies which services and purchases are paid by a billing profile. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingRelationshipType? BillingRelationshipType { get; set; } + /// The currency in which the charges for the billing profile are billed. + string Currency { get; set; } + /// The name of the billing profile. + string DisplayName { get; set; } + /// Information about the enabled azure plans. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan[] EnabledAzurePlan { get; set; } + /// Indicates whether user has read access to the billing profile. + bool? HasReadAccess { get; set; } + /// + /// Identifies the billing profile that is linked to another billing profile in indirect purchase motion. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IIndirectRelationshipInfo IndirectRelationshipInfo { get; set; } + /// The billing account name of the partner or the customer for an indirect motion. + string IndirectRelationshipInfoBillingAccountName { get; set; } + /// The billing profile name of the partner or the customer for an indirect motion. + string IndirectRelationshipInfoBillingProfileName { get; set; } + /// The display name of the partner or customer for an indirect motion. + string IndirectRelationshipInfoDisplayName { get; set; } + /// The day of the month when the invoice for the billing profile is generated. + int? InvoiceDay { get; set; } + /// + /// Flag controlling whether the invoices for the billing profile are sent through email. + /// + bool? InvoiceEmailOptIn { get; set; } + /// + /// The invoice sections associated to the billing profile. By default this is not populated, unless it's specified in $expand. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionsOnExpand InvoiceSection { get; set; } + /// + /// Indicates whether there are more invoice sections than the ones listed in this collection. The collection lists a maximum + /// of 50 invoice sections. To get all invoice sections, use the list invoice sections API. + /// + bool? InvoiceSectionHasMoreResult { get; set; } + /// The invoice sections associated to the billing profile. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection[] InvoiceSectionValue { get; set; } + /// + /// The purchase order name that will appear on the invoices generated for the billing profile. + /// + string PoNumber { get; set; } + /// The properties of the billing profile. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileProperties Property { get; set; } + /// The billing profile spending limit. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimit? SpendingLimit { get; set; } + /// The status of the billing profile. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus? Status { get; set; } + /// Reason for the specified billing profile status. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCode? StatusReasonCode { get; set; } + /// The system generated unique identifier for a billing profile. + string SystemId { get; set; } + /// Tags of billing profiles. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesTags Tag { get; set; } + /// + /// Identifies the cloud environments that are associated with a billing profile. This is a system managed optional field + /// and gets updated as the billing profile gets associated with accounts in various clouds. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud[] TargetCloud { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingProfile.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfile.json.cs new file mode 100644 index 000000000000..1496f3bca05a --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfile.json.cs @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// A billing profile. + public partial class BillingProfile + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal BillingProfile(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + __resource = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource(json); + {_property = If( json?.PropertyT("properties"), out var __jsonProperties) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfileProperties.FromJson(__jsonProperties) : Property;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new BillingProfile(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + __resource?.ToJson(container, serializationMode); + AddIf( null != this._property ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._property.ToJson(null,serializationMode) : null, "properties" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileCreationRequest.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileCreationRequest.PowerShell.cs new file mode 100644 index 000000000000..bb1f513d0d3b --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileCreationRequest.PowerShell.cs @@ -0,0 +1,290 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The request parameters for creating a new billing profile. + [System.ComponentModel.TypeConverter(typeof(BillingProfileCreationRequestTypeConverter))] + public partial class BillingProfileCreationRequest + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal BillingProfileCreationRequest(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("BillTo")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillTo = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails) content.GetValueForProperty("BillTo",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillTo, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AddressDetailsTypeConverter.ConvertFrom); + } + if (content.Contains("DisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).DisplayName = (string) content.GetValueForProperty("DisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).DisplayName, global::System.Convert.ToString); + } + if (content.Contains("PoNumber")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).PoNumber = (string) content.GetValueForProperty("PoNumber",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).PoNumber, global::System.Convert.ToString); + } + if (content.Contains("InvoiceEmailOptIn")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).InvoiceEmailOptIn = (bool?) content.GetValueForProperty("InvoiceEmailOptIn",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).InvoiceEmailOptIn, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("EnabledAzurePlan")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).EnabledAzurePlan = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan[]) content.GetValueForProperty("EnabledAzurePlan",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).EnabledAzurePlan, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AzurePlanTypeConverter.ConvertFrom)); + } + if (content.Contains("BillToFirstName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToFirstName = (string) content.GetValueForProperty("BillToFirstName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToFirstName, global::System.Convert.ToString); + } + if (content.Contains("BillToMiddleName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToMiddleName = (string) content.GetValueForProperty("BillToMiddleName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToMiddleName, global::System.Convert.ToString); + } + if (content.Contains("BillToLastName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToLastName = (string) content.GetValueForProperty("BillToLastName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToLastName, global::System.Convert.ToString); + } + if (content.Contains("BillToCompanyName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToCompanyName = (string) content.GetValueForProperty("BillToCompanyName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToCompanyName, global::System.Convert.ToString); + } + if (content.Contains("BillToAddressLine1")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToAddressLine1 = (string) content.GetValueForProperty("BillToAddressLine1",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToAddressLine1, global::System.Convert.ToString); + } + if (content.Contains("BillToAddressLine2")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToAddressLine2 = (string) content.GetValueForProperty("BillToAddressLine2",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToAddressLine2, global::System.Convert.ToString); + } + if (content.Contains("BillToAddressLine3")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToAddressLine3 = (string) content.GetValueForProperty("BillToAddressLine3",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToAddressLine3, global::System.Convert.ToString); + } + if (content.Contains("BillToCity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToCity = (string) content.GetValueForProperty("BillToCity",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToCity, global::System.Convert.ToString); + } + if (content.Contains("BillToDistrict")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToDistrict = (string) content.GetValueForProperty("BillToDistrict",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToDistrict, global::System.Convert.ToString); + } + if (content.Contains("BillToRegion")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToRegion = (string) content.GetValueForProperty("BillToRegion",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToRegion, global::System.Convert.ToString); + } + if (content.Contains("BillToCountry")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToCountry = (string) content.GetValueForProperty("BillToCountry",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToCountry, global::System.Convert.ToString); + } + if (content.Contains("BillToPostalCode")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToPostalCode = (string) content.GetValueForProperty("BillToPostalCode",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToPostalCode, global::System.Convert.ToString); + } + if (content.Contains("BillToEmail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToEmail = (string) content.GetValueForProperty("BillToEmail",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToEmail, global::System.Convert.ToString); + } + if (content.Contains("BillToPhoneNumber")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToPhoneNumber = (string) content.GetValueForProperty("BillToPhoneNumber",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToPhoneNumber, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal BillingProfileCreationRequest(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("BillTo")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillTo = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails) content.GetValueForProperty("BillTo",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillTo, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AddressDetailsTypeConverter.ConvertFrom); + } + if (content.Contains("DisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).DisplayName = (string) content.GetValueForProperty("DisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).DisplayName, global::System.Convert.ToString); + } + if (content.Contains("PoNumber")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).PoNumber = (string) content.GetValueForProperty("PoNumber",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).PoNumber, global::System.Convert.ToString); + } + if (content.Contains("InvoiceEmailOptIn")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).InvoiceEmailOptIn = (bool?) content.GetValueForProperty("InvoiceEmailOptIn",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).InvoiceEmailOptIn, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("EnabledAzurePlan")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).EnabledAzurePlan = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan[]) content.GetValueForProperty("EnabledAzurePlan",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).EnabledAzurePlan, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AzurePlanTypeConverter.ConvertFrom)); + } + if (content.Contains("BillToFirstName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToFirstName = (string) content.GetValueForProperty("BillToFirstName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToFirstName, global::System.Convert.ToString); + } + if (content.Contains("BillToMiddleName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToMiddleName = (string) content.GetValueForProperty("BillToMiddleName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToMiddleName, global::System.Convert.ToString); + } + if (content.Contains("BillToLastName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToLastName = (string) content.GetValueForProperty("BillToLastName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToLastName, global::System.Convert.ToString); + } + if (content.Contains("BillToCompanyName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToCompanyName = (string) content.GetValueForProperty("BillToCompanyName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToCompanyName, global::System.Convert.ToString); + } + if (content.Contains("BillToAddressLine1")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToAddressLine1 = (string) content.GetValueForProperty("BillToAddressLine1",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToAddressLine1, global::System.Convert.ToString); + } + if (content.Contains("BillToAddressLine2")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToAddressLine2 = (string) content.GetValueForProperty("BillToAddressLine2",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToAddressLine2, global::System.Convert.ToString); + } + if (content.Contains("BillToAddressLine3")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToAddressLine3 = (string) content.GetValueForProperty("BillToAddressLine3",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToAddressLine3, global::System.Convert.ToString); + } + if (content.Contains("BillToCity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToCity = (string) content.GetValueForProperty("BillToCity",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToCity, global::System.Convert.ToString); + } + if (content.Contains("BillToDistrict")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToDistrict = (string) content.GetValueForProperty("BillToDistrict",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToDistrict, global::System.Convert.ToString); + } + if (content.Contains("BillToRegion")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToRegion = (string) content.GetValueForProperty("BillToRegion",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToRegion, global::System.Convert.ToString); + } + if (content.Contains("BillToCountry")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToCountry = (string) content.GetValueForProperty("BillToCountry",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToCountry, global::System.Convert.ToString); + } + if (content.Contains("BillToPostalCode")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToPostalCode = (string) content.GetValueForProperty("BillToPostalCode",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToPostalCode, global::System.Convert.ToString); + } + if (content.Contains("BillToEmail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToEmail = (string) content.GetValueForProperty("BillToEmail",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToEmail, global::System.Convert.ToString); + } + if (content.Contains("BillToPhoneNumber")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToPhoneNumber = (string) content.GetValueForProperty("BillToPhoneNumber",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal)this).BillToPhoneNumber, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequest DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new BillingProfileCreationRequest(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequest DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new BillingProfileCreationRequest(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequest FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The request parameters for creating a new billing profile. + [System.ComponentModel.TypeConverter(typeof(BillingProfileCreationRequestTypeConverter))] + public partial interface IBillingProfileCreationRequest + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileCreationRequest.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileCreationRequest.TypeConverter.cs new file mode 100644 index 000000000000..acb173562c61 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileCreationRequest.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class BillingProfileCreationRequestTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequest ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequest).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return BillingProfileCreationRequest.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return BillingProfileCreationRequest.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return BillingProfileCreationRequest.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileCreationRequest.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileCreationRequest.cs new file mode 100644 index 000000000000..e2fd25435a8d --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileCreationRequest.cs @@ -0,0 +1,326 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The request parameters for creating a new billing profile. + public partial class BillingProfileCreationRequest : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequest, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal + { + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails _billTo; + + /// + /// The address of the individual or organization that is responsible for the billing profile. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails BillTo { get => (this._billTo = this._billTo ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AddressDetails()); set => this._billTo = value; } + + /// Address line 1. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToAddressLine1 { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).AddressLine1; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).AddressLine1 = value ?? null; } + + /// Address line 2. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToAddressLine2 { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).AddressLine2; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).AddressLine2 = value ?? null; } + + /// Address line 3. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToAddressLine3 { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).AddressLine3; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).AddressLine3 = value ?? null; } + + /// Address city. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToCity { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).City; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).City = value ?? null; } + + /// Company name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToCompanyName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).CompanyName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).CompanyName = value ?? null; } + + /// Country code uses ISO2, 2-digit format. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToCountry { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).Country; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).Country = value ?? null; } + + /// Address district. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToDistrict { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).District; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).District = value ?? null; } + + /// Email address. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToEmail { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).Email; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).Email = value ?? null; } + + /// First name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToFirstName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).FirstName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).FirstName = value ?? null; } + + /// Last name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToLastName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).LastName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).LastName = value ?? null; } + + /// Middle name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToMiddleName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).MiddleName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).MiddleName = value ?? null; } + + /// Phone number. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToPhoneNumber { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).PhoneNumber; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).PhoneNumber = value ?? null; } + + /// Postal code. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToPostalCode { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).PostalCode; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).PostalCode = value ?? null; } + + /// Address region. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToRegion { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).Region; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).Region = value ?? null; } + + /// Backing field for property. + private string _displayName; + + /// The name of the billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string DisplayName { get => this._displayName; set => this._displayName = value; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan[] _enabledAzurePlan; + + /// Enabled azure plans for the billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan[] EnabledAzurePlan { get => this._enabledAzurePlan; set => this._enabledAzurePlan = value; } + + /// Backing field for property. + private bool? _invoiceEmailOptIn; + + /// + /// Flag controlling whether the invoices for the billing profile are sent through email. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public bool? InvoiceEmailOptIn { get => this._invoiceEmailOptIn; set => this._invoiceEmailOptIn = value; } + + /// Internal Acessors for BillTo + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequestInternal.BillTo { get => (this._billTo = this._billTo ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AddressDetails()); set { {_billTo = value;} } } + + /// Backing field for property. + private string _poNumber; + + /// + /// The purchase order name that will appear on the invoices generated for the billing profile. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string PoNumber { get => this._poNumber; set => this._poNumber = value; } + + /// Creates an new instance. + public BillingProfileCreationRequest() + { + + } + } + /// The request parameters for creating a new billing profile. + public partial interface IBillingProfileCreationRequest : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// Address line 1. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address line 1.", + SerializedName = @"addressLine1", + PossibleTypes = new [] { typeof(string) })] + string BillToAddressLine1 { get; set; } + /// Address line 2. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address line 2.", + SerializedName = @"addressLine2", + PossibleTypes = new [] { typeof(string) })] + string BillToAddressLine2 { get; set; } + /// Address line 3. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address line 3.", + SerializedName = @"addressLine3", + PossibleTypes = new [] { typeof(string) })] + string BillToAddressLine3 { get; set; } + /// Address city. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address city.", + SerializedName = @"city", + PossibleTypes = new [] { typeof(string) })] + string BillToCity { get; set; } + /// Company name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Company name.", + SerializedName = @"companyName", + PossibleTypes = new [] { typeof(string) })] + string BillToCompanyName { get; set; } + /// Country code uses ISO2, 2-digit format. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Country code uses ISO2, 2-digit format.", + SerializedName = @"country", + PossibleTypes = new [] { typeof(string) })] + string BillToCountry { get; set; } + /// Address district. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address district.", + SerializedName = @"district", + PossibleTypes = new [] { typeof(string) })] + string BillToDistrict { get; set; } + /// Email address. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Email address.", + SerializedName = @"email", + PossibleTypes = new [] { typeof(string) })] + string BillToEmail { get; set; } + /// First name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"First name.", + SerializedName = @"firstName", + PossibleTypes = new [] { typeof(string) })] + string BillToFirstName { get; set; } + /// Last name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Last name.", + SerializedName = @"lastName", + PossibleTypes = new [] { typeof(string) })] + string BillToLastName { get; set; } + /// Middle name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Middle name.", + SerializedName = @"middleName", + PossibleTypes = new [] { typeof(string) })] + string BillToMiddleName { get; set; } + /// Phone number. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Phone number.", + SerializedName = @"phoneNumber", + PossibleTypes = new [] { typeof(string) })] + string BillToPhoneNumber { get; set; } + /// Postal code. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Postal code.", + SerializedName = @"postalCode", + PossibleTypes = new [] { typeof(string) })] + string BillToPostalCode { get; set; } + /// Address region. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address region.", + SerializedName = @"region", + PossibleTypes = new [] { typeof(string) })] + string BillToRegion { get; set; } + /// The name of the billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the billing profile.", + SerializedName = @"displayName", + PossibleTypes = new [] { typeof(string) })] + string DisplayName { get; set; } + /// Enabled azure plans for the billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Enabled azure plans for the billing profile.", + SerializedName = @"enabledAzurePlans", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan[] EnabledAzurePlan { get; set; } + /// + /// Flag controlling whether the invoices for the billing profile are sent through email. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Flag controlling whether the invoices for the billing profile are sent through email.", + SerializedName = @"invoiceEmailOptIn", + PossibleTypes = new [] { typeof(bool) })] + bool? InvoiceEmailOptIn { get; set; } + /// + /// The purchase order name that will appear on the invoices generated for the billing profile. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The purchase order name that will appear on the invoices generated for the billing profile.", + SerializedName = @"poNumber", + PossibleTypes = new [] { typeof(string) })] + string PoNumber { get; set; } + + } + /// The request parameters for creating a new billing profile. + internal partial interface IBillingProfileCreationRequestInternal + + { + /// + /// The address of the individual or organization that is responsible for the billing profile. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails BillTo { get; set; } + /// Address line 1. + string BillToAddressLine1 { get; set; } + /// Address line 2. + string BillToAddressLine2 { get; set; } + /// Address line 3. + string BillToAddressLine3 { get; set; } + /// Address city. + string BillToCity { get; set; } + /// Company name. + string BillToCompanyName { get; set; } + /// Country code uses ISO2, 2-digit format. + string BillToCountry { get; set; } + /// Address district. + string BillToDistrict { get; set; } + /// Email address. + string BillToEmail { get; set; } + /// First name. + string BillToFirstName { get; set; } + /// Last name. + string BillToLastName { get; set; } + /// Middle name. + string BillToMiddleName { get; set; } + /// Phone number. + string BillToPhoneNumber { get; set; } + /// Postal code. + string BillToPostalCode { get; set; } + /// Address region. + string BillToRegion { get; set; } + /// The name of the billing profile. + string DisplayName { get; set; } + /// Enabled azure plans for the billing profile. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan[] EnabledAzurePlan { get; set; } + /// + /// Flag controlling whether the invoices for the billing profile are sent through email. + /// + bool? InvoiceEmailOptIn { get; set; } + /// + /// The purchase order name that will appear on the invoices generated for the billing profile. + /// + string PoNumber { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileCreationRequest.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileCreationRequest.json.cs new file mode 100644 index 000000000000..8a6dbaa40c26 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileCreationRequest.json.cs @@ -0,0 +1,124 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The request parameters for creating a new billing profile. + public partial class BillingProfileCreationRequest + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal BillingProfileCreationRequest(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_billTo = If( json?.PropertyT("billTo"), out var __jsonBillTo) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AddressDetails.FromJson(__jsonBillTo) : BillTo;} + {_displayName = If( json?.PropertyT("displayName"), out var __jsonDisplayName) ? (string)__jsonDisplayName : (string)DisplayName;} + {_poNumber = If( json?.PropertyT("poNumber"), out var __jsonPoNumber) ? (string)__jsonPoNumber : (string)PoNumber;} + {_invoiceEmailOptIn = If( json?.PropertyT("invoiceEmailOptIn"), out var __jsonInvoiceEmailOptIn) ? (bool?)__jsonInvoiceEmailOptIn : InvoiceEmailOptIn;} + {_enabledAzurePlan = If( json?.PropertyT("enabledAzurePlans"), out var __jsonEnabledAzurePlans) ? If( __jsonEnabledAzurePlans as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan) (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AzurePlan.FromJson(__u) )) ))() : null : EnabledAzurePlan;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequest. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequest. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileCreationRequest FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new BillingProfileCreationRequest(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != this._billTo ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._billTo.ToJson(null,serializationMode) : null, "billTo" ,container.Add ); + AddIf( null != (((object)this._displayName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._displayName.ToString()) : null, "displayName" ,container.Add ); + AddIf( null != (((object)this._poNumber)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._poNumber.ToString()) : null, "poNumber" ,container.Add ); + AddIf( null != this._invoiceEmailOptIn ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonBoolean((bool)this._invoiceEmailOptIn) : null, "invoiceEmailOptIn" ,container.Add ); + if (null != this._enabledAzurePlan) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(); + foreach( var __x in this._enabledAzurePlan ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("enabledAzurePlans",__w); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileInfo.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileInfo.PowerShell.cs new file mode 100644 index 000000000000..a08e640e8cc7 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileInfo.PowerShell.cs @@ -0,0 +1,162 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// Details about billing profile associated with agreement and available only for specific agreements. + /// + [System.ComponentModel.TypeConverter(typeof(BillingProfileInfoTypeConverter))] + public partial class BillingProfileInfo + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal BillingProfileInfo(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("BillingProfileId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInfoInternal)this).BillingProfileId = (string) content.GetValueForProperty("BillingProfileId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInfoInternal)this).BillingProfileId, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInfoInternal)this).BillingProfileDisplayName = (string) content.GetValueForProperty("BillingProfileDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInfoInternal)this).BillingProfileDisplayName, global::System.Convert.ToString); + } + if (content.Contains("IndirectRelationshipOrganizationName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInfoInternal)this).IndirectRelationshipOrganizationName = (string) content.GetValueForProperty("IndirectRelationshipOrganizationName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInfoInternal)this).IndirectRelationshipOrganizationName, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal BillingProfileInfo(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("BillingProfileId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInfoInternal)this).BillingProfileId = (string) content.GetValueForProperty("BillingProfileId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInfoInternal)this).BillingProfileId, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInfoInternal)this).BillingProfileDisplayName = (string) content.GetValueForProperty("BillingProfileDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInfoInternal)this).BillingProfileDisplayName, global::System.Convert.ToString); + } + if (content.Contains("IndirectRelationshipOrganizationName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInfoInternal)this).IndirectRelationshipOrganizationName = (string) content.GetValueForProperty("IndirectRelationshipOrganizationName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInfoInternal)this).IndirectRelationshipOrganizationName, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInfo DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new BillingProfileInfo(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInfo DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new BillingProfileInfo(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInfo FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Details about billing profile associated with agreement and available only for specific agreements. + [System.ComponentModel.TypeConverter(typeof(BillingProfileInfoTypeConverter))] + public partial interface IBillingProfileInfo + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileInfo.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileInfo.TypeConverter.cs new file mode 100644 index 000000000000..fb2357fc3063 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileInfo.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class BillingProfileInfoTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInfo ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInfo).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return BillingProfileInfo.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return BillingProfileInfo.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return BillingProfileInfo.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileInfo.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileInfo.cs new file mode 100644 index 000000000000..222f510c7c54 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileInfo.cs @@ -0,0 +1,93 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// + /// Details about billing profile associated with agreement and available only for specific agreements. + /// + public partial class BillingProfileInfo : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInfo, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInfoInternal + { + + /// Backing field for property. + private string _billingProfileDisplayName; + + /// The name of the billing profile + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string BillingProfileDisplayName { get => this._billingProfileDisplayName; set => this._billingProfileDisplayName = value; } + + /// Backing field for property. + private string _billingProfileId; + + /// The unique identifier for the billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string BillingProfileId { get => this._billingProfileId; set => this._billingProfileId = value; } + + /// Backing field for property. + private string _indirectRelationshipOrganizationName; + + /// + /// Billing account name. This property is available for a specific type of agreement. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string IndirectRelationshipOrganizationName { get => this._indirectRelationshipOrganizationName; set => this._indirectRelationshipOrganizationName = value; } + + /// Creates an new instance. + public BillingProfileInfo() + { + + } + } + /// Details about billing profile associated with agreement and available only for specific agreements. + public partial interface IBillingProfileInfo : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The name of the billing profile + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the billing profile", + SerializedName = @"billingProfileDisplayName", + PossibleTypes = new [] { typeof(string) })] + string BillingProfileDisplayName { get; set; } + /// The unique identifier for the billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The unique identifier for the billing profile.", + SerializedName = @"billingProfileId", + PossibleTypes = new [] { typeof(string) })] + string BillingProfileId { get; set; } + /// + /// Billing account name. This property is available for a specific type of agreement. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Billing account name. This property is available for a specific type of agreement.", + SerializedName = @"indirectRelationshipOrganizationName", + PossibleTypes = new [] { typeof(string) })] + string IndirectRelationshipOrganizationName { get; set; } + + } + /// Details about billing profile associated with agreement and available only for specific agreements. + internal partial interface IBillingProfileInfoInternal + + { + /// The name of the billing profile + string BillingProfileDisplayName { get; set; } + /// The unique identifier for the billing profile. + string BillingProfileId { get; set; } + /// + /// Billing account name. This property is available for a specific type of agreement. + /// + string IndirectRelationshipOrganizationName { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileInfo.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileInfo.json.cs new file mode 100644 index 000000000000..4bd2a44394db --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileInfo.json.cs @@ -0,0 +1,114 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// + /// Details about billing profile associated with agreement and available only for specific agreements. + /// + public partial class BillingProfileInfo + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal BillingProfileInfo(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_billingProfileId = If( json?.PropertyT("billingProfileId"), out var __jsonBillingProfileId) ? (string)__jsonBillingProfileId : (string)BillingProfileId;} + {_billingProfileDisplayName = If( json?.PropertyT("billingProfileDisplayName"), out var __jsonBillingProfileDisplayName) ? (string)__jsonBillingProfileDisplayName : (string)BillingProfileDisplayName;} + {_indirectRelationshipOrganizationName = If( json?.PropertyT("indirectRelationshipOrganizationName"), out var __jsonIndirectRelationshipOrganizationName) ? (string)__jsonIndirectRelationshipOrganizationName : (string)IndirectRelationshipOrganizationName;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInfo. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInfo. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileInfo FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new BillingProfileInfo(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != (((object)this._billingProfileId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._billingProfileId.ToString()) : null, "billingProfileId" ,container.Add ); + AddIf( null != (((object)this._billingProfileDisplayName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._billingProfileDisplayName.ToString()) : null, "billingProfileDisplayName" ,container.Add ); + AddIf( null != (((object)this._indirectRelationshipOrganizationName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._indirectRelationshipOrganizationName.ToString()) : null, "indirectRelationshipOrganizationName" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileListResult.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileListResult.PowerShell.cs new file mode 100644 index 000000000000..e4347b63b296 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileListResult.PowerShell.cs @@ -0,0 +1,160 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The list of billing profiles. + [System.ComponentModel.TypeConverter(typeof(BillingProfileListResultTypeConverter))] + public partial class BillingProfileListResult + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal BillingProfileListResult(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfileTypeConverter.ConvertFrom)); + } + if (content.Contains("TotalCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileListResultInternal)this).TotalCount = (int?) content.GetValueForProperty("TotalCount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileListResultInternal)this).TotalCount, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileListResultInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal BillingProfileListResult(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfileTypeConverter.ConvertFrom)); + } + if (content.Contains("TotalCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileListResultInternal)this).TotalCount = (int?) content.GetValueForProperty("TotalCount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileListResultInternal)this).TotalCount, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileListResultInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileListResult DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new BillingProfileListResult(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileListResult DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new BillingProfileListResult(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileListResult FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The list of billing profiles. + [System.ComponentModel.TypeConverter(typeof(BillingProfileListResultTypeConverter))] + public partial interface IBillingProfileListResult + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileListResult.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileListResult.TypeConverter.cs new file mode 100644 index 000000000000..cd73aa82d6de --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileListResult.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class BillingProfileListResultTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileListResult ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileListResult).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return BillingProfileListResult.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return BillingProfileListResult.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return BillingProfileListResult.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileListResult.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileListResult.cs new file mode 100644 index 000000000000..5867995c9bff --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileListResult.cs @@ -0,0 +1,94 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The list of billing profiles. + public partial class BillingProfileListResult : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileListResult, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileListResultInternal + { + + /// Internal Acessors for NextLink + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileListResultInternal.NextLink { get => this._nextLink; set { {_nextLink = value;} } } + + /// Internal Acessors for TotalCount + int? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileListResultInternal.TotalCount { get => this._totalCount; set { {_totalCount = value;} } } + + /// Internal Acessors for Value + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile[] Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileListResultInternal.Value { get => this._value; set { {_value = value;} } } + + /// Backing field for property. + private string _nextLink; + + /// The link (url) to the next page of results. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string NextLink { get => this._nextLink; } + + /// Backing field for property. + private int? _totalCount; + + /// Total number of records. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public int? TotalCount { get => this._totalCount; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile[] _value; + + /// The list of billing profiles. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile[] Value { get => this._value; } + + /// Creates an new instance. + public BillingProfileListResult() + { + + } + } + /// The list of billing profiles. + public partial interface IBillingProfileListResult : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The link (url) to the next page of results. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The link (url) to the next page of results.", + SerializedName = @"nextLink", + PossibleTypes = new [] { typeof(string) })] + string NextLink { get; } + /// Total number of records. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Total number of records.", + SerializedName = @"totalCount", + PossibleTypes = new [] { typeof(int) })] + int? TotalCount { get; } + /// The list of billing profiles. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The list of billing profiles.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile[] Value { get; } + + } + /// The list of billing profiles. + internal partial interface IBillingProfileListResultInternal + + { + /// The link (url) to the next page of results. + string NextLink { get; set; } + /// Total number of records. + int? TotalCount { get; set; } + /// The list of billing profiles. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile[] Value { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileListResult.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileListResult.json.cs new file mode 100644 index 000000000000..7440bd3d79fa --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileListResult.json.cs @@ -0,0 +1,129 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The list of billing profiles. + public partial class BillingProfileListResult + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal BillingProfileListResult(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_value = If( json?.PropertyT("value"), out var __jsonValue) ? If( __jsonValue as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile) (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfile.FromJson(__u) )) ))() : null : Value;} + {_totalCount = If( json?.PropertyT("totalCount"), out var __jsonTotalCount) ? (int?)__jsonTotalCount : TotalCount;} + {_nextLink = If( json?.PropertyT("nextLink"), out var __jsonNextLink) ? (string)__jsonNextLink : (string)NextLink;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileListResult. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileListResult. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileListResult FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new BillingProfileListResult(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + if (null != this._value) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(); + foreach( var __x in this._value ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("value",__w); + } + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._totalCount ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNumber((int)this._totalCount) : null, "totalCount" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._nextLink)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._nextLink.ToString()) : null, "nextLink" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileProperties.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileProperties.PowerShell.cs new file mode 100644 index 000000000000..b813f8faaa11 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileProperties.PowerShell.cs @@ -0,0 +1,424 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The properties of the billing profile. + [System.ComponentModel.TypeConverter(typeof(BillingProfilePropertiesTypeConverter))] + public partial class BillingProfileProperties + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal BillingProfileProperties(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("BillTo")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillTo = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails) content.GetValueForProperty("BillTo",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillTo, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AddressDetailsTypeConverter.ConvertFrom); + } + if (content.Contains("IndirectRelationshipInfo")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).IndirectRelationshipInfo = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IIndirectRelationshipInfo) content.GetValueForProperty("IndirectRelationshipInfo",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).IndirectRelationshipInfo, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IndirectRelationshipInfoTypeConverter.ConvertFrom); + } + if (content.Contains("InvoiceSection")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).InvoiceSection = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionsOnExpand) content.GetValueForProperty("InvoiceSection",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).InvoiceSection, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionsOnExpandTypeConverter.ConvertFrom); + } + if (content.Contains("DisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).DisplayName = (string) content.GetValueForProperty("DisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).DisplayName, global::System.Convert.ToString); + } + if (content.Contains("PoNumber")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).PoNumber = (string) content.GetValueForProperty("PoNumber",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).PoNumber, global::System.Convert.ToString); + } + if (content.Contains("BillingRelationshipType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillingRelationshipType = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingRelationshipType?) content.GetValueForProperty("BillingRelationshipType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillingRelationshipType, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingRelationshipType.CreateFrom); + } + if (content.Contains("InvoiceEmailOptIn")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).InvoiceEmailOptIn = (bool?) content.GetValueForProperty("InvoiceEmailOptIn",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).InvoiceEmailOptIn, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("InvoiceDay")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).InvoiceDay = (int?) content.GetValueForProperty("InvoiceDay",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).InvoiceDay, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("Currency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).Currency = (string) content.GetValueForProperty("Currency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).Currency, global::System.Convert.ToString); + } + if (content.Contains("EnabledAzurePlan")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).EnabledAzurePlan = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan[]) content.GetValueForProperty("EnabledAzurePlan",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).EnabledAzurePlan, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AzurePlanTypeConverter.ConvertFrom)); + } + if (content.Contains("HasReadAccess")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).HasReadAccess = (bool?) content.GetValueForProperty("HasReadAccess",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).HasReadAccess, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("SystemId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).SystemId = (string) content.GetValueForProperty("SystemId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).SystemId, global::System.Convert.ToString); + } + if (content.Contains("Status")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).Status = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus?) content.GetValueForProperty("Status",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).Status, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus.CreateFrom); + } + if (content.Contains("StatusReasonCode")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).StatusReasonCode = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCode?) content.GetValueForProperty("StatusReasonCode",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).StatusReasonCode, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCode.CreateFrom); + } + if (content.Contains("SpendingLimit")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).SpendingLimit = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimit?) content.GetValueForProperty("SpendingLimit",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).SpendingLimit, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimit.CreateFrom); + } + if (content.Contains("TargetCloud")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).TargetCloud = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud[]) content.GetValueForProperty("TargetCloud",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).TargetCloud, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud.CreateFrom)); + } + if (content.Contains("Tag")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).Tag = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesTags) content.GetValueForProperty("Tag",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).Tag, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfilePropertiesTagsTypeConverter.ConvertFrom); + } + if (content.Contains("IndirectRelationshipInfoDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).IndirectRelationshipInfoDisplayName = (string) content.GetValueForProperty("IndirectRelationshipInfoDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).IndirectRelationshipInfoDisplayName, global::System.Convert.ToString); + } + if (content.Contains("BillToFirstName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToFirstName = (string) content.GetValueForProperty("BillToFirstName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToFirstName, global::System.Convert.ToString); + } + if (content.Contains("BillToMiddleName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToMiddleName = (string) content.GetValueForProperty("BillToMiddleName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToMiddleName, global::System.Convert.ToString); + } + if (content.Contains("BillToLastName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToLastName = (string) content.GetValueForProperty("BillToLastName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToLastName, global::System.Convert.ToString); + } + if (content.Contains("BillToCompanyName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToCompanyName = (string) content.GetValueForProperty("BillToCompanyName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToCompanyName, global::System.Convert.ToString); + } + if (content.Contains("BillToAddressLine1")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToAddressLine1 = (string) content.GetValueForProperty("BillToAddressLine1",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToAddressLine1, global::System.Convert.ToString); + } + if (content.Contains("BillToAddressLine2")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToAddressLine2 = (string) content.GetValueForProperty("BillToAddressLine2",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToAddressLine2, global::System.Convert.ToString); + } + if (content.Contains("BillToAddressLine3")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToAddressLine3 = (string) content.GetValueForProperty("BillToAddressLine3",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToAddressLine3, global::System.Convert.ToString); + } + if (content.Contains("BillToCity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToCity = (string) content.GetValueForProperty("BillToCity",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToCity, global::System.Convert.ToString); + } + if (content.Contains("BillToDistrict")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToDistrict = (string) content.GetValueForProperty("BillToDistrict",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToDistrict, global::System.Convert.ToString); + } + if (content.Contains("BillToRegion")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToRegion = (string) content.GetValueForProperty("BillToRegion",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToRegion, global::System.Convert.ToString); + } + if (content.Contains("BillToCountry")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToCountry = (string) content.GetValueForProperty("BillToCountry",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToCountry, global::System.Convert.ToString); + } + if (content.Contains("BillToPostalCode")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToPostalCode = (string) content.GetValueForProperty("BillToPostalCode",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToPostalCode, global::System.Convert.ToString); + } + if (content.Contains("BillToEmail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToEmail = (string) content.GetValueForProperty("BillToEmail",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToEmail, global::System.Convert.ToString); + } + if (content.Contains("BillToPhoneNumber")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToPhoneNumber = (string) content.GetValueForProperty("BillToPhoneNumber",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToPhoneNumber, global::System.Convert.ToString); + } + if (content.Contains("IndirectRelationshipInfoBillingAccountName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).IndirectRelationshipInfoBillingAccountName = (string) content.GetValueForProperty("IndirectRelationshipInfoBillingAccountName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).IndirectRelationshipInfoBillingAccountName, global::System.Convert.ToString); + } + if (content.Contains("IndirectRelationshipInfoBillingProfileName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).IndirectRelationshipInfoBillingProfileName = (string) content.GetValueForProperty("IndirectRelationshipInfoBillingProfileName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).IndirectRelationshipInfoBillingProfileName, global::System.Convert.ToString); + } + if (content.Contains("InvoiceSectionHasMoreResult")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).InvoiceSectionHasMoreResult = (bool?) content.GetValueForProperty("InvoiceSectionHasMoreResult",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).InvoiceSectionHasMoreResult, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("InvoiceSectionValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).InvoiceSectionValue = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection[]) content.GetValueForProperty("InvoiceSectionValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).InvoiceSectionValue, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionTypeConverter.ConvertFrom)); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal BillingProfileProperties(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("BillTo")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillTo = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails) content.GetValueForProperty("BillTo",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillTo, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AddressDetailsTypeConverter.ConvertFrom); + } + if (content.Contains("IndirectRelationshipInfo")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).IndirectRelationshipInfo = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IIndirectRelationshipInfo) content.GetValueForProperty("IndirectRelationshipInfo",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).IndirectRelationshipInfo, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IndirectRelationshipInfoTypeConverter.ConvertFrom); + } + if (content.Contains("InvoiceSection")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).InvoiceSection = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionsOnExpand) content.GetValueForProperty("InvoiceSection",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).InvoiceSection, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionsOnExpandTypeConverter.ConvertFrom); + } + if (content.Contains("DisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).DisplayName = (string) content.GetValueForProperty("DisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).DisplayName, global::System.Convert.ToString); + } + if (content.Contains("PoNumber")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).PoNumber = (string) content.GetValueForProperty("PoNumber",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).PoNumber, global::System.Convert.ToString); + } + if (content.Contains("BillingRelationshipType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillingRelationshipType = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingRelationshipType?) content.GetValueForProperty("BillingRelationshipType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillingRelationshipType, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingRelationshipType.CreateFrom); + } + if (content.Contains("InvoiceEmailOptIn")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).InvoiceEmailOptIn = (bool?) content.GetValueForProperty("InvoiceEmailOptIn",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).InvoiceEmailOptIn, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("InvoiceDay")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).InvoiceDay = (int?) content.GetValueForProperty("InvoiceDay",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).InvoiceDay, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("Currency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).Currency = (string) content.GetValueForProperty("Currency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).Currency, global::System.Convert.ToString); + } + if (content.Contains("EnabledAzurePlan")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).EnabledAzurePlan = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan[]) content.GetValueForProperty("EnabledAzurePlan",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).EnabledAzurePlan, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AzurePlanTypeConverter.ConvertFrom)); + } + if (content.Contains("HasReadAccess")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).HasReadAccess = (bool?) content.GetValueForProperty("HasReadAccess",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).HasReadAccess, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("SystemId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).SystemId = (string) content.GetValueForProperty("SystemId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).SystemId, global::System.Convert.ToString); + } + if (content.Contains("Status")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).Status = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus?) content.GetValueForProperty("Status",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).Status, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus.CreateFrom); + } + if (content.Contains("StatusReasonCode")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).StatusReasonCode = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCode?) content.GetValueForProperty("StatusReasonCode",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).StatusReasonCode, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCode.CreateFrom); + } + if (content.Contains("SpendingLimit")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).SpendingLimit = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimit?) content.GetValueForProperty("SpendingLimit",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).SpendingLimit, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimit.CreateFrom); + } + if (content.Contains("TargetCloud")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).TargetCloud = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud[]) content.GetValueForProperty("TargetCloud",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).TargetCloud, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud.CreateFrom)); + } + if (content.Contains("Tag")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).Tag = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesTags) content.GetValueForProperty("Tag",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).Tag, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfilePropertiesTagsTypeConverter.ConvertFrom); + } + if (content.Contains("IndirectRelationshipInfoDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).IndirectRelationshipInfoDisplayName = (string) content.GetValueForProperty("IndirectRelationshipInfoDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).IndirectRelationshipInfoDisplayName, global::System.Convert.ToString); + } + if (content.Contains("BillToFirstName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToFirstName = (string) content.GetValueForProperty("BillToFirstName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToFirstName, global::System.Convert.ToString); + } + if (content.Contains("BillToMiddleName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToMiddleName = (string) content.GetValueForProperty("BillToMiddleName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToMiddleName, global::System.Convert.ToString); + } + if (content.Contains("BillToLastName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToLastName = (string) content.GetValueForProperty("BillToLastName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToLastName, global::System.Convert.ToString); + } + if (content.Contains("BillToCompanyName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToCompanyName = (string) content.GetValueForProperty("BillToCompanyName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToCompanyName, global::System.Convert.ToString); + } + if (content.Contains("BillToAddressLine1")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToAddressLine1 = (string) content.GetValueForProperty("BillToAddressLine1",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToAddressLine1, global::System.Convert.ToString); + } + if (content.Contains("BillToAddressLine2")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToAddressLine2 = (string) content.GetValueForProperty("BillToAddressLine2",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToAddressLine2, global::System.Convert.ToString); + } + if (content.Contains("BillToAddressLine3")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToAddressLine3 = (string) content.GetValueForProperty("BillToAddressLine3",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToAddressLine3, global::System.Convert.ToString); + } + if (content.Contains("BillToCity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToCity = (string) content.GetValueForProperty("BillToCity",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToCity, global::System.Convert.ToString); + } + if (content.Contains("BillToDistrict")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToDistrict = (string) content.GetValueForProperty("BillToDistrict",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToDistrict, global::System.Convert.ToString); + } + if (content.Contains("BillToRegion")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToRegion = (string) content.GetValueForProperty("BillToRegion",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToRegion, global::System.Convert.ToString); + } + if (content.Contains("BillToCountry")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToCountry = (string) content.GetValueForProperty("BillToCountry",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToCountry, global::System.Convert.ToString); + } + if (content.Contains("BillToPostalCode")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToPostalCode = (string) content.GetValueForProperty("BillToPostalCode",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToPostalCode, global::System.Convert.ToString); + } + if (content.Contains("BillToEmail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToEmail = (string) content.GetValueForProperty("BillToEmail",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToEmail, global::System.Convert.ToString); + } + if (content.Contains("BillToPhoneNumber")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToPhoneNumber = (string) content.GetValueForProperty("BillToPhoneNumber",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).BillToPhoneNumber, global::System.Convert.ToString); + } + if (content.Contains("IndirectRelationshipInfoBillingAccountName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).IndirectRelationshipInfoBillingAccountName = (string) content.GetValueForProperty("IndirectRelationshipInfoBillingAccountName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).IndirectRelationshipInfoBillingAccountName, global::System.Convert.ToString); + } + if (content.Contains("IndirectRelationshipInfoBillingProfileName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).IndirectRelationshipInfoBillingProfileName = (string) content.GetValueForProperty("IndirectRelationshipInfoBillingProfileName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).IndirectRelationshipInfoBillingProfileName, global::System.Convert.ToString); + } + if (content.Contains("InvoiceSectionHasMoreResult")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).InvoiceSectionHasMoreResult = (bool?) content.GetValueForProperty("InvoiceSectionHasMoreResult",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).InvoiceSectionHasMoreResult, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("InvoiceSectionValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).InvoiceSectionValue = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection[]) content.GetValueForProperty("InvoiceSectionValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal)this).InvoiceSectionValue, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionTypeConverter.ConvertFrom)); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileProperties DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new BillingProfileProperties(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileProperties DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new BillingProfileProperties(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileProperties FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The properties of the billing profile. + [System.ComponentModel.TypeConverter(typeof(BillingProfilePropertiesTypeConverter))] + public partial interface IBillingProfileProperties + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileProperties.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileProperties.TypeConverter.cs new file mode 100644 index 000000000000..e4085b1938b0 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileProperties.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class BillingProfilePropertiesTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileProperties ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileProperties).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return BillingProfileProperties.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return BillingProfileProperties.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return BillingProfileProperties.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileProperties.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileProperties.cs new file mode 100644 index 000000000000..f108a64fec90 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileProperties.cs @@ -0,0 +1,642 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of the billing profile. + public partial class BillingProfileProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileProperties, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal + { + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails _billTo; + + /// Billing address. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails BillTo { get => (this._billTo = this._billTo ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AddressDetails()); set => this._billTo = value; } + + /// Address line 1. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToAddressLine1 { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).AddressLine1; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).AddressLine1 = value ?? null; } + + /// Address line 2. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToAddressLine2 { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).AddressLine2; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).AddressLine2 = value ?? null; } + + /// Address line 3. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToAddressLine3 { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).AddressLine3; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).AddressLine3 = value ?? null; } + + /// Address city. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToCity { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).City; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).City = value ?? null; } + + /// Company name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToCompanyName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).CompanyName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).CompanyName = value ?? null; } + + /// Country code uses ISO2, 2-digit format. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToCountry { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).Country; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).Country = value ?? null; } + + /// Address district. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToDistrict { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).District; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).District = value ?? null; } + + /// Email address. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToEmail { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).Email; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).Email = value ?? null; } + + /// First name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToFirstName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).FirstName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).FirstName = value ?? null; } + + /// Last name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToLastName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).LastName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).LastName = value ?? null; } + + /// Middle name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToMiddleName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).MiddleName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).MiddleName = value ?? null; } + + /// Phone number. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToPhoneNumber { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).PhoneNumber; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).PhoneNumber = value ?? null; } + + /// Postal code. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToPostalCode { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).PostalCode; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).PostalCode = value ?? null; } + + /// Address region. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillToRegion { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).Region; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetailsInternal)BillTo).Region = value ?? null; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingRelationshipType? _billingRelationshipType; + + /// Identifies which services and purchases are paid by a billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingRelationshipType? BillingRelationshipType { get => this._billingRelationshipType; } + + /// Backing field for property. + private string _currency; + + /// The currency in which the charges for the billing profile are billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Currency { get => this._currency; } + + /// Backing field for property. + private string _displayName; + + /// The name of the billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string DisplayName { get => this._displayName; set => this._displayName = value; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan[] _enabledAzurePlan; + + /// Information about the enabled azure plans. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan[] EnabledAzurePlan { get => this._enabledAzurePlan; set => this._enabledAzurePlan = value; } + + /// Backing field for property. + private bool? _hasReadAccess; + + /// Indicates whether user has read access to the billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public bool? HasReadAccess { get => this._hasReadAccess; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IIndirectRelationshipInfo _indirectRelationshipInfo; + + /// + /// Identifies the billing profile that is linked to another billing profile in indirect purchase motion. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IIndirectRelationshipInfo IndirectRelationshipInfo { get => (this._indirectRelationshipInfo = this._indirectRelationshipInfo ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IndirectRelationshipInfo()); } + + /// The billing account name of the partner or the customer for an indirect motion. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string IndirectRelationshipInfoBillingAccountName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IIndirectRelationshipInfoInternal)IndirectRelationshipInfo).BillingAccountName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IIndirectRelationshipInfoInternal)IndirectRelationshipInfo).BillingAccountName = value ?? null; } + + /// The billing profile name of the partner or the customer for an indirect motion. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string IndirectRelationshipInfoBillingProfileName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IIndirectRelationshipInfoInternal)IndirectRelationshipInfo).BillingProfileName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IIndirectRelationshipInfoInternal)IndirectRelationshipInfo).BillingProfileName = value ?? null; } + + /// The display name of the partner or customer for an indirect motion. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string IndirectRelationshipInfoDisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IIndirectRelationshipInfoInternal)IndirectRelationshipInfo).DisplayName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IIndirectRelationshipInfoInternal)IndirectRelationshipInfo).DisplayName = value ?? null; } + + /// Backing field for property. + private int? _invoiceDay; + + /// The day of the month when the invoice for the billing profile is generated. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public int? InvoiceDay { get => this._invoiceDay; } + + /// Backing field for property. + private bool? _invoiceEmailOptIn; + + /// + /// Flag controlling whether the invoices for the billing profile are sent through email. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public bool? InvoiceEmailOptIn { get => this._invoiceEmailOptIn; set => this._invoiceEmailOptIn = value; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionsOnExpand _invoiceSection; + + /// + /// The invoice sections associated to the billing profile. By default this is not populated, unless it's specified in $expand. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionsOnExpand InvoiceSection { get => (this._invoiceSection = this._invoiceSection ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionsOnExpand()); set => this._invoiceSection = value; } + + /// + /// Indicates whether there are more invoice sections than the ones listed in this collection. The collection lists a maximum + /// of 50 invoice sections. To get all invoice sections, use the list invoice sections API. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public bool? InvoiceSectionHasMoreResult { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionsOnExpandInternal)InvoiceSection).HasMoreResult; } + + /// The invoice sections associated to the billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection[] InvoiceSectionValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionsOnExpandInternal)InvoiceSection).Value; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionsOnExpandInternal)InvoiceSection).Value = value ?? null /* arrayOf */; } + + /// Internal Acessors for BillTo + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal.BillTo { get => (this._billTo = this._billTo ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AddressDetails()); set { {_billTo = value;} } } + + /// Internal Acessors for BillingRelationshipType + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingRelationshipType? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal.BillingRelationshipType { get => this._billingRelationshipType; set { {_billingRelationshipType = value;} } } + + /// Internal Acessors for Currency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal.Currency { get => this._currency; set { {_currency = value;} } } + + /// Internal Acessors for HasReadAccess + bool? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal.HasReadAccess { get => this._hasReadAccess; set { {_hasReadAccess = value;} } } + + /// Internal Acessors for IndirectRelationshipInfo + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IIndirectRelationshipInfo Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal.IndirectRelationshipInfo { get => (this._indirectRelationshipInfo = this._indirectRelationshipInfo ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IndirectRelationshipInfo()); set { {_indirectRelationshipInfo = value;} } } + + /// Internal Acessors for InvoiceDay + int? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal.InvoiceDay { get => this._invoiceDay; set { {_invoiceDay = value;} } } + + /// Internal Acessors for InvoiceSection + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionsOnExpand Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal.InvoiceSection { get => (this._invoiceSection = this._invoiceSection ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionsOnExpand()); set { {_invoiceSection = value;} } } + + /// Internal Acessors for InvoiceSectionHasMoreResult + bool? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal.InvoiceSectionHasMoreResult { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionsOnExpandInternal)InvoiceSection).HasMoreResult; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionsOnExpandInternal)InvoiceSection).HasMoreResult = value; } + + /// Internal Acessors for SpendingLimit + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimit? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal.SpendingLimit { get => this._spendingLimit; set { {_spendingLimit = value;} } } + + /// Internal Acessors for Status + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal.Status { get => this._status; set { {_status = value;} } } + + /// Internal Acessors for StatusReasonCode + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCode? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal.StatusReasonCode { get => this._statusReasonCode; set { {_statusReasonCode = value;} } } + + /// Internal Acessors for SystemId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal.SystemId { get => this._systemId; set { {_systemId = value;} } } + + /// Internal Acessors for TargetCloud + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud[] Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesInternal.TargetCloud { get => this._targetCloud; set { {_targetCloud = value;} } } + + /// Backing field for property. + private string _poNumber; + + /// + /// The purchase order name that will appear on the invoices generated for the billing profile. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string PoNumber { get => this._poNumber; set => this._poNumber = value; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimit? _spendingLimit; + + /// The billing profile spending limit. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimit? SpendingLimit { get => this._spendingLimit; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus? _status; + + /// The status of the billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus? Status { get => this._status; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCode? _statusReasonCode; + + /// Reason for the specified billing profile status. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCode? StatusReasonCode { get => this._statusReasonCode; } + + /// Backing field for property. + private string _systemId; + + /// The system generated unique identifier for a billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string SystemId { get => this._systemId; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesTags _tag; + + /// Tags of billing profiles. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesTags Tag { get => (this._tag = this._tag ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfilePropertiesTags()); set => this._tag = value; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud[] _targetCloud; + + /// + /// Identifies the cloud environments that are associated with a billing profile. This is a system managed optional field + /// and gets updated as the billing profile gets associated with accounts in various clouds. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud[] TargetCloud { get => this._targetCloud; } + + /// Creates an new instance. + public BillingProfileProperties() + { + + } + } + /// The properties of the billing profile. + public partial interface IBillingProfileProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// Address line 1. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address line 1.", + SerializedName = @"addressLine1", + PossibleTypes = new [] { typeof(string) })] + string BillToAddressLine1 { get; set; } + /// Address line 2. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address line 2.", + SerializedName = @"addressLine2", + PossibleTypes = new [] { typeof(string) })] + string BillToAddressLine2 { get; set; } + /// Address line 3. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address line 3.", + SerializedName = @"addressLine3", + PossibleTypes = new [] { typeof(string) })] + string BillToAddressLine3 { get; set; } + /// Address city. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address city.", + SerializedName = @"city", + PossibleTypes = new [] { typeof(string) })] + string BillToCity { get; set; } + /// Company name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Company name.", + SerializedName = @"companyName", + PossibleTypes = new [] { typeof(string) })] + string BillToCompanyName { get; set; } + /// Country code uses ISO2, 2-digit format. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Country code uses ISO2, 2-digit format.", + SerializedName = @"country", + PossibleTypes = new [] { typeof(string) })] + string BillToCountry { get; set; } + /// Address district. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address district.", + SerializedName = @"district", + PossibleTypes = new [] { typeof(string) })] + string BillToDistrict { get; set; } + /// Email address. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Email address.", + SerializedName = @"email", + PossibleTypes = new [] { typeof(string) })] + string BillToEmail { get; set; } + /// First name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"First name.", + SerializedName = @"firstName", + PossibleTypes = new [] { typeof(string) })] + string BillToFirstName { get; set; } + /// Last name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Last name.", + SerializedName = @"lastName", + PossibleTypes = new [] { typeof(string) })] + string BillToLastName { get; set; } + /// Middle name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Middle name.", + SerializedName = @"middleName", + PossibleTypes = new [] { typeof(string) })] + string BillToMiddleName { get; set; } + /// Phone number. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Phone number.", + SerializedName = @"phoneNumber", + PossibleTypes = new [] { typeof(string) })] + string BillToPhoneNumber { get; set; } + /// Postal code. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Postal code.", + SerializedName = @"postalCode", + PossibleTypes = new [] { typeof(string) })] + string BillToPostalCode { get; set; } + /// Address region. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address region.", + SerializedName = @"region", + PossibleTypes = new [] { typeof(string) })] + string BillToRegion { get; set; } + /// Identifies which services and purchases are paid by a billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Identifies which services and purchases are paid by a billing profile.", + SerializedName = @"billingRelationshipType", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingRelationshipType) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingRelationshipType? BillingRelationshipType { get; } + /// The currency in which the charges for the billing profile are billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The currency in which the charges for the billing profile are billed.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string Currency { get; } + /// The name of the billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the billing profile.", + SerializedName = @"displayName", + PossibleTypes = new [] { typeof(string) })] + string DisplayName { get; set; } + /// Information about the enabled azure plans. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Information about the enabled azure plans.", + SerializedName = @"enabledAzurePlans", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan[] EnabledAzurePlan { get; set; } + /// Indicates whether user has read access to the billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Indicates whether user has read access to the billing profile.", + SerializedName = @"hasReadAccess", + PossibleTypes = new [] { typeof(bool) })] + bool? HasReadAccess { get; } + /// The billing account name of the partner or the customer for an indirect motion. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The billing account name of the partner or the customer for an indirect motion.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + string IndirectRelationshipInfoBillingAccountName { get; set; } + /// The billing profile name of the partner or the customer for an indirect motion. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The billing profile name of the partner or the customer for an indirect motion.", + SerializedName = @"billingProfileName", + PossibleTypes = new [] { typeof(string) })] + string IndirectRelationshipInfoBillingProfileName { get; set; } + /// The display name of the partner or customer for an indirect motion. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The display name of the partner or customer for an indirect motion.", + SerializedName = @"displayName", + PossibleTypes = new [] { typeof(string) })] + string IndirectRelationshipInfoDisplayName { get; set; } + /// The day of the month when the invoice for the billing profile is generated. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The day of the month when the invoice for the billing profile is generated.", + SerializedName = @"invoiceDay", + PossibleTypes = new [] { typeof(int) })] + int? InvoiceDay { get; } + /// + /// Flag controlling whether the invoices for the billing profile are sent through email. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Flag controlling whether the invoices for the billing profile are sent through email.", + SerializedName = @"invoiceEmailOptIn", + PossibleTypes = new [] { typeof(bool) })] + bool? InvoiceEmailOptIn { get; set; } + /// + /// Indicates whether there are more invoice sections than the ones listed in this collection. The collection lists a maximum + /// of 50 invoice sections. To get all invoice sections, use the list invoice sections API. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Indicates whether there are more invoice sections than the ones listed in this collection. The collection lists a maximum of 50 invoice sections. To get all invoice sections, use the list invoice sections API.", + SerializedName = @"hasMoreResults", + PossibleTypes = new [] { typeof(bool) })] + bool? InvoiceSectionHasMoreResult { get; } + /// The invoice sections associated to the billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The invoice sections associated to the billing profile.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection[] InvoiceSectionValue { get; set; } + /// + /// The purchase order name that will appear on the invoices generated for the billing profile. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The purchase order name that will appear on the invoices generated for the billing profile.", + SerializedName = @"poNumber", + PossibleTypes = new [] { typeof(string) })] + string PoNumber { get; set; } + /// The billing profile spending limit. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The billing profile spending limit.", + SerializedName = @"spendingLimit", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimit) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimit? SpendingLimit { get; } + /// The status of the billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The status of the billing profile.", + SerializedName = @"status", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus? Status { get; } + /// Reason for the specified billing profile status. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Reason for the specified billing profile status.", + SerializedName = @"statusReasonCode", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCode) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCode? StatusReasonCode { get; } + /// The system generated unique identifier for a billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The system generated unique identifier for a billing profile.", + SerializedName = @"systemId", + PossibleTypes = new [] { typeof(string) })] + string SystemId { get; } + /// Tags of billing profiles. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Tags of billing profiles.", + SerializedName = @"tags", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesTags) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesTags Tag { get; set; } + /// + /// Identifies the cloud environments that are associated with a billing profile. This is a system managed optional field + /// and gets updated as the billing profile gets associated with accounts in various clouds. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Identifies the cloud environments that are associated with a billing profile. This is a system managed optional field and gets updated as the billing profile gets associated with accounts in various clouds.", + SerializedName = @"targetClouds", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud[] TargetCloud { get; } + + } + /// The properties of the billing profile. + internal partial interface IBillingProfilePropertiesInternal + + { + /// Billing address. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails BillTo { get; set; } + /// Address line 1. + string BillToAddressLine1 { get; set; } + /// Address line 2. + string BillToAddressLine2 { get; set; } + /// Address line 3. + string BillToAddressLine3 { get; set; } + /// Address city. + string BillToCity { get; set; } + /// Company name. + string BillToCompanyName { get; set; } + /// Country code uses ISO2, 2-digit format. + string BillToCountry { get; set; } + /// Address district. + string BillToDistrict { get; set; } + /// Email address. + string BillToEmail { get; set; } + /// First name. + string BillToFirstName { get; set; } + /// Last name. + string BillToLastName { get; set; } + /// Middle name. + string BillToMiddleName { get; set; } + /// Phone number. + string BillToPhoneNumber { get; set; } + /// Postal code. + string BillToPostalCode { get; set; } + /// Address region. + string BillToRegion { get; set; } + /// Identifies which services and purchases are paid by a billing profile. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingRelationshipType? BillingRelationshipType { get; set; } + /// The currency in which the charges for the billing profile are billed. + string Currency { get; set; } + /// The name of the billing profile. + string DisplayName { get; set; } + /// Information about the enabled azure plans. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan[] EnabledAzurePlan { get; set; } + /// Indicates whether user has read access to the billing profile. + bool? HasReadAccess { get; set; } + /// + /// Identifies the billing profile that is linked to another billing profile in indirect purchase motion. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IIndirectRelationshipInfo IndirectRelationshipInfo { get; set; } + /// The billing account name of the partner or the customer for an indirect motion. + string IndirectRelationshipInfoBillingAccountName { get; set; } + /// The billing profile name of the partner or the customer for an indirect motion. + string IndirectRelationshipInfoBillingProfileName { get; set; } + /// The display name of the partner or customer for an indirect motion. + string IndirectRelationshipInfoDisplayName { get; set; } + /// The day of the month when the invoice for the billing profile is generated. + int? InvoiceDay { get; set; } + /// + /// Flag controlling whether the invoices for the billing profile are sent through email. + /// + bool? InvoiceEmailOptIn { get; set; } + /// + /// The invoice sections associated to the billing profile. By default this is not populated, unless it's specified in $expand. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionsOnExpand InvoiceSection { get; set; } + /// + /// Indicates whether there are more invoice sections than the ones listed in this collection. The collection lists a maximum + /// of 50 invoice sections. To get all invoice sections, use the list invoice sections API. + /// + bool? InvoiceSectionHasMoreResult { get; set; } + /// The invoice sections associated to the billing profile. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection[] InvoiceSectionValue { get; set; } + /// + /// The purchase order name that will appear on the invoices generated for the billing profile. + /// + string PoNumber { get; set; } + /// The billing profile spending limit. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimit? SpendingLimit { get; set; } + /// The status of the billing profile. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus? Status { get; set; } + /// Reason for the specified billing profile status. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCode? StatusReasonCode { get; set; } + /// The system generated unique identifier for a billing profile. + string SystemId { get; set; } + /// Tags of billing profiles. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesTags Tag { get; set; } + /// + /// Identifies the cloud environments that are associated with a billing profile. This is a system managed optional field + /// and gets updated as the billing profile gets associated with accounts in various clouds. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud[] TargetCloud { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileProperties.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileProperties.json.cs new file mode 100644 index 000000000000..c4c88edc1410 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfileProperties.json.cs @@ -0,0 +1,186 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of the billing profile. + public partial class BillingProfileProperties + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal BillingProfileProperties(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_billTo = If( json?.PropertyT("billTo"), out var __jsonBillTo) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AddressDetails.FromJson(__jsonBillTo) : BillTo;} + {_indirectRelationshipInfo = If( json?.PropertyT("indirectRelationshipInfo"), out var __jsonIndirectRelationshipInfo) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IndirectRelationshipInfo.FromJson(__jsonIndirectRelationshipInfo) : IndirectRelationshipInfo;} + {_invoiceSection = If( json?.PropertyT("invoiceSections"), out var __jsonInvoiceSections) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionsOnExpand.FromJson(__jsonInvoiceSections) : InvoiceSection;} + {_displayName = If( json?.PropertyT("displayName"), out var __jsonDisplayName) ? (string)__jsonDisplayName : (string)DisplayName;} + {_poNumber = If( json?.PropertyT("poNumber"), out var __jsonPoNumber) ? (string)__jsonPoNumber : (string)PoNumber;} + {_billingRelationshipType = If( json?.PropertyT("billingRelationshipType"), out var __jsonBillingRelationshipType) ? (string)__jsonBillingRelationshipType : (string)BillingRelationshipType;} + {_invoiceEmailOptIn = If( json?.PropertyT("invoiceEmailOptIn"), out var __jsonInvoiceEmailOptIn) ? (bool?)__jsonInvoiceEmailOptIn : InvoiceEmailOptIn;} + {_invoiceDay = If( json?.PropertyT("invoiceDay"), out var __jsonInvoiceDay) ? (int?)__jsonInvoiceDay : InvoiceDay;} + {_currency = If( json?.PropertyT("currency"), out var __jsonCurrency) ? (string)__jsonCurrency : (string)Currency;} + {_enabledAzurePlan = If( json?.PropertyT("enabledAzurePlans"), out var __jsonEnabledAzurePlans) ? If( __jsonEnabledAzurePlans as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan) (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AzurePlan.FromJson(__u) )) ))() : null : EnabledAzurePlan;} + {_hasReadAccess = If( json?.PropertyT("hasReadAccess"), out var __jsonHasReadAccess) ? (bool?)__jsonHasReadAccess : HasReadAccess;} + {_systemId = If( json?.PropertyT("systemId"), out var __jsonSystemId) ? (string)__jsonSystemId : (string)SystemId;} + {_status = If( json?.PropertyT("status"), out var __jsonStatus) ? (string)__jsonStatus : (string)Status;} + {_statusReasonCode = If( json?.PropertyT("statusReasonCode"), out var __jsonStatusReasonCode) ? (string)__jsonStatusReasonCode : (string)StatusReasonCode;} + {_spendingLimit = If( json?.PropertyT("spendingLimit"), out var __jsonSpendingLimit) ? (string)__jsonSpendingLimit : (string)SpendingLimit;} + {_targetCloud = If( json?.PropertyT("targetClouds"), out var __jsonTargetClouds) ? If( __jsonTargetClouds as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonArray, out var __q) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__q, (__p)=>(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud) (__p is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString __o ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud)(__o.ToString()) : ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud)""))) ))() : null : TargetCloud;} + {_tag = If( json?.PropertyT("tags"), out var __jsonTags) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfilePropertiesTags.FromJson(__jsonTags) : Tag;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileProperties. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileProperties. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileProperties FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new BillingProfileProperties(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != this._billTo ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._billTo.ToJson(null,serializationMode) : null, "billTo" ,container.Add ); + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._indirectRelationshipInfo ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._indirectRelationshipInfo.ToJson(null,serializationMode) : null, "indirectRelationshipInfo" ,container.Add ); + } + AddIf( null != this._invoiceSection ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._invoiceSection.ToJson(null,serializationMode) : null, "invoiceSections" ,container.Add ); + AddIf( null != (((object)this._displayName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._displayName.ToString()) : null, "displayName" ,container.Add ); + AddIf( null != (((object)this._poNumber)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._poNumber.ToString()) : null, "poNumber" ,container.Add ); + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._billingRelationshipType)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._billingRelationshipType.ToString()) : null, "billingRelationshipType" ,container.Add ); + } + AddIf( null != this._invoiceEmailOptIn ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonBoolean((bool)this._invoiceEmailOptIn) : null, "invoiceEmailOptIn" ,container.Add ); + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._invoiceDay ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNumber((int)this._invoiceDay) : null, "invoiceDay" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._currency)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._currency.ToString()) : null, "currency" ,container.Add ); + } + if (null != this._enabledAzurePlan) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(); + foreach( var __x in this._enabledAzurePlan ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("enabledAzurePlans",__w); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._hasReadAccess ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonBoolean((bool)this._hasReadAccess) : null, "hasReadAccess" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._systemId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._systemId.ToString()) : null, "systemId" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._status)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._status.ToString()) : null, "status" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._statusReasonCode)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._statusReasonCode.ToString()) : null, "statusReasonCode" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._spendingLimit)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._spendingLimit.ToString()) : null, "spendingLimit" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + if (null != this._targetCloud) + { + var __r = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(); + foreach( var __s in this._targetCloud ) + { + AddIf(null != (((object)__s)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(__s.ToString()) : null ,__r.Add); + } + container.Add("targetClouds",__r); + } + } + AddIf( null != this._tag ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._tag.ToJson(null,serializationMode) : null, "tags" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingProfilePropertiesTags.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfilePropertiesTags.PowerShell.cs new file mode 100644 index 000000000000..ac1816d433c9 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfilePropertiesTags.PowerShell.cs @@ -0,0 +1,142 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// Tags of billing profiles. + [System.ComponentModel.TypeConverter(typeof(BillingProfilePropertiesTagsTypeConverter))] + public partial class BillingProfilePropertiesTags + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal BillingProfilePropertiesTags(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + // this type is a dictionary; copy elements from source to here. + CopyFrom(content); + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal BillingProfilePropertiesTags(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + // this type is a dictionary; copy elements from source to here. + CopyFrom(content); + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesTags DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new BillingProfilePropertiesTags(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesTags DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new BillingProfilePropertiesTags(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesTags FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Tags of billing profiles. + [System.ComponentModel.TypeConverter(typeof(BillingProfilePropertiesTagsTypeConverter))] + public partial interface IBillingProfilePropertiesTags + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingProfilePropertiesTags.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfilePropertiesTags.TypeConverter.cs new file mode 100644 index 000000000000..37d9b969e37c --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfilePropertiesTags.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class BillingProfilePropertiesTagsTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesTags ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesTags).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return BillingProfilePropertiesTags.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return BillingProfilePropertiesTags.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return BillingProfilePropertiesTags.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingProfilePropertiesTags.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfilePropertiesTags.cs new file mode 100644 index 000000000000..9a7ab96d0c46 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfilePropertiesTags.cs @@ -0,0 +1,35 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// Tags of billing profiles. + public partial class BillingProfilePropertiesTags : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesTags, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesTagsInternal + { + + /// Creates an new instance. + public BillingProfilePropertiesTags() + { + + } + } + /// Tags of billing profiles. + public partial interface IBillingProfilePropertiesTags : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IAssociativeArray + { + + } + /// Tags of billing profiles. + internal partial interface IBillingProfilePropertiesTagsInternal + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingProfilePropertiesTags.dictionary.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfilePropertiesTags.dictionary.cs new file mode 100644 index 000000000000..ba3827562034 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfilePropertiesTags.dictionary.cs @@ -0,0 +1,75 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + public partial class BillingProfilePropertiesTags : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IAssociativeArray + { + protected global::System.Collections.Generic.Dictionary __additionalProperties = new global::System.Collections.Generic.Dictionary(); + + global::System.Collections.Generic.IDictionary Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IAssociativeArray.AdditionalProperties { get => __additionalProperties; } + + int Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IAssociativeArray.Count { get => __additionalProperties.Count; } + + global::System.Collections.Generic.IEnumerable Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IAssociativeArray.Keys { get => __additionalProperties.Keys; } + + global::System.Collections.Generic.IEnumerable Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IAssociativeArray.Values { get => __additionalProperties.Values; } + + public string this[global::System.String index] { get => __additionalProperties[index]; set => __additionalProperties[index] = value; } + + /// + /// + public void Add(global::System.String key, string value) => __additionalProperties.Add( key, value); + + public void Clear() => __additionalProperties.Clear(); + + /// + public bool ContainsKey(global::System.String key) => __additionalProperties.ContainsKey( key); + + /// + public void CopyFrom(global::System.Collections.IDictionary source) + { + if (null != source) + { + foreach( var property in Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.TypeConverterExtensions.GetFilteredProperties(source, new global::System.Collections.Generic.HashSet() { } ) ) + { + if ((null != property.Key && null != property.Value)) + { + this.__additionalProperties.Add(property.Key.ToString(), global::System.Management.Automation.LanguagePrimitives.ConvertTo( property.Value)); + } + } + } + } + + /// + public void CopyFrom(global::System.Management.Automation.PSObject source) + { + if (null != source) + { + foreach( var property in Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.TypeConverterExtensions.GetFilteredProperties(source, new global::System.Collections.Generic.HashSet() { } ) ) + { + if ((null != property.Key && null != property.Value)) + { + this.__additionalProperties.Add(property.Key.ToString(), global::System.Management.Automation.LanguagePrimitives.ConvertTo( property.Value)); + } + } + } + } + + /// + public bool Remove(global::System.String key) => __additionalProperties.Remove( key); + + /// + /// + public bool TryGetValue(global::System.String key, out string value) => __additionalProperties.TryGetValue( key, out value); + + /// + + public static implicit operator global::System.Collections.Generic.Dictionary(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfilePropertiesTags source) => source.__additionalProperties; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingProfilePropertiesTags.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfilePropertiesTags.json.cs new file mode 100644 index 000000000000..010d55ca3181 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfilePropertiesTags.json.cs @@ -0,0 +1,109 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// Tags of billing profiles. + public partial class BillingProfilePropertiesTags + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + /// + internal BillingProfilePropertiesTags(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, global::System.Collections.Generic.HashSet exclusions = null) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.JsonSerializable.FromJson( json, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IAssociativeArray)this).AdditionalProperties, null ,exclusions ); + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesTags. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesTags. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesTags FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new BillingProfilePropertiesTags(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.JsonSerializable.ToJson( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IAssociativeArray)this).AdditionalProperties, container); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingProfilesOnExpand.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfilesOnExpand.PowerShell.cs new file mode 100644 index 000000000000..0212a55db2a5 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfilesOnExpand.PowerShell.cs @@ -0,0 +1,154 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// The billing profiles associated with the billing account. By default this is not populated, unless it's specified in $expand. + /// + [System.ComponentModel.TypeConverter(typeof(BillingProfilesOnExpandTypeConverter))] + public partial class BillingProfilesOnExpand + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal BillingProfilesOnExpand(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("HasMoreResult")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilesOnExpandInternal)this).HasMoreResult = (bool?) content.GetValueForProperty("HasMoreResult",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilesOnExpandInternal)this).HasMoreResult, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilesOnExpandInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilesOnExpandInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfileTypeConverter.ConvertFrom)); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal BillingProfilesOnExpand(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("HasMoreResult")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilesOnExpandInternal)this).HasMoreResult = (bool?) content.GetValueForProperty("HasMoreResult",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilesOnExpandInternal)this).HasMoreResult, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilesOnExpandInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilesOnExpandInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfileTypeConverter.ConvertFrom)); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilesOnExpand DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new BillingProfilesOnExpand(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilesOnExpand DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new BillingProfilesOnExpand(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilesOnExpand FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The billing profiles associated with the billing account. By default this is not populated, unless it's specified in $expand. + [System.ComponentModel.TypeConverter(typeof(BillingProfilesOnExpandTypeConverter))] + public partial interface IBillingProfilesOnExpand + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingProfilesOnExpand.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfilesOnExpand.TypeConverter.cs new file mode 100644 index 000000000000..ca425d1bd609 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfilesOnExpand.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class BillingProfilesOnExpandTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilesOnExpand ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilesOnExpand).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return BillingProfilesOnExpand.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return BillingProfilesOnExpand.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return BillingProfilesOnExpand.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingProfilesOnExpand.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfilesOnExpand.cs new file mode 100644 index 000000000000..634083adb15e --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfilesOnExpand.cs @@ -0,0 +1,82 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// + /// The billing profiles associated with the billing account. By default this is not populated, unless it's specified in $expand. + /// + public partial class BillingProfilesOnExpand : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilesOnExpand, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilesOnExpandInternal + { + + /// Backing field for property. + private bool? _hasMoreResult; + + /// + /// Indicates whether there are more billing profiles than the ones listed in this collection. The collection lists a maximum + /// of 50 billing profiles. To get all billing profiles, use the list billing profiles API. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public bool? HasMoreResult { get => this._hasMoreResult; } + + /// Internal Acessors for HasMoreResult + bool? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilesOnExpandInternal.HasMoreResult { get => this._hasMoreResult; set { {_hasMoreResult = value;} } } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile[] _value; + + /// The billing profiles associated with the billing account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile[] Value { get => this._value; set => this._value = value; } + + /// Creates an new instance. + public BillingProfilesOnExpand() + { + + } + } + /// The billing profiles associated with the billing account. By default this is not populated, unless it's specified in $expand. + public partial interface IBillingProfilesOnExpand : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// + /// Indicates whether there are more billing profiles than the ones listed in this collection. The collection lists a maximum + /// of 50 billing profiles. To get all billing profiles, use the list billing profiles API. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Indicates whether there are more billing profiles than the ones listed in this collection. The collection lists a maximum of 50 billing profiles. To get all billing profiles, use the list billing profiles API.", + SerializedName = @"hasMoreResults", + PossibleTypes = new [] { typeof(bool) })] + bool? HasMoreResult { get; } + /// The billing profiles associated with the billing account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The billing profiles associated with the billing account.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile[] Value { get; set; } + + } + /// The billing profiles associated with the billing account. By default this is not populated, unless it's specified in $expand. + internal partial interface IBillingProfilesOnExpandInternal + + { + /// + /// Indicates whether there are more billing profiles than the ones listed in this collection. The collection lists a maximum + /// of 50 billing profiles. To get all billing profiles, use the list billing profiles API. + /// + bool? HasMoreResult { get; set; } + /// The billing profiles associated with the billing account. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile[] Value { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingProfilesOnExpand.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfilesOnExpand.json.cs new file mode 100644 index 000000000000..7e74d3a58413 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingProfilesOnExpand.json.cs @@ -0,0 +1,123 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// + /// The billing profiles associated with the billing account. By default this is not populated, unless it's specified in $expand. + /// + public partial class BillingProfilesOnExpand + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal BillingProfilesOnExpand(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_hasMoreResult = If( json?.PropertyT("hasMoreResults"), out var __jsonHasMoreResults) ? (bool?)__jsonHasMoreResults : HasMoreResult;} + {_value = If( json?.PropertyT("value"), out var __jsonValue) ? If( __jsonValue as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile) (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfile.FromJson(__u) )) ))() : null : Value;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilesOnExpand. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilesOnExpand. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilesOnExpand FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new BillingProfilesOnExpand(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._hasMoreResult ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonBoolean((bool)this._hasMoreResult) : null, "hasMoreResults" ,container.Add ); + } + if (null != this._value) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(); + foreach( var __x in this._value ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("value",__w); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingProperty.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingProperty.PowerShell.cs new file mode 100644 index 000000000000..92512db312aa --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingProperty.PowerShell.cs @@ -0,0 +1,304 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// A billing property. + [System.ComponentModel.TypeConverter(typeof(BillingPropertyTypeConverter))] + public partial class BillingProperty + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal BillingProperty(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingPropertyPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("AccountAdminNotificationEmailAddress")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).AccountAdminNotificationEmailAddress = (string) content.GetValueForProperty("AccountAdminNotificationEmailAddress",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).AccountAdminNotificationEmailAddress, global::System.Convert.ToString); + } + if (content.Contains("BillingTenantId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).BillingTenantId = (string) content.GetValueForProperty("BillingTenantId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).BillingTenantId, global::System.Convert.ToString); + } + if (content.Contains("BillingAccountId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).BillingAccountId = (string) content.GetValueForProperty("BillingAccountId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).BillingAccountId, global::System.Convert.ToString); + } + if (content.Contains("BillingAccountDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).BillingAccountDisplayName = (string) content.GetValueForProperty("BillingAccountDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).BillingAccountDisplayName, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).BillingProfileId = (string) content.GetValueForProperty("BillingProfileId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).BillingProfileId, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).BillingProfileDisplayName = (string) content.GetValueForProperty("BillingProfileDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).BillingProfileDisplayName, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileStatus")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).BillingProfileStatus = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus?) content.GetValueForProperty("BillingProfileStatus",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).BillingProfileStatus, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus.CreateFrom); + } + if (content.Contains("BillingProfileStatusReasonCode")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).BillingProfileStatusReasonCode = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatusReasonCode?) content.GetValueForProperty("BillingProfileStatusReasonCode",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).BillingProfileStatusReasonCode, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatusReasonCode.CreateFrom); + } + if (content.Contains("BillingProfileSpendingLimit")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).BillingProfileSpendingLimit = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileSpendingLimit?) content.GetValueForProperty("BillingProfileSpendingLimit",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).BillingProfileSpendingLimit, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileSpendingLimit.CreateFrom); + } + if (content.Contains("CostCenter")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).CostCenter = (string) content.GetValueForProperty("CostCenter",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).CostCenter, global::System.Convert.ToString); + } + if (content.Contains("InvoiceSectionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).InvoiceSectionId = (string) content.GetValueForProperty("InvoiceSectionId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).InvoiceSectionId, global::System.Convert.ToString); + } + if (content.Contains("InvoiceSectionDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).InvoiceSectionDisplayName = (string) content.GetValueForProperty("InvoiceSectionDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).InvoiceSectionDisplayName, global::System.Convert.ToString); + } + if (content.Contains("IsAccountAdmin")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).IsAccountAdmin = (bool?) content.GetValueForProperty("IsAccountAdmin",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).IsAccountAdmin, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("ProductId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).ProductId = (string) content.GetValueForProperty("ProductId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).ProductId, global::System.Convert.ToString); + } + if (content.Contains("ProductName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).ProductName = (string) content.GetValueForProperty("ProductName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).ProductName, global::System.Convert.ToString); + } + if (content.Contains("SkuId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).SkuId = (string) content.GetValueForProperty("SkuId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).SkuId, global::System.Convert.ToString); + } + if (content.Contains("SkuDescription")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).SkuDescription = (string) content.GetValueForProperty("SkuDescription",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).SkuDescription, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal BillingProperty(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingPropertyPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("AccountAdminNotificationEmailAddress")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).AccountAdminNotificationEmailAddress = (string) content.GetValueForProperty("AccountAdminNotificationEmailAddress",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).AccountAdminNotificationEmailAddress, global::System.Convert.ToString); + } + if (content.Contains("BillingTenantId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).BillingTenantId = (string) content.GetValueForProperty("BillingTenantId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).BillingTenantId, global::System.Convert.ToString); + } + if (content.Contains("BillingAccountId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).BillingAccountId = (string) content.GetValueForProperty("BillingAccountId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).BillingAccountId, global::System.Convert.ToString); + } + if (content.Contains("BillingAccountDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).BillingAccountDisplayName = (string) content.GetValueForProperty("BillingAccountDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).BillingAccountDisplayName, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).BillingProfileId = (string) content.GetValueForProperty("BillingProfileId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).BillingProfileId, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).BillingProfileDisplayName = (string) content.GetValueForProperty("BillingProfileDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).BillingProfileDisplayName, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileStatus")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).BillingProfileStatus = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus?) content.GetValueForProperty("BillingProfileStatus",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).BillingProfileStatus, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus.CreateFrom); + } + if (content.Contains("BillingProfileStatusReasonCode")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).BillingProfileStatusReasonCode = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatusReasonCode?) content.GetValueForProperty("BillingProfileStatusReasonCode",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).BillingProfileStatusReasonCode, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatusReasonCode.CreateFrom); + } + if (content.Contains("BillingProfileSpendingLimit")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).BillingProfileSpendingLimit = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileSpendingLimit?) content.GetValueForProperty("BillingProfileSpendingLimit",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).BillingProfileSpendingLimit, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileSpendingLimit.CreateFrom); + } + if (content.Contains("CostCenter")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).CostCenter = (string) content.GetValueForProperty("CostCenter",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).CostCenter, global::System.Convert.ToString); + } + if (content.Contains("InvoiceSectionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).InvoiceSectionId = (string) content.GetValueForProperty("InvoiceSectionId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).InvoiceSectionId, global::System.Convert.ToString); + } + if (content.Contains("InvoiceSectionDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).InvoiceSectionDisplayName = (string) content.GetValueForProperty("InvoiceSectionDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).InvoiceSectionDisplayName, global::System.Convert.ToString); + } + if (content.Contains("IsAccountAdmin")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).IsAccountAdmin = (bool?) content.GetValueForProperty("IsAccountAdmin",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).IsAccountAdmin, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("ProductId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).ProductId = (string) content.GetValueForProperty("ProductId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).ProductId, global::System.Convert.ToString); + } + if (content.Contains("ProductName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).ProductName = (string) content.GetValueForProperty("ProductName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).ProductName, global::System.Convert.ToString); + } + if (content.Contains("SkuId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).SkuId = (string) content.GetValueForProperty("SkuId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).SkuId, global::System.Convert.ToString); + } + if (content.Contains("SkuDescription")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).SkuDescription = (string) content.GetValueForProperty("SkuDescription",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal)this).SkuDescription, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProperty DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new BillingProperty(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProperty DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new BillingProperty(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProperty FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// A billing property. + [System.ComponentModel.TypeConverter(typeof(BillingPropertyTypeConverter))] + public partial interface IBillingProperty + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingProperty.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingProperty.TypeConverter.cs new file mode 100644 index 000000000000..f5df284bc031 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingProperty.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class BillingPropertyTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProperty ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProperty).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return BillingProperty.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return BillingProperty.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return BillingProperty.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingProperty.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingProperty.cs new file mode 100644 index 000000000000..f58a4e7ba4e1 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingProperty.cs @@ -0,0 +1,372 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// A billing property. + public partial class BillingProperty : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProperty, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IValidates + { + /// + /// Backing field for Inherited model + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource __resource = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource(); + + /// The email address on which the account admin gets all Azure notifications. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string AccountAdminNotificationEmailAddress { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).AccountAdminNotificationEmailAddress; } + + /// The name of the billing account to which the subscription is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillingAccountDisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).BillingAccountDisplayName; } + + /// The ID of the billing account to which the subscription is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillingAccountId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).BillingAccountId; } + + /// The name of the billing profile to which the subscription is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillingProfileDisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).BillingProfileDisplayName; } + + /// The ID of the billing profile to which the subscription is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillingProfileId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).BillingProfileId; } + + /// The billing profile spending limit. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileSpendingLimit? BillingProfileSpendingLimit { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).BillingProfileSpendingLimit; } + + /// The status of the billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus? BillingProfileStatus { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).BillingProfileStatus; } + + /// Reason for the specified billing profile status. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatusReasonCode? BillingProfileStatusReasonCode { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).BillingProfileStatusReasonCode; } + + /// The Azure AD tenant ID of the billing account for the subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillingTenantId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).BillingTenantId; } + + /// The cost center applied to the subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string CostCenter { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).CostCenter; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).CostCenter = value ?? null; } + + /// Resource Id. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id; } + + /// The name of the invoice section to which the subscription is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string InvoiceSectionDisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).InvoiceSectionDisplayName; } + + /// The ID of the invoice section to which the subscription is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string InvoiceSectionId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).InvoiceSectionId; } + + /// Indicates whether user is the account admin. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public bool? IsAccountAdmin { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).IsAccountAdmin; } + + /// Internal Acessors for Id + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id = value; } + + /// Internal Acessors for Name + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name = value; } + + /// Internal Acessors for Type + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type = value; } + + /// Internal Acessors for AccountAdminNotificationEmailAddress + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal.AccountAdminNotificationEmailAddress { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).AccountAdminNotificationEmailAddress; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).AccountAdminNotificationEmailAddress = value; } + + /// Internal Acessors for BillingAccountDisplayName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal.BillingAccountDisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).BillingAccountDisplayName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).BillingAccountDisplayName = value; } + + /// Internal Acessors for BillingAccountId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal.BillingAccountId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).BillingAccountId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).BillingAccountId = value; } + + /// Internal Acessors for BillingProfileDisplayName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal.BillingProfileDisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).BillingProfileDisplayName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).BillingProfileDisplayName = value; } + + /// Internal Acessors for BillingProfileId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal.BillingProfileId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).BillingProfileId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).BillingProfileId = value; } + + /// Internal Acessors for BillingProfileSpendingLimit + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileSpendingLimit? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal.BillingProfileSpendingLimit { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).BillingProfileSpendingLimit; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).BillingProfileSpendingLimit = value; } + + /// Internal Acessors for BillingProfileStatus + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal.BillingProfileStatus { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).BillingProfileStatus; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).BillingProfileStatus = value; } + + /// Internal Acessors for BillingProfileStatusReasonCode + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatusReasonCode? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal.BillingProfileStatusReasonCode { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).BillingProfileStatusReasonCode; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).BillingProfileStatusReasonCode = value; } + + /// Internal Acessors for BillingTenantId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal.BillingTenantId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).BillingTenantId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).BillingTenantId = value; } + + /// Internal Acessors for InvoiceSectionDisplayName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal.InvoiceSectionDisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).InvoiceSectionDisplayName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).InvoiceSectionDisplayName = value; } + + /// Internal Acessors for InvoiceSectionId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal.InvoiceSectionId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).InvoiceSectionId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).InvoiceSectionId = value; } + + /// Internal Acessors for IsAccountAdmin + bool? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal.IsAccountAdmin { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).IsAccountAdmin; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).IsAccountAdmin = value; } + + /// Internal Acessors for ProductId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal.ProductId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).ProductId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).ProductId = value; } + + /// Internal Acessors for ProductName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal.ProductName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).ProductName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).ProductName = value; } + + /// Internal Acessors for Property + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyProperties Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal.Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingPropertyProperties()); set { {_property = value;} } } + + /// Internal Acessors for SkuDescription + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal.SkuDescription { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).SkuDescription; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).SkuDescription = value; } + + /// Internal Acessors for SkuId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyInternal.SkuId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).SkuId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).SkuId = value; } + + /// Resource name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name; } + + /// The product ID of the Azure plan. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string ProductId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).ProductId; } + + /// The product name of the Azure plan. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string ProductName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).ProductName; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyProperties _property; + + /// A billing property. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyProperties Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingPropertyProperties()); set => this._property = value; } + + /// The sku description of the Azure plan for the subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SkuDescription { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).SkuDescription; } + + /// The sku ID of the Azure plan for the subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SkuId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)Property).SkuId; } + + /// Resource type. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type; } + + /// Creates an new instance. + public BillingProperty() + { + + } + + /// Validates that this object meets the validation criteria. + /// an instance that will receive validation + /// events. + /// + /// A that will be complete when validation is completed. + /// + public async global::System.Threading.Tasks.Task Validate(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + await eventListener.AssertNotNull(nameof(__resource), __resource); + await eventListener.AssertObjectIsValid(nameof(__resource), __resource); + } + } + /// A billing property. + public partial interface IBillingProperty : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource + { + /// The email address on which the account admin gets all Azure notifications. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The email address on which the account admin gets all Azure notifications.", + SerializedName = @"accountAdminNotificationEmailAddress", + PossibleTypes = new [] { typeof(string) })] + string AccountAdminNotificationEmailAddress { get; } + /// The name of the billing account to which the subscription is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the billing account to which the subscription is billed.", + SerializedName = @"billingAccountDisplayName", + PossibleTypes = new [] { typeof(string) })] + string BillingAccountDisplayName { get; } + /// The ID of the billing account to which the subscription is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the billing account to which the subscription is billed.", + SerializedName = @"billingAccountId", + PossibleTypes = new [] { typeof(string) })] + string BillingAccountId { get; } + /// The name of the billing profile to which the subscription is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the billing profile to which the subscription is billed.", + SerializedName = @"billingProfileDisplayName", + PossibleTypes = new [] { typeof(string) })] + string BillingProfileDisplayName { get; } + /// The ID of the billing profile to which the subscription is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the billing profile to which the subscription is billed.", + SerializedName = @"billingProfileId", + PossibleTypes = new [] { typeof(string) })] + string BillingProfileId { get; } + /// The billing profile spending limit. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The billing profile spending limit.", + SerializedName = @"billingProfileSpendingLimit", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileSpendingLimit) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileSpendingLimit? BillingProfileSpendingLimit { get; } + /// The status of the billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The status of the billing profile.", + SerializedName = @"billingProfileStatus", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus? BillingProfileStatus { get; } + /// Reason for the specified billing profile status. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Reason for the specified billing profile status.", + SerializedName = @"billingProfileStatusReasonCode", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatusReasonCode) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatusReasonCode? BillingProfileStatusReasonCode { get; } + /// The Azure AD tenant ID of the billing account for the subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The Azure AD tenant ID of the billing account for the subscription.", + SerializedName = @"billingTenantId", + PossibleTypes = new [] { typeof(string) })] + string BillingTenantId { get; } + /// The cost center applied to the subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The cost center applied to the subscription.", + SerializedName = @"costCenter", + PossibleTypes = new [] { typeof(string) })] + string CostCenter { get; set; } + /// The name of the invoice section to which the subscription is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the invoice section to which the subscription is billed.", + SerializedName = @"invoiceSectionDisplayName", + PossibleTypes = new [] { typeof(string) })] + string InvoiceSectionDisplayName { get; } + /// The ID of the invoice section to which the subscription is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the invoice section to which the subscription is billed.", + SerializedName = @"invoiceSectionId", + PossibleTypes = new [] { typeof(string) })] + string InvoiceSectionId { get; } + /// Indicates whether user is the account admin. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Indicates whether user is the account admin.", + SerializedName = @"isAccountAdmin", + PossibleTypes = new [] { typeof(bool) })] + bool? IsAccountAdmin { get; } + /// The product ID of the Azure plan. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The product ID of the Azure plan.", + SerializedName = @"productId", + PossibleTypes = new [] { typeof(string) })] + string ProductId { get; } + /// The product name of the Azure plan. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The product name of the Azure plan.", + SerializedName = @"productName", + PossibleTypes = new [] { typeof(string) })] + string ProductName { get; } + /// The sku description of the Azure plan for the subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The sku description of the Azure plan for the subscription.", + SerializedName = @"skuDescription", + PossibleTypes = new [] { typeof(string) })] + string SkuDescription { get; } + /// The sku ID of the Azure plan for the subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The sku ID of the Azure plan for the subscription.", + SerializedName = @"skuId", + PossibleTypes = new [] { typeof(string) })] + string SkuId { get; } + + } + /// A billing property. + internal partial interface IBillingPropertyInternal : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal + { + /// The email address on which the account admin gets all Azure notifications. + string AccountAdminNotificationEmailAddress { get; set; } + /// The name of the billing account to which the subscription is billed. + string BillingAccountDisplayName { get; set; } + /// The ID of the billing account to which the subscription is billed. + string BillingAccountId { get; set; } + /// The name of the billing profile to which the subscription is billed. + string BillingProfileDisplayName { get; set; } + /// The ID of the billing profile to which the subscription is billed. + string BillingProfileId { get; set; } + /// The billing profile spending limit. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileSpendingLimit? BillingProfileSpendingLimit { get; set; } + /// The status of the billing profile. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus? BillingProfileStatus { get; set; } + /// Reason for the specified billing profile status. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatusReasonCode? BillingProfileStatusReasonCode { get; set; } + /// The Azure AD tenant ID of the billing account for the subscription. + string BillingTenantId { get; set; } + /// The cost center applied to the subscription. + string CostCenter { get; set; } + /// The name of the invoice section to which the subscription is billed. + string InvoiceSectionDisplayName { get; set; } + /// The ID of the invoice section to which the subscription is billed. + string InvoiceSectionId { get; set; } + /// Indicates whether user is the account admin. + bool? IsAccountAdmin { get; set; } + /// The product ID of the Azure plan. + string ProductId { get; set; } + /// The product name of the Azure plan. + string ProductName { get; set; } + /// A billing property. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyProperties Property { get; set; } + /// The sku description of the Azure plan for the subscription. + string SkuDescription { get; set; } + /// The sku ID of the Azure plan for the subscription. + string SkuId { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingProperty.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingProperty.json.cs new file mode 100644 index 000000000000..ecc52f1db8d1 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingProperty.json.cs @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// A billing property. + public partial class BillingProperty + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal BillingProperty(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + __resource = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource(json); + {_property = If( json?.PropertyT("properties"), out var __jsonProperties) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingPropertyProperties.FromJson(__jsonProperties) : Property;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProperty. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProperty. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProperty FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new BillingProperty(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + __resource?.ToJson(container, serializationMode); + AddIf( null != this._property ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._property.ToJson(null,serializationMode) : null, "properties" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingPropertyProperties.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingPropertyProperties.PowerShell.cs new file mode 100644 index 000000000000..ae535ec8e1af --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingPropertyProperties.PowerShell.cs @@ -0,0 +1,272 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The billing property. + [System.ComponentModel.TypeConverter(typeof(BillingPropertyPropertiesTypeConverter))] + public partial class BillingPropertyProperties + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal BillingPropertyProperties(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("AccountAdminNotificationEmailAddress")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).AccountAdminNotificationEmailAddress = (string) content.GetValueForProperty("AccountAdminNotificationEmailAddress",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).AccountAdminNotificationEmailAddress, global::System.Convert.ToString); + } + if (content.Contains("BillingTenantId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).BillingTenantId = (string) content.GetValueForProperty("BillingTenantId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).BillingTenantId, global::System.Convert.ToString); + } + if (content.Contains("BillingAccountId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).BillingAccountId = (string) content.GetValueForProperty("BillingAccountId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).BillingAccountId, global::System.Convert.ToString); + } + if (content.Contains("BillingAccountDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).BillingAccountDisplayName = (string) content.GetValueForProperty("BillingAccountDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).BillingAccountDisplayName, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).BillingProfileId = (string) content.GetValueForProperty("BillingProfileId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).BillingProfileId, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).BillingProfileDisplayName = (string) content.GetValueForProperty("BillingProfileDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).BillingProfileDisplayName, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileStatus")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).BillingProfileStatus = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus?) content.GetValueForProperty("BillingProfileStatus",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).BillingProfileStatus, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus.CreateFrom); + } + if (content.Contains("BillingProfileStatusReasonCode")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).BillingProfileStatusReasonCode = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatusReasonCode?) content.GetValueForProperty("BillingProfileStatusReasonCode",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).BillingProfileStatusReasonCode, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatusReasonCode.CreateFrom); + } + if (content.Contains("BillingProfileSpendingLimit")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).BillingProfileSpendingLimit = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileSpendingLimit?) content.GetValueForProperty("BillingProfileSpendingLimit",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).BillingProfileSpendingLimit, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileSpendingLimit.CreateFrom); + } + if (content.Contains("CostCenter")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).CostCenter = (string) content.GetValueForProperty("CostCenter",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).CostCenter, global::System.Convert.ToString); + } + if (content.Contains("InvoiceSectionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).InvoiceSectionId = (string) content.GetValueForProperty("InvoiceSectionId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).InvoiceSectionId, global::System.Convert.ToString); + } + if (content.Contains("InvoiceSectionDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).InvoiceSectionDisplayName = (string) content.GetValueForProperty("InvoiceSectionDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).InvoiceSectionDisplayName, global::System.Convert.ToString); + } + if (content.Contains("IsAccountAdmin")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).IsAccountAdmin = (bool?) content.GetValueForProperty("IsAccountAdmin",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).IsAccountAdmin, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("ProductId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).ProductId = (string) content.GetValueForProperty("ProductId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).ProductId, global::System.Convert.ToString); + } + if (content.Contains("ProductName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).ProductName = (string) content.GetValueForProperty("ProductName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).ProductName, global::System.Convert.ToString); + } + if (content.Contains("SkuId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).SkuId = (string) content.GetValueForProperty("SkuId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).SkuId, global::System.Convert.ToString); + } + if (content.Contains("SkuDescription")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).SkuDescription = (string) content.GetValueForProperty("SkuDescription",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).SkuDescription, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal BillingPropertyProperties(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("AccountAdminNotificationEmailAddress")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).AccountAdminNotificationEmailAddress = (string) content.GetValueForProperty("AccountAdminNotificationEmailAddress",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).AccountAdminNotificationEmailAddress, global::System.Convert.ToString); + } + if (content.Contains("BillingTenantId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).BillingTenantId = (string) content.GetValueForProperty("BillingTenantId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).BillingTenantId, global::System.Convert.ToString); + } + if (content.Contains("BillingAccountId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).BillingAccountId = (string) content.GetValueForProperty("BillingAccountId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).BillingAccountId, global::System.Convert.ToString); + } + if (content.Contains("BillingAccountDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).BillingAccountDisplayName = (string) content.GetValueForProperty("BillingAccountDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).BillingAccountDisplayName, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).BillingProfileId = (string) content.GetValueForProperty("BillingProfileId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).BillingProfileId, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).BillingProfileDisplayName = (string) content.GetValueForProperty("BillingProfileDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).BillingProfileDisplayName, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileStatus")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).BillingProfileStatus = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus?) content.GetValueForProperty("BillingProfileStatus",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).BillingProfileStatus, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus.CreateFrom); + } + if (content.Contains("BillingProfileStatusReasonCode")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).BillingProfileStatusReasonCode = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatusReasonCode?) content.GetValueForProperty("BillingProfileStatusReasonCode",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).BillingProfileStatusReasonCode, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatusReasonCode.CreateFrom); + } + if (content.Contains("BillingProfileSpendingLimit")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).BillingProfileSpendingLimit = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileSpendingLimit?) content.GetValueForProperty("BillingProfileSpendingLimit",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).BillingProfileSpendingLimit, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileSpendingLimit.CreateFrom); + } + if (content.Contains("CostCenter")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).CostCenter = (string) content.GetValueForProperty("CostCenter",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).CostCenter, global::System.Convert.ToString); + } + if (content.Contains("InvoiceSectionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).InvoiceSectionId = (string) content.GetValueForProperty("InvoiceSectionId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).InvoiceSectionId, global::System.Convert.ToString); + } + if (content.Contains("InvoiceSectionDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).InvoiceSectionDisplayName = (string) content.GetValueForProperty("InvoiceSectionDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).InvoiceSectionDisplayName, global::System.Convert.ToString); + } + if (content.Contains("IsAccountAdmin")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).IsAccountAdmin = (bool?) content.GetValueForProperty("IsAccountAdmin",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).IsAccountAdmin, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("ProductId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).ProductId = (string) content.GetValueForProperty("ProductId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).ProductId, global::System.Convert.ToString); + } + if (content.Contains("ProductName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).ProductName = (string) content.GetValueForProperty("ProductName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).ProductName, global::System.Convert.ToString); + } + if (content.Contains("SkuId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).SkuId = (string) content.GetValueForProperty("SkuId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).SkuId, global::System.Convert.ToString); + } + if (content.Contains("SkuDescription")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).SkuDescription = (string) content.GetValueForProperty("SkuDescription",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal)this).SkuDescription, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyProperties DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new BillingPropertyProperties(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyProperties DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new BillingPropertyProperties(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyProperties FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The billing property. + [System.ComponentModel.TypeConverter(typeof(BillingPropertyPropertiesTypeConverter))] + public partial interface IBillingPropertyProperties + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingPropertyProperties.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingPropertyProperties.TypeConverter.cs new file mode 100644 index 000000000000..3fa3476c0ef0 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingPropertyProperties.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class BillingPropertyPropertiesTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyProperties ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyProperties).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return BillingPropertyProperties.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return BillingPropertyProperties.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return BillingPropertyProperties.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingPropertyProperties.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingPropertyProperties.cs new file mode 100644 index 000000000000..34a9959ba80a --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingPropertyProperties.cs @@ -0,0 +1,371 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The billing property. + public partial class BillingPropertyProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyProperties, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal + { + + /// Backing field for property. + private string _accountAdminNotificationEmailAddress; + + /// The email address on which the account admin gets all Azure notifications. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string AccountAdminNotificationEmailAddress { get => this._accountAdminNotificationEmailAddress; } + + /// Backing field for property. + private string _billingAccountDisplayName; + + /// The name of the billing account to which the subscription is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string BillingAccountDisplayName { get => this._billingAccountDisplayName; } + + /// Backing field for property. + private string _billingAccountId; + + /// The ID of the billing account to which the subscription is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string BillingAccountId { get => this._billingAccountId; } + + /// Backing field for property. + private string _billingProfileDisplayName; + + /// The name of the billing profile to which the subscription is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string BillingProfileDisplayName { get => this._billingProfileDisplayName; } + + /// Backing field for property. + private string _billingProfileId; + + /// The ID of the billing profile to which the subscription is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string BillingProfileId { get => this._billingProfileId; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileSpendingLimit? _billingProfileSpendingLimit; + + /// The billing profile spending limit. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileSpendingLimit? BillingProfileSpendingLimit { get => this._billingProfileSpendingLimit; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus? _billingProfileStatus; + + /// The status of the billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus? BillingProfileStatus { get => this._billingProfileStatus; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatusReasonCode? _billingProfileStatusReasonCode; + + /// Reason for the specified billing profile status. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatusReasonCode? BillingProfileStatusReasonCode { get => this._billingProfileStatusReasonCode; } + + /// Backing field for property. + private string _billingTenantId; + + /// The Azure AD tenant ID of the billing account for the subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string BillingTenantId { get => this._billingTenantId; } + + /// Backing field for property. + private string _costCenter; + + /// The cost center applied to the subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string CostCenter { get => this._costCenter; set => this._costCenter = value; } + + /// Backing field for property. + private string _invoiceSectionDisplayName; + + /// The name of the invoice section to which the subscription is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string InvoiceSectionDisplayName { get => this._invoiceSectionDisplayName; } + + /// Backing field for property. + private string _invoiceSectionId; + + /// The ID of the invoice section to which the subscription is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string InvoiceSectionId { get => this._invoiceSectionId; } + + /// Backing field for property. + private bool? _isAccountAdmin; + + /// Indicates whether user is the account admin. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public bool? IsAccountAdmin { get => this._isAccountAdmin; } + + /// Internal Acessors for AccountAdminNotificationEmailAddress + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal.AccountAdminNotificationEmailAddress { get => this._accountAdminNotificationEmailAddress; set { {_accountAdminNotificationEmailAddress = value;} } } + + /// Internal Acessors for BillingAccountDisplayName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal.BillingAccountDisplayName { get => this._billingAccountDisplayName; set { {_billingAccountDisplayName = value;} } } + + /// Internal Acessors for BillingAccountId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal.BillingAccountId { get => this._billingAccountId; set { {_billingAccountId = value;} } } + + /// Internal Acessors for BillingProfileDisplayName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal.BillingProfileDisplayName { get => this._billingProfileDisplayName; set { {_billingProfileDisplayName = value;} } } + + /// Internal Acessors for BillingProfileId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal.BillingProfileId { get => this._billingProfileId; set { {_billingProfileId = value;} } } + + /// Internal Acessors for BillingProfileSpendingLimit + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileSpendingLimit? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal.BillingProfileSpendingLimit { get => this._billingProfileSpendingLimit; set { {_billingProfileSpendingLimit = value;} } } + + /// Internal Acessors for BillingProfileStatus + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal.BillingProfileStatus { get => this._billingProfileStatus; set { {_billingProfileStatus = value;} } } + + /// Internal Acessors for BillingProfileStatusReasonCode + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatusReasonCode? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal.BillingProfileStatusReasonCode { get => this._billingProfileStatusReasonCode; set { {_billingProfileStatusReasonCode = value;} } } + + /// Internal Acessors for BillingTenantId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal.BillingTenantId { get => this._billingTenantId; set { {_billingTenantId = value;} } } + + /// Internal Acessors for InvoiceSectionDisplayName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal.InvoiceSectionDisplayName { get => this._invoiceSectionDisplayName; set { {_invoiceSectionDisplayName = value;} } } + + /// Internal Acessors for InvoiceSectionId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal.InvoiceSectionId { get => this._invoiceSectionId; set { {_invoiceSectionId = value;} } } + + /// Internal Acessors for IsAccountAdmin + bool? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal.IsAccountAdmin { get => this._isAccountAdmin; set { {_isAccountAdmin = value;} } } + + /// Internal Acessors for ProductId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal.ProductId { get => this._productId; set { {_productId = value;} } } + + /// Internal Acessors for ProductName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal.ProductName { get => this._productName; set { {_productName = value;} } } + + /// Internal Acessors for SkuDescription + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal.SkuDescription { get => this._skuDescription; set { {_skuDescription = value;} } } + + /// Internal Acessors for SkuId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyPropertiesInternal.SkuId { get => this._skuId; set { {_skuId = value;} } } + + /// Backing field for property. + private string _productId; + + /// The product ID of the Azure plan. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string ProductId { get => this._productId; } + + /// Backing field for property. + private string _productName; + + /// The product name of the Azure plan. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string ProductName { get => this._productName; } + + /// Backing field for property. + private string _skuDescription; + + /// The sku description of the Azure plan for the subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string SkuDescription { get => this._skuDescription; } + + /// Backing field for property. + private string _skuId; + + /// The sku ID of the Azure plan for the subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string SkuId { get => this._skuId; } + + /// Creates an new instance. + public BillingPropertyProperties() + { + + } + } + /// The billing property. + public partial interface IBillingPropertyProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The email address on which the account admin gets all Azure notifications. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The email address on which the account admin gets all Azure notifications.", + SerializedName = @"accountAdminNotificationEmailAddress", + PossibleTypes = new [] { typeof(string) })] + string AccountAdminNotificationEmailAddress { get; } + /// The name of the billing account to which the subscription is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the billing account to which the subscription is billed.", + SerializedName = @"billingAccountDisplayName", + PossibleTypes = new [] { typeof(string) })] + string BillingAccountDisplayName { get; } + /// The ID of the billing account to which the subscription is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the billing account to which the subscription is billed.", + SerializedName = @"billingAccountId", + PossibleTypes = new [] { typeof(string) })] + string BillingAccountId { get; } + /// The name of the billing profile to which the subscription is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the billing profile to which the subscription is billed.", + SerializedName = @"billingProfileDisplayName", + PossibleTypes = new [] { typeof(string) })] + string BillingProfileDisplayName { get; } + /// The ID of the billing profile to which the subscription is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the billing profile to which the subscription is billed.", + SerializedName = @"billingProfileId", + PossibleTypes = new [] { typeof(string) })] + string BillingProfileId { get; } + /// The billing profile spending limit. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The billing profile spending limit.", + SerializedName = @"billingProfileSpendingLimit", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileSpendingLimit) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileSpendingLimit? BillingProfileSpendingLimit { get; } + /// The status of the billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The status of the billing profile.", + SerializedName = @"billingProfileStatus", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus? BillingProfileStatus { get; } + /// Reason for the specified billing profile status. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Reason for the specified billing profile status.", + SerializedName = @"billingProfileStatusReasonCode", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatusReasonCode) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatusReasonCode? BillingProfileStatusReasonCode { get; } + /// The Azure AD tenant ID of the billing account for the subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The Azure AD tenant ID of the billing account for the subscription.", + SerializedName = @"billingTenantId", + PossibleTypes = new [] { typeof(string) })] + string BillingTenantId { get; } + /// The cost center applied to the subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The cost center applied to the subscription.", + SerializedName = @"costCenter", + PossibleTypes = new [] { typeof(string) })] + string CostCenter { get; set; } + /// The name of the invoice section to which the subscription is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the invoice section to which the subscription is billed.", + SerializedName = @"invoiceSectionDisplayName", + PossibleTypes = new [] { typeof(string) })] + string InvoiceSectionDisplayName { get; } + /// The ID of the invoice section to which the subscription is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the invoice section to which the subscription is billed.", + SerializedName = @"invoiceSectionId", + PossibleTypes = new [] { typeof(string) })] + string InvoiceSectionId { get; } + /// Indicates whether user is the account admin. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Indicates whether user is the account admin.", + SerializedName = @"isAccountAdmin", + PossibleTypes = new [] { typeof(bool) })] + bool? IsAccountAdmin { get; } + /// The product ID of the Azure plan. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The product ID of the Azure plan.", + SerializedName = @"productId", + PossibleTypes = new [] { typeof(string) })] + string ProductId { get; } + /// The product name of the Azure plan. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The product name of the Azure plan.", + SerializedName = @"productName", + PossibleTypes = new [] { typeof(string) })] + string ProductName { get; } + /// The sku description of the Azure plan for the subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The sku description of the Azure plan for the subscription.", + SerializedName = @"skuDescription", + PossibleTypes = new [] { typeof(string) })] + string SkuDescription { get; } + /// The sku ID of the Azure plan for the subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The sku ID of the Azure plan for the subscription.", + SerializedName = @"skuId", + PossibleTypes = new [] { typeof(string) })] + string SkuId { get; } + + } + /// The billing property. + internal partial interface IBillingPropertyPropertiesInternal + + { + /// The email address on which the account admin gets all Azure notifications. + string AccountAdminNotificationEmailAddress { get; set; } + /// The name of the billing account to which the subscription is billed. + string BillingAccountDisplayName { get; set; } + /// The ID of the billing account to which the subscription is billed. + string BillingAccountId { get; set; } + /// The name of the billing profile to which the subscription is billed. + string BillingProfileDisplayName { get; set; } + /// The ID of the billing profile to which the subscription is billed. + string BillingProfileId { get; set; } + /// The billing profile spending limit. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileSpendingLimit? BillingProfileSpendingLimit { get; set; } + /// The status of the billing profile. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus? BillingProfileStatus { get; set; } + /// Reason for the specified billing profile status. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatusReasonCode? BillingProfileStatusReasonCode { get; set; } + /// The Azure AD tenant ID of the billing account for the subscription. + string BillingTenantId { get; set; } + /// The cost center applied to the subscription. + string CostCenter { get; set; } + /// The name of the invoice section to which the subscription is billed. + string InvoiceSectionDisplayName { get; set; } + /// The ID of the invoice section to which the subscription is billed. + string InvoiceSectionId { get; set; } + /// Indicates whether user is the account admin. + bool? IsAccountAdmin { get; set; } + /// The product ID of the Azure plan. + string ProductId { get; set; } + /// The product name of the Azure plan. + string ProductName { get; set; } + /// The sku description of the Azure plan for the subscription. + string SkuDescription { get; set; } + /// The sku ID of the Azure plan for the subscription. + string SkuId { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingPropertyProperties.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingPropertyProperties.json.cs new file mode 100644 index 000000000000..6d9cbd0f0a7c --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingPropertyProperties.json.cs @@ -0,0 +1,188 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The billing property. + public partial class BillingPropertyProperties + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal BillingPropertyProperties(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_accountAdminNotificationEmailAddress = If( json?.PropertyT("accountAdminNotificationEmailAddress"), out var __jsonAccountAdminNotificationEmailAddress) ? (string)__jsonAccountAdminNotificationEmailAddress : (string)AccountAdminNotificationEmailAddress;} + {_billingTenantId = If( json?.PropertyT("billingTenantId"), out var __jsonBillingTenantId) ? (string)__jsonBillingTenantId : (string)BillingTenantId;} + {_billingAccountId = If( json?.PropertyT("billingAccountId"), out var __jsonBillingAccountId) ? (string)__jsonBillingAccountId : (string)BillingAccountId;} + {_billingAccountDisplayName = If( json?.PropertyT("billingAccountDisplayName"), out var __jsonBillingAccountDisplayName) ? (string)__jsonBillingAccountDisplayName : (string)BillingAccountDisplayName;} + {_billingProfileId = If( json?.PropertyT("billingProfileId"), out var __jsonBillingProfileId) ? (string)__jsonBillingProfileId : (string)BillingProfileId;} + {_billingProfileDisplayName = If( json?.PropertyT("billingProfileDisplayName"), out var __jsonBillingProfileDisplayName) ? (string)__jsonBillingProfileDisplayName : (string)BillingProfileDisplayName;} + {_billingProfileStatus = If( json?.PropertyT("billingProfileStatus"), out var __jsonBillingProfileStatus) ? (string)__jsonBillingProfileStatus : (string)BillingProfileStatus;} + {_billingProfileStatusReasonCode = If( json?.PropertyT("billingProfileStatusReasonCode"), out var __jsonBillingProfileStatusReasonCode) ? (string)__jsonBillingProfileStatusReasonCode : (string)BillingProfileStatusReasonCode;} + {_billingProfileSpendingLimit = If( json?.PropertyT("billingProfileSpendingLimit"), out var __jsonBillingProfileSpendingLimit) ? (string)__jsonBillingProfileSpendingLimit : (string)BillingProfileSpendingLimit;} + {_costCenter = If( json?.PropertyT("costCenter"), out var __jsonCostCenter) ? (string)__jsonCostCenter : (string)CostCenter;} + {_invoiceSectionId = If( json?.PropertyT("invoiceSectionId"), out var __jsonInvoiceSectionId) ? (string)__jsonInvoiceSectionId : (string)InvoiceSectionId;} + {_invoiceSectionDisplayName = If( json?.PropertyT("invoiceSectionDisplayName"), out var __jsonInvoiceSectionDisplayName) ? (string)__jsonInvoiceSectionDisplayName : (string)InvoiceSectionDisplayName;} + {_isAccountAdmin = If( json?.PropertyT("isAccountAdmin"), out var __jsonIsAccountAdmin) ? (bool?)__jsonIsAccountAdmin : IsAccountAdmin;} + {_productId = If( json?.PropertyT("productId"), out var __jsonProductId) ? (string)__jsonProductId : (string)ProductId;} + {_productName = If( json?.PropertyT("productName"), out var __jsonProductName) ? (string)__jsonProductName : (string)ProductName;} + {_skuId = If( json?.PropertyT("skuId"), out var __jsonSkuId) ? (string)__jsonSkuId : (string)SkuId;} + {_skuDescription = If( json?.PropertyT("skuDescription"), out var __jsonSkuDescription) ? (string)__jsonSkuDescription : (string)SkuDescription;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyProperties. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyProperties. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPropertyProperties FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new BillingPropertyProperties(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._accountAdminNotificationEmailAddress)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._accountAdminNotificationEmailAddress.ToString()) : null, "accountAdminNotificationEmailAddress" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._billingTenantId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._billingTenantId.ToString()) : null, "billingTenantId" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._billingAccountId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._billingAccountId.ToString()) : null, "billingAccountId" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._billingAccountDisplayName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._billingAccountDisplayName.ToString()) : null, "billingAccountDisplayName" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._billingProfileId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._billingProfileId.ToString()) : null, "billingProfileId" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._billingProfileDisplayName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._billingProfileDisplayName.ToString()) : null, "billingProfileDisplayName" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._billingProfileStatus)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._billingProfileStatus.ToString()) : null, "billingProfileStatus" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._billingProfileStatusReasonCode)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._billingProfileStatusReasonCode.ToString()) : null, "billingProfileStatusReasonCode" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._billingProfileSpendingLimit)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._billingProfileSpendingLimit.ToString()) : null, "billingProfileSpendingLimit" ,container.Add ); + } + AddIf( null != (((object)this._costCenter)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._costCenter.ToString()) : null, "costCenter" ,container.Add ); + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._invoiceSectionId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._invoiceSectionId.ToString()) : null, "invoiceSectionId" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._invoiceSectionDisplayName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._invoiceSectionDisplayName.ToString()) : null, "invoiceSectionDisplayName" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._isAccountAdmin ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonBoolean((bool)this._isAccountAdmin) : null, "isAccountAdmin" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._productId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._productId.ToString()) : null, "productId" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._productName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._productName.ToString()) : null, "productName" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._skuId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._skuId.ToString()) : null, "skuId" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._skuDescription)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._skuDescription.ToString()) : null, "skuDescription" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleAssignment.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleAssignment.PowerShell.cs new file mode 100644 index 000000000000..1943a4a1e5b7 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleAssignment.PowerShell.cs @@ -0,0 +1,248 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The role assignment + [System.ComponentModel.TypeConverter(typeof(BillingRoleAssignmentTypeConverter))] + public partial class BillingRoleAssignment + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal BillingRoleAssignment(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleAssignmentPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("CreatedOn")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).CreatedOn = (string) content.GetValueForProperty("CreatedOn",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).CreatedOn, global::System.Convert.ToString); + } + if (content.Contains("CreatedByPrincipalTenantId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).CreatedByPrincipalTenantId = (string) content.GetValueForProperty("CreatedByPrincipalTenantId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).CreatedByPrincipalTenantId, global::System.Convert.ToString); + } + if (content.Contains("CreatedByPrincipalId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).CreatedByPrincipalId = (string) content.GetValueForProperty("CreatedByPrincipalId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).CreatedByPrincipalId, global::System.Convert.ToString); + } + if (content.Contains("CreatedByUserEmailAddress")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).CreatedByUserEmailAddress = (string) content.GetValueForProperty("CreatedByUserEmailAddress",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).CreatedByUserEmailAddress, global::System.Convert.ToString); + } + if (content.Contains("PrincipalId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).PrincipalId = (string) content.GetValueForProperty("PrincipalId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).PrincipalId, global::System.Convert.ToString); + } + if (content.Contains("PrincipalTenantId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).PrincipalTenantId = (string) content.GetValueForProperty("PrincipalTenantId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).PrincipalTenantId, global::System.Convert.ToString); + } + if (content.Contains("RoleDefinitionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).RoleDefinitionId = (string) content.GetValueForProperty("RoleDefinitionId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).RoleDefinitionId, global::System.Convert.ToString); + } + if (content.Contains("Scope")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).Scope = (string) content.GetValueForProperty("Scope",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).Scope, global::System.Convert.ToString); + } + if (content.Contains("UserAuthenticationType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).UserAuthenticationType = (string) content.GetValueForProperty("UserAuthenticationType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).UserAuthenticationType, global::System.Convert.ToString); + } + if (content.Contains("UserEmailAddress")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).UserEmailAddress = (string) content.GetValueForProperty("UserEmailAddress",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).UserEmailAddress, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal BillingRoleAssignment(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleAssignmentPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("CreatedOn")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).CreatedOn = (string) content.GetValueForProperty("CreatedOn",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).CreatedOn, global::System.Convert.ToString); + } + if (content.Contains("CreatedByPrincipalTenantId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).CreatedByPrincipalTenantId = (string) content.GetValueForProperty("CreatedByPrincipalTenantId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).CreatedByPrincipalTenantId, global::System.Convert.ToString); + } + if (content.Contains("CreatedByPrincipalId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).CreatedByPrincipalId = (string) content.GetValueForProperty("CreatedByPrincipalId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).CreatedByPrincipalId, global::System.Convert.ToString); + } + if (content.Contains("CreatedByUserEmailAddress")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).CreatedByUserEmailAddress = (string) content.GetValueForProperty("CreatedByUserEmailAddress",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).CreatedByUserEmailAddress, global::System.Convert.ToString); + } + if (content.Contains("PrincipalId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).PrincipalId = (string) content.GetValueForProperty("PrincipalId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).PrincipalId, global::System.Convert.ToString); + } + if (content.Contains("PrincipalTenantId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).PrincipalTenantId = (string) content.GetValueForProperty("PrincipalTenantId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).PrincipalTenantId, global::System.Convert.ToString); + } + if (content.Contains("RoleDefinitionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).RoleDefinitionId = (string) content.GetValueForProperty("RoleDefinitionId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).RoleDefinitionId, global::System.Convert.ToString); + } + if (content.Contains("Scope")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).Scope = (string) content.GetValueForProperty("Scope",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).Scope, global::System.Convert.ToString); + } + if (content.Contains("UserAuthenticationType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).UserAuthenticationType = (string) content.GetValueForProperty("UserAuthenticationType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).UserAuthenticationType, global::System.Convert.ToString); + } + if (content.Contains("UserEmailAddress")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).UserEmailAddress = (string) content.GetValueForProperty("UserEmailAddress",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal)this).UserEmailAddress, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new BillingRoleAssignment(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new BillingRoleAssignment(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The role assignment + [System.ComponentModel.TypeConverter(typeof(BillingRoleAssignmentTypeConverter))] + public partial interface IBillingRoleAssignment + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleAssignment.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleAssignment.TypeConverter.cs new file mode 100644 index 000000000000..026f19e3f0b2 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleAssignment.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class BillingRoleAssignmentTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return BillingRoleAssignment.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return BillingRoleAssignment.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return BillingRoleAssignment.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleAssignment.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleAssignment.cs new file mode 100644 index 000000000000..6e3062039e0a --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleAssignment.cs @@ -0,0 +1,241 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The role assignment + public partial class BillingRoleAssignment : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IValidates + { + /// + /// Backing field for Inherited model + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource __resource = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource(); + + /// The principal Id of the user who created the role assignment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string CreatedByPrincipalId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)Property).CreatedByPrincipalId; } + + /// The tenant Id of the user who created the role assignment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string CreatedByPrincipalTenantId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)Property).CreatedByPrincipalTenantId; } + + /// The email address of the user who created the role assignment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string CreatedByUserEmailAddress { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)Property).CreatedByUserEmailAddress; } + + /// The date the role assignment was created. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string CreatedOn { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)Property).CreatedOn; } + + /// Resource Id. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id; } + + /// Internal Acessors for Id + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id = value; } + + /// Internal Acessors for Name + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name = value; } + + /// Internal Acessors for Type + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type = value; } + + /// Internal Acessors for CreatedByPrincipalId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal.CreatedByPrincipalId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)Property).CreatedByPrincipalId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)Property).CreatedByPrincipalId = value; } + + /// Internal Acessors for CreatedByPrincipalTenantId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal.CreatedByPrincipalTenantId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)Property).CreatedByPrincipalTenantId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)Property).CreatedByPrincipalTenantId = value; } + + /// Internal Acessors for CreatedByUserEmailAddress + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal.CreatedByUserEmailAddress { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)Property).CreatedByUserEmailAddress; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)Property).CreatedByUserEmailAddress = value; } + + /// Internal Acessors for CreatedOn + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal.CreatedOn { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)Property).CreatedOn; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)Property).CreatedOn = value; } + + /// Internal Acessors for Property + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentProperties Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal.Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleAssignmentProperties()); set { {_property = value;} } } + + /// Internal Acessors for Scope + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentInternal.Scope { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)Property).Scope; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)Property).Scope = value; } + + /// Resource name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name; } + + /// The principal id of the user to whom the role was assigned. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string PrincipalId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)Property).PrincipalId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)Property).PrincipalId = value ?? null; } + + /// The principal tenant id of the user to whom the role was assigned. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string PrincipalTenantId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)Property).PrincipalTenantId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)Property).PrincipalTenantId = value ?? null; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentProperties _property; + + /// The properties of the role assignment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentProperties Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleAssignmentProperties()); set => this._property = value; } + + /// The ID of the role definition. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string RoleDefinitionId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)Property).RoleDefinitionId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)Property).RoleDefinitionId = value ?? null; } + + /// The scope at which the role was assigned. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string Scope { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)Property).Scope; } + + /// Resource type. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type; } + + /// The authentication type. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string UserAuthenticationType { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)Property).UserAuthenticationType; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)Property).UserAuthenticationType = value ?? null; } + + /// The email address of the user. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string UserEmailAddress { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)Property).UserEmailAddress; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)Property).UserEmailAddress = value ?? null; } + + /// Creates an new instance. + public BillingRoleAssignment() + { + + } + + /// Validates that this object meets the validation criteria. + /// an instance that will receive validation + /// events. + /// + /// A that will be complete when validation is completed. + /// + public async global::System.Threading.Tasks.Task Validate(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + await eventListener.AssertNotNull(nameof(__resource), __resource); + await eventListener.AssertObjectIsValid(nameof(__resource), __resource); + } + } + /// The role assignment + public partial interface IBillingRoleAssignment : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource + { + /// The principal Id of the user who created the role assignment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The principal Id of the user who created the role assignment.", + SerializedName = @"createdByPrincipalId", + PossibleTypes = new [] { typeof(string) })] + string CreatedByPrincipalId { get; } + /// The tenant Id of the user who created the role assignment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The tenant Id of the user who created the role assignment.", + SerializedName = @"createdByPrincipalTenantId", + PossibleTypes = new [] { typeof(string) })] + string CreatedByPrincipalTenantId { get; } + /// The email address of the user who created the role assignment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The email address of the user who created the role assignment.", + SerializedName = @"createdByUserEmailAddress", + PossibleTypes = new [] { typeof(string) })] + string CreatedByUserEmailAddress { get; } + /// The date the role assignment was created. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The date the role assignment was created.", + SerializedName = @"createdOn", + PossibleTypes = new [] { typeof(string) })] + string CreatedOn { get; } + /// The principal id of the user to whom the role was assigned. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The principal id of the user to whom the role was assigned.", + SerializedName = @"principalId", + PossibleTypes = new [] { typeof(string) })] + string PrincipalId { get; set; } + /// The principal tenant id of the user to whom the role was assigned. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The principal tenant id of the user to whom the role was assigned.", + SerializedName = @"principalTenantId", + PossibleTypes = new [] { typeof(string) })] + string PrincipalTenantId { get; set; } + /// The ID of the role definition. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The ID of the role definition.", + SerializedName = @"roleDefinitionId", + PossibleTypes = new [] { typeof(string) })] + string RoleDefinitionId { get; set; } + /// The scope at which the role was assigned. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The scope at which the role was assigned.", + SerializedName = @"scope", + PossibleTypes = new [] { typeof(string) })] + string Scope { get; } + /// The authentication type. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The authentication type.", + SerializedName = @"userAuthenticationType", + PossibleTypes = new [] { typeof(string) })] + string UserAuthenticationType { get; set; } + /// The email address of the user. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The email address of the user.", + SerializedName = @"userEmailAddress", + PossibleTypes = new [] { typeof(string) })] + string UserEmailAddress { get; set; } + + } + /// The role assignment + internal partial interface IBillingRoleAssignmentInternal : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal + { + /// The principal Id of the user who created the role assignment. + string CreatedByPrincipalId { get; set; } + /// The tenant Id of the user who created the role assignment. + string CreatedByPrincipalTenantId { get; set; } + /// The email address of the user who created the role assignment. + string CreatedByUserEmailAddress { get; set; } + /// The date the role assignment was created. + string CreatedOn { get; set; } + /// The principal id of the user to whom the role was assigned. + string PrincipalId { get; set; } + /// The principal tenant id of the user to whom the role was assigned. + string PrincipalTenantId { get; set; } + /// The properties of the role assignment. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentProperties Property { get; set; } + /// The ID of the role definition. + string RoleDefinitionId { get; set; } + /// The scope at which the role was assigned. + string Scope { get; set; } + /// The authentication type. + string UserAuthenticationType { get; set; } + /// The email address of the user. + string UserEmailAddress { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleAssignment.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleAssignment.json.cs new file mode 100644 index 000000000000..f5b64601ff48 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleAssignment.json.cs @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The role assignment + public partial class BillingRoleAssignment + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal BillingRoleAssignment(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + __resource = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource(json); + {_property = If( json?.PropertyT("properties"), out var __jsonProperties) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleAssignmentProperties.FromJson(__jsonProperties) : Property;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new BillingRoleAssignment(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + __resource?.ToJson(container, serializationMode); + AddIf( null != this._property ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._property.ToJson(null,serializationMode) : null, "properties" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleAssignmentListResult.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleAssignmentListResult.PowerShell.cs new file mode 100644 index 000000000000..8e8021e965b8 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleAssignmentListResult.PowerShell.cs @@ -0,0 +1,154 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The list of role assignments. + [System.ComponentModel.TypeConverter(typeof(BillingRoleAssignmentListResultTypeConverter))] + public partial class BillingRoleAssignmentListResult + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal BillingRoleAssignmentListResult(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleAssignmentTypeConverter.ConvertFrom)); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentListResultInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal BillingRoleAssignmentListResult(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleAssignmentTypeConverter.ConvertFrom)); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentListResultInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentListResult DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new BillingRoleAssignmentListResult(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentListResult DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new BillingRoleAssignmentListResult(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentListResult FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The list of role assignments. + [System.ComponentModel.TypeConverter(typeof(BillingRoleAssignmentListResultTypeConverter))] + public partial interface IBillingRoleAssignmentListResult + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleAssignmentListResult.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleAssignmentListResult.TypeConverter.cs new file mode 100644 index 000000000000..a232c615ff7d --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleAssignmentListResult.TypeConverter.cs @@ -0,0 +1,148 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class BillingRoleAssignmentListResultTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentListResult ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentListResult).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return BillingRoleAssignmentListResult.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return BillingRoleAssignmentListResult.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return BillingRoleAssignmentListResult.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleAssignmentListResult.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleAssignmentListResult.cs new file mode 100644 index 000000000000..976f32658aab --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleAssignmentListResult.cs @@ -0,0 +1,74 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The list of role assignments. + public partial class BillingRoleAssignmentListResult : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentListResult, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentListResultInternal + { + + /// Internal Acessors for NextLink + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentListResultInternal.NextLink { get => this._nextLink; set { {_nextLink = value;} } } + + /// Internal Acessors for Value + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment[] Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentListResultInternal.Value { get => this._value; set { {_value = value;} } } + + /// Backing field for property. + private string _nextLink; + + /// The link (url) to the next page of results. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string NextLink { get => this._nextLink; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment[] _value; + + /// The list of role assignments. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment[] Value { get => this._value; } + + /// Creates an new instance. + public BillingRoleAssignmentListResult() + { + + } + } + /// The list of role assignments. + public partial interface IBillingRoleAssignmentListResult : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The link (url) to the next page of results. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The link (url) to the next page of results.", + SerializedName = @"nextLink", + PossibleTypes = new [] { typeof(string) })] + string NextLink { get; } + /// The list of role assignments. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The list of role assignments.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment[] Value { get; } + + } + /// The list of role assignments. + internal partial interface IBillingRoleAssignmentListResultInternal + + { + /// The link (url) to the next page of results. + string NextLink { get; set; } + /// The list of role assignments. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment[] Value { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleAssignmentListResult.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleAssignmentListResult.json.cs new file mode 100644 index 000000000000..3b72bd0b9241 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleAssignmentListResult.json.cs @@ -0,0 +1,124 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The list of role assignments. + public partial class BillingRoleAssignmentListResult + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal BillingRoleAssignmentListResult(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_value = If( json?.PropertyT("value"), out var __jsonValue) ? If( __jsonValue as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment) (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleAssignment.FromJson(__u) )) ))() : null : Value;} + {_nextLink = If( json?.PropertyT("nextLink"), out var __jsonNextLink) ? (string)__jsonNextLink : (string)NextLink;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentListResult. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentListResult. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentListResult FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new BillingRoleAssignmentListResult(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + if (null != this._value) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(); + foreach( var __x in this._value ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("value",__w); + } + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._nextLink)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._nextLink.ToString()) : null, "nextLink" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleAssignmentProperties.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleAssignmentProperties.PowerShell.cs new file mode 100644 index 000000000000..2d75898b95fe --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleAssignmentProperties.PowerShell.cs @@ -0,0 +1,218 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The properties of the role assignment. + [System.ComponentModel.TypeConverter(typeof(BillingRoleAssignmentPropertiesTypeConverter))] + public partial class BillingRoleAssignmentProperties + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal BillingRoleAssignmentProperties(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("CreatedOn")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)this).CreatedOn = (string) content.GetValueForProperty("CreatedOn",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)this).CreatedOn, global::System.Convert.ToString); + } + if (content.Contains("CreatedByPrincipalTenantId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)this).CreatedByPrincipalTenantId = (string) content.GetValueForProperty("CreatedByPrincipalTenantId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)this).CreatedByPrincipalTenantId, global::System.Convert.ToString); + } + if (content.Contains("CreatedByPrincipalId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)this).CreatedByPrincipalId = (string) content.GetValueForProperty("CreatedByPrincipalId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)this).CreatedByPrincipalId, global::System.Convert.ToString); + } + if (content.Contains("CreatedByUserEmailAddress")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)this).CreatedByUserEmailAddress = (string) content.GetValueForProperty("CreatedByUserEmailAddress",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)this).CreatedByUserEmailAddress, global::System.Convert.ToString); + } + if (content.Contains("PrincipalId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)this).PrincipalId = (string) content.GetValueForProperty("PrincipalId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)this).PrincipalId, global::System.Convert.ToString); + } + if (content.Contains("PrincipalTenantId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)this).PrincipalTenantId = (string) content.GetValueForProperty("PrincipalTenantId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)this).PrincipalTenantId, global::System.Convert.ToString); + } + if (content.Contains("RoleDefinitionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)this).RoleDefinitionId = (string) content.GetValueForProperty("RoleDefinitionId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)this).RoleDefinitionId, global::System.Convert.ToString); + } + if (content.Contains("Scope")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)this).Scope = (string) content.GetValueForProperty("Scope",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)this).Scope, global::System.Convert.ToString); + } + if (content.Contains("UserAuthenticationType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)this).UserAuthenticationType = (string) content.GetValueForProperty("UserAuthenticationType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)this).UserAuthenticationType, global::System.Convert.ToString); + } + if (content.Contains("UserEmailAddress")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)this).UserEmailAddress = (string) content.GetValueForProperty("UserEmailAddress",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)this).UserEmailAddress, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal BillingRoleAssignmentProperties(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("CreatedOn")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)this).CreatedOn = (string) content.GetValueForProperty("CreatedOn",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)this).CreatedOn, global::System.Convert.ToString); + } + if (content.Contains("CreatedByPrincipalTenantId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)this).CreatedByPrincipalTenantId = (string) content.GetValueForProperty("CreatedByPrincipalTenantId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)this).CreatedByPrincipalTenantId, global::System.Convert.ToString); + } + if (content.Contains("CreatedByPrincipalId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)this).CreatedByPrincipalId = (string) content.GetValueForProperty("CreatedByPrincipalId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)this).CreatedByPrincipalId, global::System.Convert.ToString); + } + if (content.Contains("CreatedByUserEmailAddress")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)this).CreatedByUserEmailAddress = (string) content.GetValueForProperty("CreatedByUserEmailAddress",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)this).CreatedByUserEmailAddress, global::System.Convert.ToString); + } + if (content.Contains("PrincipalId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)this).PrincipalId = (string) content.GetValueForProperty("PrincipalId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)this).PrincipalId, global::System.Convert.ToString); + } + if (content.Contains("PrincipalTenantId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)this).PrincipalTenantId = (string) content.GetValueForProperty("PrincipalTenantId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)this).PrincipalTenantId, global::System.Convert.ToString); + } + if (content.Contains("RoleDefinitionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)this).RoleDefinitionId = (string) content.GetValueForProperty("RoleDefinitionId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)this).RoleDefinitionId, global::System.Convert.ToString); + } + if (content.Contains("Scope")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)this).Scope = (string) content.GetValueForProperty("Scope",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)this).Scope, global::System.Convert.ToString); + } + if (content.Contains("UserAuthenticationType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)this).UserAuthenticationType = (string) content.GetValueForProperty("UserAuthenticationType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)this).UserAuthenticationType, global::System.Convert.ToString); + } + if (content.Contains("UserEmailAddress")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)this).UserEmailAddress = (string) content.GetValueForProperty("UserEmailAddress",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal)this).UserEmailAddress, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentProperties DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new BillingRoleAssignmentProperties(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentProperties DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new BillingRoleAssignmentProperties(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentProperties FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The properties of the role assignment. + [System.ComponentModel.TypeConverter(typeof(BillingRoleAssignmentPropertiesTypeConverter))] + public partial interface IBillingRoleAssignmentProperties + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleAssignmentProperties.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleAssignmentProperties.TypeConverter.cs new file mode 100644 index 000000000000..a9457fda2398 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleAssignmentProperties.TypeConverter.cs @@ -0,0 +1,148 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class BillingRoleAssignmentPropertiesTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentProperties ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentProperties).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return BillingRoleAssignmentProperties.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return BillingRoleAssignmentProperties.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return BillingRoleAssignmentProperties.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleAssignmentProperties.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleAssignmentProperties.cs new file mode 100644 index 000000000000..2c58e4a4301b --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleAssignmentProperties.cs @@ -0,0 +1,219 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of the role assignment. + public partial class BillingRoleAssignmentProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentProperties, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal + { + + /// Backing field for property. + private string _createdByPrincipalId; + + /// The principal Id of the user who created the role assignment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string CreatedByPrincipalId { get => this._createdByPrincipalId; } + + /// Backing field for property. + private string _createdByPrincipalTenantId; + + /// The tenant Id of the user who created the role assignment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string CreatedByPrincipalTenantId { get => this._createdByPrincipalTenantId; } + + /// Backing field for property. + private string _createdByUserEmailAddress; + + /// The email address of the user who created the role assignment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string CreatedByUserEmailAddress { get => this._createdByUserEmailAddress; } + + /// Backing field for property. + private string _createdOn; + + /// The date the role assignment was created. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string CreatedOn { get => this._createdOn; } + + /// Internal Acessors for CreatedByPrincipalId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal.CreatedByPrincipalId { get => this._createdByPrincipalId; set { {_createdByPrincipalId = value;} } } + + /// Internal Acessors for CreatedByPrincipalTenantId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal.CreatedByPrincipalTenantId { get => this._createdByPrincipalTenantId; set { {_createdByPrincipalTenantId = value;} } } + + /// Internal Acessors for CreatedByUserEmailAddress + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal.CreatedByUserEmailAddress { get => this._createdByUserEmailAddress; set { {_createdByUserEmailAddress = value;} } } + + /// Internal Acessors for CreatedOn + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal.CreatedOn { get => this._createdOn; set { {_createdOn = value;} } } + + /// Internal Acessors for Scope + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentPropertiesInternal.Scope { get => this._scope; set { {_scope = value;} } } + + /// Backing field for property. + private string _principalId; + + /// The principal id of the user to whom the role was assigned. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string PrincipalId { get => this._principalId; set => this._principalId = value; } + + /// Backing field for property. + private string _principalTenantId; + + /// The principal tenant id of the user to whom the role was assigned. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string PrincipalTenantId { get => this._principalTenantId; set => this._principalTenantId = value; } + + /// Backing field for property. + private string _roleDefinitionId; + + /// The ID of the role definition. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string RoleDefinitionId { get => this._roleDefinitionId; set => this._roleDefinitionId = value; } + + /// Backing field for property. + private string _scope; + + /// The scope at which the role was assigned. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Scope { get => this._scope; } + + /// Backing field for property. + private string _userAuthenticationType; + + /// The authentication type. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string UserAuthenticationType { get => this._userAuthenticationType; set => this._userAuthenticationType = value; } + + /// Backing field for property. + private string _userEmailAddress; + + /// The email address of the user. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string UserEmailAddress { get => this._userEmailAddress; set => this._userEmailAddress = value; } + + /// Creates an new instance. + public BillingRoleAssignmentProperties() + { + + } + } + /// The properties of the role assignment. + public partial interface IBillingRoleAssignmentProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The principal Id of the user who created the role assignment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The principal Id of the user who created the role assignment.", + SerializedName = @"createdByPrincipalId", + PossibleTypes = new [] { typeof(string) })] + string CreatedByPrincipalId { get; } + /// The tenant Id of the user who created the role assignment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The tenant Id of the user who created the role assignment.", + SerializedName = @"createdByPrincipalTenantId", + PossibleTypes = new [] { typeof(string) })] + string CreatedByPrincipalTenantId { get; } + /// The email address of the user who created the role assignment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The email address of the user who created the role assignment.", + SerializedName = @"createdByUserEmailAddress", + PossibleTypes = new [] { typeof(string) })] + string CreatedByUserEmailAddress { get; } + /// The date the role assignment was created. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The date the role assignment was created.", + SerializedName = @"createdOn", + PossibleTypes = new [] { typeof(string) })] + string CreatedOn { get; } + /// The principal id of the user to whom the role was assigned. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The principal id of the user to whom the role was assigned.", + SerializedName = @"principalId", + PossibleTypes = new [] { typeof(string) })] + string PrincipalId { get; set; } + /// The principal tenant id of the user to whom the role was assigned. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The principal tenant id of the user to whom the role was assigned.", + SerializedName = @"principalTenantId", + PossibleTypes = new [] { typeof(string) })] + string PrincipalTenantId { get; set; } + /// The ID of the role definition. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The ID of the role definition.", + SerializedName = @"roleDefinitionId", + PossibleTypes = new [] { typeof(string) })] + string RoleDefinitionId { get; set; } + /// The scope at which the role was assigned. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The scope at which the role was assigned.", + SerializedName = @"scope", + PossibleTypes = new [] { typeof(string) })] + string Scope { get; } + /// The authentication type. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The authentication type.", + SerializedName = @"userAuthenticationType", + PossibleTypes = new [] { typeof(string) })] + string UserAuthenticationType { get; set; } + /// The email address of the user. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The email address of the user.", + SerializedName = @"userEmailAddress", + PossibleTypes = new [] { typeof(string) })] + string UserEmailAddress { get; set; } + + } + /// The properties of the role assignment. + internal partial interface IBillingRoleAssignmentPropertiesInternal + + { + /// The principal Id of the user who created the role assignment. + string CreatedByPrincipalId { get; set; } + /// The tenant Id of the user who created the role assignment. + string CreatedByPrincipalTenantId { get; set; } + /// The email address of the user who created the role assignment. + string CreatedByUserEmailAddress { get; set; } + /// The date the role assignment was created. + string CreatedOn { get; set; } + /// The principal id of the user to whom the role was assigned. + string PrincipalId { get; set; } + /// The principal tenant id of the user to whom the role was assigned. + string PrincipalTenantId { get; set; } + /// The ID of the role definition. + string RoleDefinitionId { get; set; } + /// The scope at which the role was assigned. + string Scope { get; set; } + /// The authentication type. + string UserAuthenticationType { get; set; } + /// The email address of the user. + string UserEmailAddress { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleAssignmentProperties.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleAssignmentProperties.json.cs new file mode 100644 index 000000000000..1d474dff6573 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleAssignmentProperties.json.cs @@ -0,0 +1,141 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of the role assignment. + public partial class BillingRoleAssignmentProperties + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal BillingRoleAssignmentProperties(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_createdOn = If( json?.PropertyT("createdOn"), out var __jsonCreatedOn) ? (string)__jsonCreatedOn : (string)CreatedOn;} + {_createdByPrincipalTenantId = If( json?.PropertyT("createdByPrincipalTenantId"), out var __jsonCreatedByPrincipalTenantId) ? (string)__jsonCreatedByPrincipalTenantId : (string)CreatedByPrincipalTenantId;} + {_createdByPrincipalId = If( json?.PropertyT("createdByPrincipalId"), out var __jsonCreatedByPrincipalId) ? (string)__jsonCreatedByPrincipalId : (string)CreatedByPrincipalId;} + {_createdByUserEmailAddress = If( json?.PropertyT("createdByUserEmailAddress"), out var __jsonCreatedByUserEmailAddress) ? (string)__jsonCreatedByUserEmailAddress : (string)CreatedByUserEmailAddress;} + {_principalId = If( json?.PropertyT("principalId"), out var __jsonPrincipalId) ? (string)__jsonPrincipalId : (string)PrincipalId;} + {_principalTenantId = If( json?.PropertyT("principalTenantId"), out var __jsonPrincipalTenantId) ? (string)__jsonPrincipalTenantId : (string)PrincipalTenantId;} + {_roleDefinitionId = If( json?.PropertyT("roleDefinitionId"), out var __jsonRoleDefinitionId) ? (string)__jsonRoleDefinitionId : (string)RoleDefinitionId;} + {_scope = If( json?.PropertyT("scope"), out var __jsonScope) ? (string)__jsonScope : (string)Scope;} + {_userAuthenticationType = If( json?.PropertyT("userAuthenticationType"), out var __jsonUserAuthenticationType) ? (string)__jsonUserAuthenticationType : (string)UserAuthenticationType;} + {_userEmailAddress = If( json?.PropertyT("userEmailAddress"), out var __jsonUserEmailAddress) ? (string)__jsonUserEmailAddress : (string)UserEmailAddress;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentProperties. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentProperties. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentProperties FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new BillingRoleAssignmentProperties(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._createdOn)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._createdOn.ToString()) : null, "createdOn" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._createdByPrincipalTenantId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._createdByPrincipalTenantId.ToString()) : null, "createdByPrincipalTenantId" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._createdByPrincipalId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._createdByPrincipalId.ToString()) : null, "createdByPrincipalId" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._createdByUserEmailAddress)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._createdByUserEmailAddress.ToString()) : null, "createdByUserEmailAddress" ,container.Add ); + } + AddIf( null != (((object)this._principalId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._principalId.ToString()) : null, "principalId" ,container.Add ); + AddIf( null != (((object)this._principalTenantId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._principalTenantId.ToString()) : null, "principalTenantId" ,container.Add ); + AddIf( null != (((object)this._roleDefinitionId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._roleDefinitionId.ToString()) : null, "roleDefinitionId" ,container.Add ); + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._scope)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._scope.ToString()) : null, "scope" ,container.Add ); + } + AddIf( null != (((object)this._userAuthenticationType)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._userAuthenticationType.ToString()) : null, "userAuthenticationType" ,container.Add ); + AddIf( null != (((object)this._userEmailAddress)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._userEmailAddress.ToString()) : null, "userEmailAddress" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleDefinition.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleDefinition.PowerShell.cs new file mode 100644 index 000000000000..6c1c519299b4 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleDefinition.PowerShell.cs @@ -0,0 +1,192 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The properties of a role definition. + [System.ComponentModel.TypeConverter(typeof(BillingRoleDefinitionTypeConverter))] + public partial class BillingRoleDefinition + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal BillingRoleDefinition(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleDefinitionPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("Description")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionInternal)this).Description = (string) content.GetValueForProperty("Description",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionInternal)this).Description, global::System.Convert.ToString); + } + if (content.Contains("Permission")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionInternal)this).Permission = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsProperties[]) content.GetValueForProperty("Permission",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionInternal)this).Permission, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingPermissionsPropertiesTypeConverter.ConvertFrom)); + } + if (content.Contains("RoleName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionInternal)this).RoleName = (string) content.GetValueForProperty("RoleName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionInternal)this).RoleName, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal BillingRoleDefinition(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleDefinitionPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("Description")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionInternal)this).Description = (string) content.GetValueForProperty("Description",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionInternal)this).Description, global::System.Convert.ToString); + } + if (content.Contains("Permission")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionInternal)this).Permission = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsProperties[]) content.GetValueForProperty("Permission",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionInternal)this).Permission, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingPermissionsPropertiesTypeConverter.ConvertFrom)); + } + if (content.Contains("RoleName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionInternal)this).RoleName = (string) content.GetValueForProperty("RoleName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionInternal)this).RoleName, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new BillingRoleDefinition(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new BillingRoleDefinition(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The properties of a role definition. + [System.ComponentModel.TypeConverter(typeof(BillingRoleDefinitionTypeConverter))] + public partial interface IBillingRoleDefinition + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleDefinition.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleDefinition.TypeConverter.cs new file mode 100644 index 000000000000..322f771bb140 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleDefinition.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class BillingRoleDefinitionTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return BillingRoleDefinition.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return BillingRoleDefinition.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return BillingRoleDefinition.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleDefinition.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleDefinition.cs new file mode 100644 index 000000000000..2baac77f965f --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleDefinition.cs @@ -0,0 +1,134 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of a role definition. + public partial class BillingRoleDefinition : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionInternal, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IValidates + { + /// + /// Backing field for Inherited model + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource __resource = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource(); + + /// The role description + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string Description { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionPropertiesInternal)Property).Description; } + + /// Resource Id. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id; } + + /// Internal Acessors for Id + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id = value; } + + /// Internal Acessors for Name + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name = value; } + + /// Internal Acessors for Type + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type = value; } + + /// Internal Acessors for Description + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionInternal.Description { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionPropertiesInternal)Property).Description; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionPropertiesInternal)Property).Description = value; } + + /// Internal Acessors for Property + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionProperties Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionInternal.Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleDefinitionProperties()); set { {_property = value;} } } + + /// Internal Acessors for RoleName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionInternal.RoleName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionPropertiesInternal)Property).RoleName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionPropertiesInternal)Property).RoleName = value; } + + /// Resource name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name; } + + /// The billingPermissions the role has + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsProperties[] Permission { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionPropertiesInternal)Property).Permission; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionPropertiesInternal)Property).Permission = value ?? null /* arrayOf */; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionProperties _property; + + /// The properties of the a role definition. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionProperties Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleDefinitionProperties()); set => this._property = value; } + + /// The name of the role + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string RoleName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionPropertiesInternal)Property).RoleName; } + + /// Resource type. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type; } + + /// Creates an new instance. + public BillingRoleDefinition() + { + + } + + /// Validates that this object meets the validation criteria. + /// an instance that will receive validation + /// events. + /// + /// A that will be complete when validation is completed. + /// + public async global::System.Threading.Tasks.Task Validate(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + await eventListener.AssertNotNull(nameof(__resource), __resource); + await eventListener.AssertObjectIsValid(nameof(__resource), __resource); + } + } + /// The properties of a role definition. + public partial interface IBillingRoleDefinition : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource + { + /// The role description + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The role description", + SerializedName = @"description", + PossibleTypes = new [] { typeof(string) })] + string Description { get; } + /// The billingPermissions the role has + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The billingPermissions the role has", + SerializedName = @"permissions", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsProperties) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsProperties[] Permission { get; set; } + /// The name of the role + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the role", + SerializedName = @"roleName", + PossibleTypes = new [] { typeof(string) })] + string RoleName { get; } + + } + /// The properties of a role definition. + internal partial interface IBillingRoleDefinitionInternal : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal + { + /// The role description + string Description { get; set; } + /// The billingPermissions the role has + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsProperties[] Permission { get; set; } + /// The properties of the a role definition. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionProperties Property { get; set; } + /// The name of the role + string RoleName { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleDefinition.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleDefinition.json.cs new file mode 100644 index 000000000000..08f10d0a6af8 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleDefinition.json.cs @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of a role definition. + public partial class BillingRoleDefinition + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal BillingRoleDefinition(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + __resource = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource(json); + {_property = If( json?.PropertyT("properties"), out var __jsonProperties) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleDefinitionProperties.FromJson(__jsonProperties) : Property;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new BillingRoleDefinition(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + __resource?.ToJson(container, serializationMode); + AddIf( null != this._property ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._property.ToJson(null,serializationMode) : null, "properties" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleDefinitionListResult.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleDefinitionListResult.PowerShell.cs new file mode 100644 index 000000000000..7a86808077a0 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleDefinitionListResult.PowerShell.cs @@ -0,0 +1,154 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The list of role definitions. + [System.ComponentModel.TypeConverter(typeof(BillingRoleDefinitionListResultTypeConverter))] + public partial class BillingRoleDefinitionListResult + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal BillingRoleDefinitionListResult(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleDefinitionTypeConverter.ConvertFrom)); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionListResultInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal BillingRoleDefinitionListResult(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleDefinitionTypeConverter.ConvertFrom)); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionListResultInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionListResult DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new BillingRoleDefinitionListResult(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionListResult DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new BillingRoleDefinitionListResult(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionListResult FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The list of role definitions. + [System.ComponentModel.TypeConverter(typeof(BillingRoleDefinitionListResultTypeConverter))] + public partial interface IBillingRoleDefinitionListResult + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleDefinitionListResult.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleDefinitionListResult.TypeConverter.cs new file mode 100644 index 000000000000..d28abf3c2a48 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleDefinitionListResult.TypeConverter.cs @@ -0,0 +1,148 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class BillingRoleDefinitionListResultTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionListResult ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionListResult).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return BillingRoleDefinitionListResult.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return BillingRoleDefinitionListResult.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return BillingRoleDefinitionListResult.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleDefinitionListResult.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleDefinitionListResult.cs new file mode 100644 index 000000000000..7b4e8a18dfc6 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleDefinitionListResult.cs @@ -0,0 +1,74 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The list of role definitions. + public partial class BillingRoleDefinitionListResult : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionListResult, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionListResultInternal + { + + /// Internal Acessors for NextLink + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionListResultInternal.NextLink { get => this._nextLink; set { {_nextLink = value;} } } + + /// Internal Acessors for Value + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition[] Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionListResultInternal.Value { get => this._value; set { {_value = value;} } } + + /// Backing field for property. + private string _nextLink; + + /// The link (url) to the next page of results. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string NextLink { get => this._nextLink; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition[] _value; + + /// The role definitions. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition[] Value { get => this._value; } + + /// Creates an new instance. + public BillingRoleDefinitionListResult() + { + + } + } + /// The list of role definitions. + public partial interface IBillingRoleDefinitionListResult : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The link (url) to the next page of results. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The link (url) to the next page of results.", + SerializedName = @"nextLink", + PossibleTypes = new [] { typeof(string) })] + string NextLink { get; } + /// The role definitions. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The role definitions.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition[] Value { get; } + + } + /// The list of role definitions. + internal partial interface IBillingRoleDefinitionListResultInternal + + { + /// The link (url) to the next page of results. + string NextLink { get; set; } + /// The role definitions. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition[] Value { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleDefinitionListResult.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleDefinitionListResult.json.cs new file mode 100644 index 000000000000..d484b5521bb4 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleDefinitionListResult.json.cs @@ -0,0 +1,124 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The list of role definitions. + public partial class BillingRoleDefinitionListResult + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal BillingRoleDefinitionListResult(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_value = If( json?.PropertyT("value"), out var __jsonValue) ? If( __jsonValue as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition) (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingRoleDefinition.FromJson(__u) )) ))() : null : Value;} + {_nextLink = If( json?.PropertyT("nextLink"), out var __jsonNextLink) ? (string)__jsonNextLink : (string)NextLink;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionListResult. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionListResult. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionListResult FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new BillingRoleDefinitionListResult(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + if (null != this._value) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(); + foreach( var __x in this._value ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("value",__w); + } + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._nextLink)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._nextLink.ToString()) : null, "nextLink" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleDefinitionProperties.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleDefinitionProperties.PowerShell.cs new file mode 100644 index 000000000000..6279d6f71a35 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleDefinitionProperties.PowerShell.cs @@ -0,0 +1,162 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The properties of the a role definition. + [System.ComponentModel.TypeConverter(typeof(BillingRoleDefinitionPropertiesTypeConverter))] + public partial class BillingRoleDefinitionProperties + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal BillingRoleDefinitionProperties(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Description")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionPropertiesInternal)this).Description = (string) content.GetValueForProperty("Description",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionPropertiesInternal)this).Description, global::System.Convert.ToString); + } + if (content.Contains("Permission")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionPropertiesInternal)this).Permission = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsProperties[]) content.GetValueForProperty("Permission",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionPropertiesInternal)this).Permission, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingPermissionsPropertiesTypeConverter.ConvertFrom)); + } + if (content.Contains("RoleName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionPropertiesInternal)this).RoleName = (string) content.GetValueForProperty("RoleName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionPropertiesInternal)this).RoleName, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal BillingRoleDefinitionProperties(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Description")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionPropertiesInternal)this).Description = (string) content.GetValueForProperty("Description",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionPropertiesInternal)this).Description, global::System.Convert.ToString); + } + if (content.Contains("Permission")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionPropertiesInternal)this).Permission = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsProperties[]) content.GetValueForProperty("Permission",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionPropertiesInternal)this).Permission, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingPermissionsPropertiesTypeConverter.ConvertFrom)); + } + if (content.Contains("RoleName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionPropertiesInternal)this).RoleName = (string) content.GetValueForProperty("RoleName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionPropertiesInternal)this).RoleName, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionProperties DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new BillingRoleDefinitionProperties(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionProperties DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new BillingRoleDefinitionProperties(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionProperties FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The properties of the a role definition. + [System.ComponentModel.TypeConverter(typeof(BillingRoleDefinitionPropertiesTypeConverter))] + public partial interface IBillingRoleDefinitionProperties + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleDefinitionProperties.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleDefinitionProperties.TypeConverter.cs new file mode 100644 index 000000000000..d4080574c766 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleDefinitionProperties.TypeConverter.cs @@ -0,0 +1,148 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class BillingRoleDefinitionPropertiesTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionProperties ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionProperties).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return BillingRoleDefinitionProperties.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return BillingRoleDefinitionProperties.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return BillingRoleDefinitionProperties.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleDefinitionProperties.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleDefinitionProperties.cs new file mode 100644 index 000000000000..2788b8942f76 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleDefinitionProperties.cs @@ -0,0 +1,91 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of the a role definition. + public partial class BillingRoleDefinitionProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionProperties, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionPropertiesInternal + { + + /// Backing field for property. + private string _description; + + /// The role description + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Description { get => this._description; } + + /// Internal Acessors for Description + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionPropertiesInternal.Description { get => this._description; set { {_description = value;} } } + + /// Internal Acessors for RoleName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionPropertiesInternal.RoleName { get => this._roleName; set { {_roleName = value;} } } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsProperties[] _permission; + + /// The billingPermissions the role has + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsProperties[] Permission { get => this._permission; set => this._permission = value; } + + /// Backing field for property. + private string _roleName; + + /// The name of the role + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string RoleName { get => this._roleName; } + + /// Creates an new instance. + public BillingRoleDefinitionProperties() + { + + } + } + /// The properties of the a role definition. + public partial interface IBillingRoleDefinitionProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The role description + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The role description", + SerializedName = @"description", + PossibleTypes = new [] { typeof(string) })] + string Description { get; } + /// The billingPermissions the role has + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The billingPermissions the role has", + SerializedName = @"permissions", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsProperties) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsProperties[] Permission { get; set; } + /// The name of the role + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the role", + SerializedName = @"roleName", + PossibleTypes = new [] { typeof(string) })] + string RoleName { get; } + + } + /// The properties of the a role definition. + internal partial interface IBillingRoleDefinitionPropertiesInternal + + { + /// The role description + string Description { get; set; } + /// The billingPermissions the role has + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsProperties[] Permission { get; set; } + /// The name of the role + string RoleName { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleDefinitionProperties.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleDefinitionProperties.json.cs new file mode 100644 index 000000000000..6f621c3c992b --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingRoleDefinitionProperties.json.cs @@ -0,0 +1,126 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of the a role definition. + public partial class BillingRoleDefinitionProperties + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal BillingRoleDefinitionProperties(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_description = If( json?.PropertyT("description"), out var __jsonDescription) ? (string)__jsonDescription : (string)Description;} + {_permission = If( json?.PropertyT("permissions"), out var __jsonPermissions) ? If( __jsonPermissions as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsProperties) (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingPermissionsProperties.FromJson(__u) )) ))() : null : Permission;} + {_roleName = If( json?.PropertyT("roleName"), out var __jsonRoleName) ? (string)__jsonRoleName : (string)RoleName;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionProperties. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionProperties. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionProperties FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new BillingRoleDefinitionProperties(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._description)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._description.ToString()) : null, "description" ,container.Add ); + } + if (null != this._permission) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(); + foreach( var __x in this._permission ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("permissions",__w); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._roleName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._roleName.ToString()) : null, "roleName" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingSubscription.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingSubscription.PowerShell.cs new file mode 100644 index 000000000000..5d3ee6cb885a --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingSubscription.PowerShell.cs @@ -0,0 +1,344 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// A billing subscription. + [System.ComponentModel.TypeConverter(typeof(BillingSubscriptionTypeConverter))] + public partial class BillingSubscription + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal BillingSubscription(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingSubscriptionPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("Reseller")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).Reseller = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller) content.GetValueForProperty("Reseller",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).Reseller, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ResellerTypeConverter.ConvertFrom); + } + if (content.Contains("LastMonthCharge")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).LastMonthCharge = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("LastMonthCharge",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).LastMonthCharge, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("MonthToDateCharge")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).MonthToDateCharge = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("MonthToDateCharge",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).MonthToDateCharge, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("DisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).DisplayName = (string) content.GetValueForProperty("DisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).DisplayName, global::System.Convert.ToString); + } + if (content.Contains("SubscriptionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).SubscriptionId = (string) content.GetValueForProperty("SubscriptionId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).SubscriptionId, global::System.Convert.ToString); + } + if (content.Contains("SubscriptionBillingStatus")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).SubscriptionBillingStatus = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType?) content.GetValueForProperty("SubscriptionBillingStatus",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).SubscriptionBillingStatus, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType.CreateFrom); + } + if (content.Contains("BillingProfileId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).BillingProfileId = (string) content.GetValueForProperty("BillingProfileId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).BillingProfileId, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).BillingProfileDisplayName = (string) content.GetValueForProperty("BillingProfileDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).BillingProfileDisplayName, global::System.Convert.ToString); + } + if (content.Contains("CostCenter")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).CostCenter = (string) content.GetValueForProperty("CostCenter",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).CostCenter, global::System.Convert.ToString); + } + if (content.Contains("CustomerId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).CustomerId = (string) content.GetValueForProperty("CustomerId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).CustomerId, global::System.Convert.ToString); + } + if (content.Contains("CustomerDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).CustomerDisplayName = (string) content.GetValueForProperty("CustomerDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).CustomerDisplayName, global::System.Convert.ToString); + } + if (content.Contains("InvoiceSectionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).InvoiceSectionId = (string) content.GetValueForProperty("InvoiceSectionId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).InvoiceSectionId, global::System.Convert.ToString); + } + if (content.Contains("InvoiceSectionDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).InvoiceSectionDisplayName = (string) content.GetValueForProperty("InvoiceSectionDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).InvoiceSectionDisplayName, global::System.Convert.ToString); + } + if (content.Contains("SkuId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).SkuId = (string) content.GetValueForProperty("SkuId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).SkuId, global::System.Convert.ToString); + } + if (content.Contains("SkuDescription")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).SkuDescription = (string) content.GetValueForProperty("SkuDescription",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).SkuDescription, global::System.Convert.ToString); + } + if (content.Contains("SuspensionReason")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).SuspensionReason = (string[]) content.GetValueForProperty("SuspensionReason",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).SuspensionReason, __y => TypeConverterExtensions.SelectToArray(__y, global::System.Convert.ToString)); + } + if (content.Contains("ResellerId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).ResellerId = (string) content.GetValueForProperty("ResellerId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).ResellerId, global::System.Convert.ToString); + } + if (content.Contains("ResellerDescription")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).ResellerDescription = (string) content.GetValueForProperty("ResellerDescription",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).ResellerDescription, global::System.Convert.ToString); + } + if (content.Contains("LastMonthChargeCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).LastMonthChargeCurrency = (string) content.GetValueForProperty("LastMonthChargeCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).LastMonthChargeCurrency, global::System.Convert.ToString); + } + if (content.Contains("LastMonthChargeValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).LastMonthChargeValue = (float?) content.GetValueForProperty("LastMonthChargeValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).LastMonthChargeValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("MonthToDateChargeCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).MonthToDateChargeCurrency = (string) content.GetValueForProperty("MonthToDateChargeCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).MonthToDateChargeCurrency, global::System.Convert.ToString); + } + if (content.Contains("MonthToDateChargeValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).MonthToDateChargeValue = (float?) content.GetValueForProperty("MonthToDateChargeValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).MonthToDateChargeValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal BillingSubscription(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingSubscriptionPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("Reseller")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).Reseller = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller) content.GetValueForProperty("Reseller",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).Reseller, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ResellerTypeConverter.ConvertFrom); + } + if (content.Contains("LastMonthCharge")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).LastMonthCharge = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("LastMonthCharge",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).LastMonthCharge, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("MonthToDateCharge")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).MonthToDateCharge = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("MonthToDateCharge",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).MonthToDateCharge, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("DisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).DisplayName = (string) content.GetValueForProperty("DisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).DisplayName, global::System.Convert.ToString); + } + if (content.Contains("SubscriptionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).SubscriptionId = (string) content.GetValueForProperty("SubscriptionId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).SubscriptionId, global::System.Convert.ToString); + } + if (content.Contains("SubscriptionBillingStatus")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).SubscriptionBillingStatus = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType?) content.GetValueForProperty("SubscriptionBillingStatus",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).SubscriptionBillingStatus, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType.CreateFrom); + } + if (content.Contains("BillingProfileId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).BillingProfileId = (string) content.GetValueForProperty("BillingProfileId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).BillingProfileId, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).BillingProfileDisplayName = (string) content.GetValueForProperty("BillingProfileDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).BillingProfileDisplayName, global::System.Convert.ToString); + } + if (content.Contains("CostCenter")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).CostCenter = (string) content.GetValueForProperty("CostCenter",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).CostCenter, global::System.Convert.ToString); + } + if (content.Contains("CustomerId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).CustomerId = (string) content.GetValueForProperty("CustomerId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).CustomerId, global::System.Convert.ToString); + } + if (content.Contains("CustomerDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).CustomerDisplayName = (string) content.GetValueForProperty("CustomerDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).CustomerDisplayName, global::System.Convert.ToString); + } + if (content.Contains("InvoiceSectionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).InvoiceSectionId = (string) content.GetValueForProperty("InvoiceSectionId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).InvoiceSectionId, global::System.Convert.ToString); + } + if (content.Contains("InvoiceSectionDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).InvoiceSectionDisplayName = (string) content.GetValueForProperty("InvoiceSectionDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).InvoiceSectionDisplayName, global::System.Convert.ToString); + } + if (content.Contains("SkuId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).SkuId = (string) content.GetValueForProperty("SkuId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).SkuId, global::System.Convert.ToString); + } + if (content.Contains("SkuDescription")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).SkuDescription = (string) content.GetValueForProperty("SkuDescription",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).SkuDescription, global::System.Convert.ToString); + } + if (content.Contains("SuspensionReason")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).SuspensionReason = (string[]) content.GetValueForProperty("SuspensionReason",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).SuspensionReason, __y => TypeConverterExtensions.SelectToArray(__y, global::System.Convert.ToString)); + } + if (content.Contains("ResellerId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).ResellerId = (string) content.GetValueForProperty("ResellerId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).ResellerId, global::System.Convert.ToString); + } + if (content.Contains("ResellerDescription")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).ResellerDescription = (string) content.GetValueForProperty("ResellerDescription",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).ResellerDescription, global::System.Convert.ToString); + } + if (content.Contains("LastMonthChargeCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).LastMonthChargeCurrency = (string) content.GetValueForProperty("LastMonthChargeCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).LastMonthChargeCurrency, global::System.Convert.ToString); + } + if (content.Contains("LastMonthChargeValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).LastMonthChargeValue = (float?) content.GetValueForProperty("LastMonthChargeValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).LastMonthChargeValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("MonthToDateChargeCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).MonthToDateChargeCurrency = (string) content.GetValueForProperty("MonthToDateChargeCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).MonthToDateChargeCurrency, global::System.Convert.ToString); + } + if (content.Contains("MonthToDateChargeValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).MonthToDateChargeValue = (float?) content.GetValueForProperty("MonthToDateChargeValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal)this).MonthToDateChargeValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new BillingSubscription(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new BillingSubscription(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// A billing subscription. + [System.ComponentModel.TypeConverter(typeof(BillingSubscriptionTypeConverter))] + public partial interface IBillingSubscription + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingSubscription.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingSubscription.TypeConverter.cs new file mode 100644 index 000000000000..0fdfdb80a618 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingSubscription.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class BillingSubscriptionTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return BillingSubscription.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return BillingSubscription.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return BillingSubscription.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingSubscription.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingSubscription.cs new file mode 100644 index 000000000000..dd12861d7992 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingSubscription.cs @@ -0,0 +1,433 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// A billing subscription. + public partial class BillingSubscription : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IValidates + { + /// + /// Backing field for Inherited model + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource __resource = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource(); + + /// The name of the billing profile to which the subscription is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillingProfileDisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).BillingProfileDisplayName; } + + /// The ID of the billing profile to which the subscription is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillingProfileId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).BillingProfileId; } + + /// The cost center applied to the subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string CostCenter { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).CostCenter; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).CostCenter = value ?? null; } + + /// + /// The name of the customer for whom the subscription was created. The field is applicable only for Microsoft Partner Agreement + /// billing account. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string CustomerDisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).CustomerDisplayName; } + + /// + /// The ID of the customer for whom the subscription was created. The field is applicable only for Microsoft Partner Agreement + /// billing account. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string CustomerId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).CustomerId; } + + /// The name of the subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string DisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).DisplayName; } + + /// Resource Id. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id; } + + /// The name of the invoice section to which the subscription is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string InvoiceSectionDisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).InvoiceSectionDisplayName; } + + /// The ID of the invoice section to which the subscription is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string InvoiceSectionId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).InvoiceSectionId; } + + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string LastMonthChargeCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).LastMonthChargeCurrency; } + + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? LastMonthChargeValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).LastMonthChargeValue; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).LastMonthChargeValue = value ?? default(float); } + + /// Internal Acessors for Id + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id = value; } + + /// Internal Acessors for Name + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name = value; } + + /// Internal Acessors for Type + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type = value; } + + /// Internal Acessors for BillingProfileDisplayName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal.BillingProfileDisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).BillingProfileDisplayName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).BillingProfileDisplayName = value; } + + /// Internal Acessors for BillingProfileId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal.BillingProfileId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).BillingProfileId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).BillingProfileId = value; } + + /// Internal Acessors for CustomerDisplayName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal.CustomerDisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).CustomerDisplayName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).CustomerDisplayName = value; } + + /// Internal Acessors for CustomerId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal.CustomerId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).CustomerId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).CustomerId = value; } + + /// Internal Acessors for DisplayName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal.DisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).DisplayName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).DisplayName = value; } + + /// Internal Acessors for InvoiceSectionDisplayName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal.InvoiceSectionDisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).InvoiceSectionDisplayName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).InvoiceSectionDisplayName = value; } + + /// Internal Acessors for InvoiceSectionId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal.InvoiceSectionId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).InvoiceSectionId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).InvoiceSectionId = value; } + + /// Internal Acessors for LastMonthCharge + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal.LastMonthCharge { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).LastMonthCharge; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).LastMonthCharge = value; } + + /// Internal Acessors for LastMonthChargeCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal.LastMonthChargeCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).LastMonthChargeCurrency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).LastMonthChargeCurrency = value; } + + /// Internal Acessors for MonthToDateCharge + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal.MonthToDateCharge { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).MonthToDateCharge; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).MonthToDateCharge = value; } + + /// Internal Acessors for MonthToDateChargeCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal.MonthToDateChargeCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).MonthToDateChargeCurrency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).MonthToDateChargeCurrency = value; } + + /// Internal Acessors for Property + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionProperties Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal.Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingSubscriptionProperties()); set { {_property = value;} } } + + /// Internal Acessors for Reseller + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal.Reseller { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).Reseller; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).Reseller = value; } + + /// Internal Acessors for ResellerDescription + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal.ResellerDescription { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).ResellerDescription; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).ResellerDescription = value; } + + /// Internal Acessors for ResellerId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal.ResellerId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).ResellerId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).ResellerId = value; } + + /// Internal Acessors for SkuDescription + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal.SkuDescription { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).SkuDescription; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).SkuDescription = value; } + + /// Internal Acessors for SubscriptionId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal.SubscriptionId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).SubscriptionId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).SubscriptionId = value; } + + /// Internal Acessors for SuspensionReason + string[] Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionInternal.SuspensionReason { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).SuspensionReason; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).SuspensionReason = value; } + + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string MonthToDateChargeCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).MonthToDateChargeCurrency; } + + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? MonthToDateChargeValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).MonthToDateChargeValue; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).MonthToDateChargeValue = value ?? default(float); } + + /// Resource name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionProperties _property; + + /// The billing properties of a subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionProperties Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingSubscriptionProperties()); set => this._property = value; } + + /// The name of the reseller. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string ResellerDescription { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).ResellerDescription; } + + /// The MPN ID of the reseller. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string ResellerId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).ResellerId; } + + /// The sku description of the Azure plan for the subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SkuDescription { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).SkuDescription; } + + /// The sku ID of the Azure plan for the subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SkuId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).SkuId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).SkuId = value ?? null; } + + /// The current billing status of the subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType? SubscriptionBillingStatus { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).SubscriptionBillingStatus; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).SubscriptionBillingStatus = value ?? ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType)""); } + + /// The ID of the subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SubscriptionId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).SubscriptionId; } + + /// + /// The suspension reason for a subscription. Applies only to subscriptions in Microsoft Online Services Program billing accounts. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string[] SuspensionReason { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)Property).SuspensionReason; } + + /// Resource type. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type; } + + /// Creates an new instance. + public BillingSubscription() + { + + } + + /// Validates that this object meets the validation criteria. + /// an instance that will receive validation + /// events. + /// + /// A that will be complete when validation is completed. + /// + public async global::System.Threading.Tasks.Task Validate(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + await eventListener.AssertNotNull(nameof(__resource), __resource); + await eventListener.AssertObjectIsValid(nameof(__resource), __resource); + } + } + /// A billing subscription. + public partial interface IBillingSubscription : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource + { + /// The name of the billing profile to which the subscription is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the billing profile to which the subscription is billed.", + SerializedName = @"billingProfileDisplayName", + PossibleTypes = new [] { typeof(string) })] + string BillingProfileDisplayName { get; } + /// The ID of the billing profile to which the subscription is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the billing profile to which the subscription is billed.", + SerializedName = @"billingProfileId", + PossibleTypes = new [] { typeof(string) })] + string BillingProfileId { get; } + /// The cost center applied to the subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The cost center applied to the subscription.", + SerializedName = @"costCenter", + PossibleTypes = new [] { typeof(string) })] + string CostCenter { get; set; } + /// + /// The name of the customer for whom the subscription was created. The field is applicable only for Microsoft Partner Agreement + /// billing account. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the customer for whom the subscription was created. The field is applicable only for Microsoft Partner Agreement billing account.", + SerializedName = @"customerDisplayName", + PossibleTypes = new [] { typeof(string) })] + string CustomerDisplayName { get; } + /// + /// The ID of the customer for whom the subscription was created. The field is applicable only for Microsoft Partner Agreement + /// billing account. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the customer for whom the subscription was created. The field is applicable only for Microsoft Partner Agreement billing account.", + SerializedName = @"customerId", + PossibleTypes = new [] { typeof(string) })] + string CustomerId { get; } + /// The name of the subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the subscription.", + SerializedName = @"displayName", + PossibleTypes = new [] { typeof(string) })] + string DisplayName { get; } + /// The name of the invoice section to which the subscription is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the invoice section to which the subscription is billed.", + SerializedName = @"invoiceSectionDisplayName", + PossibleTypes = new [] { typeof(string) })] + string InvoiceSectionDisplayName { get; } + /// The ID of the invoice section to which the subscription is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the invoice section to which the subscription is billed.", + SerializedName = @"invoiceSectionId", + PossibleTypes = new [] { typeof(string) })] + string InvoiceSectionId { get; } + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The currency for the amount value.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string LastMonthChargeCurrency { get; } + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Amount value.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(float) })] + float? LastMonthChargeValue { get; set; } + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The currency for the amount value.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string MonthToDateChargeCurrency { get; } + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Amount value.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(float) })] + float? MonthToDateChargeValue { get; set; } + /// The name of the reseller. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the reseller.", + SerializedName = @"description", + PossibleTypes = new [] { typeof(string) })] + string ResellerDescription { get; } + /// The MPN ID of the reseller. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The MPN ID of the reseller.", + SerializedName = @"resellerId", + PossibleTypes = new [] { typeof(string) })] + string ResellerId { get; } + /// The sku description of the Azure plan for the subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The sku description of the Azure plan for the subscription.", + SerializedName = @"skuDescription", + PossibleTypes = new [] { typeof(string) })] + string SkuDescription { get; } + /// The sku ID of the Azure plan for the subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The sku ID of the Azure plan for the subscription.", + SerializedName = @"skuId", + PossibleTypes = new [] { typeof(string) })] + string SkuId { get; set; } + /// The current billing status of the subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The current billing status of the subscription.", + SerializedName = @"subscriptionBillingStatus", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType? SubscriptionBillingStatus { get; set; } + /// The ID of the subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + string SubscriptionId { get; } + /// + /// The suspension reason for a subscription. Applies only to subscriptions in Microsoft Online Services Program billing accounts. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The suspension reason for a subscription. Applies only to subscriptions in Microsoft Online Services Program billing accounts.", + SerializedName = @"suspensionReasons", + PossibleTypes = new [] { typeof(string) })] + string[] SuspensionReason { get; } + + } + /// A billing subscription. + internal partial interface IBillingSubscriptionInternal : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal + { + /// The name of the billing profile to which the subscription is billed. + string BillingProfileDisplayName { get; set; } + /// The ID of the billing profile to which the subscription is billed. + string BillingProfileId { get; set; } + /// The cost center applied to the subscription. + string CostCenter { get; set; } + /// + /// The name of the customer for whom the subscription was created. The field is applicable only for Microsoft Partner Agreement + /// billing account. + /// + string CustomerDisplayName { get; set; } + /// + /// The ID of the customer for whom the subscription was created. The field is applicable only for Microsoft Partner Agreement + /// billing account. + /// + string CustomerId { get; set; } + /// The name of the subscription. + string DisplayName { get; set; } + /// The name of the invoice section to which the subscription is billed. + string InvoiceSectionDisplayName { get; set; } + /// The ID of the invoice section to which the subscription is billed. + string InvoiceSectionId { get; set; } + /// The last month charges. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount LastMonthCharge { get; set; } + /// The currency for the amount value. + string LastMonthChargeCurrency { get; set; } + /// Amount value. + float? LastMonthChargeValue { get; set; } + /// The current month to date charges. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount MonthToDateCharge { get; set; } + /// The currency for the amount value. + string MonthToDateChargeCurrency { get; set; } + /// Amount value. + float? MonthToDateChargeValue { get; set; } + /// The billing properties of a subscription. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionProperties Property { get; set; } + /// Reseller for this subscription. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller Reseller { get; set; } + /// The name of the reseller. + string ResellerDescription { get; set; } + /// The MPN ID of the reseller. + string ResellerId { get; set; } + /// The sku description of the Azure plan for the subscription. + string SkuDescription { get; set; } + /// The sku ID of the Azure plan for the subscription. + string SkuId { get; set; } + /// The current billing status of the subscription. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType? SubscriptionBillingStatus { get; set; } + /// The ID of the subscription. + string SubscriptionId { get; set; } + /// + /// The suspension reason for a subscription. Applies only to subscriptions in Microsoft Online Services Program billing accounts. + /// + string[] SuspensionReason { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingSubscription.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingSubscription.json.cs new file mode 100644 index 000000000000..0ffb4d3b0ea0 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingSubscription.json.cs @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// A billing subscription. + public partial class BillingSubscription + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal BillingSubscription(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + __resource = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource(json); + {_property = If( json?.PropertyT("properties"), out var __jsonProperties) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingSubscriptionProperties.FromJson(__jsonProperties) : Property;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new BillingSubscription(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + __resource?.ToJson(container, serializationMode); + AddIf( null != this._property ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._property.ToJson(null,serializationMode) : null, "properties" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingSubscriptionProperties.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingSubscriptionProperties.PowerShell.cs new file mode 100644 index 000000000000..dfae5ea6b24a --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingSubscriptionProperties.PowerShell.cs @@ -0,0 +1,314 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The billing properties of a subscription. + [System.ComponentModel.TypeConverter(typeof(BillingSubscriptionPropertiesTypeConverter))] + public partial class BillingSubscriptionProperties + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal BillingSubscriptionProperties(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("LastMonthCharge")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).LastMonthCharge = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("LastMonthCharge",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).LastMonthCharge, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("MonthToDateCharge")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).MonthToDateCharge = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("MonthToDateCharge",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).MonthToDateCharge, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("Reseller")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).Reseller = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller) content.GetValueForProperty("Reseller",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).Reseller, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ResellerTypeConverter.ConvertFrom); + } + if (content.Contains("DisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).DisplayName = (string) content.GetValueForProperty("DisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).DisplayName, global::System.Convert.ToString); + } + if (content.Contains("SubscriptionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).SubscriptionId = (string) content.GetValueForProperty("SubscriptionId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).SubscriptionId, global::System.Convert.ToString); + } + if (content.Contains("SubscriptionBillingStatus")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).SubscriptionBillingStatus = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType?) content.GetValueForProperty("SubscriptionBillingStatus",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).SubscriptionBillingStatus, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType.CreateFrom); + } + if (content.Contains("BillingProfileId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).BillingProfileId = (string) content.GetValueForProperty("BillingProfileId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).BillingProfileId, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).BillingProfileDisplayName = (string) content.GetValueForProperty("BillingProfileDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).BillingProfileDisplayName, global::System.Convert.ToString); + } + if (content.Contains("CostCenter")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).CostCenter = (string) content.GetValueForProperty("CostCenter",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).CostCenter, global::System.Convert.ToString); + } + if (content.Contains("CustomerId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).CustomerId = (string) content.GetValueForProperty("CustomerId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).CustomerId, global::System.Convert.ToString); + } + if (content.Contains("CustomerDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).CustomerDisplayName = (string) content.GetValueForProperty("CustomerDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).CustomerDisplayName, global::System.Convert.ToString); + } + if (content.Contains("InvoiceSectionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).InvoiceSectionId = (string) content.GetValueForProperty("InvoiceSectionId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).InvoiceSectionId, global::System.Convert.ToString); + } + if (content.Contains("InvoiceSectionDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).InvoiceSectionDisplayName = (string) content.GetValueForProperty("InvoiceSectionDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).InvoiceSectionDisplayName, global::System.Convert.ToString); + } + if (content.Contains("SkuId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).SkuId = (string) content.GetValueForProperty("SkuId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).SkuId, global::System.Convert.ToString); + } + if (content.Contains("SkuDescription")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).SkuDescription = (string) content.GetValueForProperty("SkuDescription",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).SkuDescription, global::System.Convert.ToString); + } + if (content.Contains("SuspensionReason")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).SuspensionReason = (string[]) content.GetValueForProperty("SuspensionReason",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).SuspensionReason, __y => TypeConverterExtensions.SelectToArray(__y, global::System.Convert.ToString)); + } + if (content.Contains("ResellerId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).ResellerId = (string) content.GetValueForProperty("ResellerId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).ResellerId, global::System.Convert.ToString); + } + if (content.Contains("ResellerDescription")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).ResellerDescription = (string) content.GetValueForProperty("ResellerDescription",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).ResellerDescription, global::System.Convert.ToString); + } + if (content.Contains("LastMonthChargeCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).LastMonthChargeCurrency = (string) content.GetValueForProperty("LastMonthChargeCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).LastMonthChargeCurrency, global::System.Convert.ToString); + } + if (content.Contains("LastMonthChargeValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).LastMonthChargeValue = (float?) content.GetValueForProperty("LastMonthChargeValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).LastMonthChargeValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("MonthToDateChargeCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).MonthToDateChargeCurrency = (string) content.GetValueForProperty("MonthToDateChargeCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).MonthToDateChargeCurrency, global::System.Convert.ToString); + } + if (content.Contains("MonthToDateChargeValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).MonthToDateChargeValue = (float?) content.GetValueForProperty("MonthToDateChargeValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).MonthToDateChargeValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal BillingSubscriptionProperties(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("LastMonthCharge")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).LastMonthCharge = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("LastMonthCharge",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).LastMonthCharge, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("MonthToDateCharge")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).MonthToDateCharge = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("MonthToDateCharge",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).MonthToDateCharge, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("Reseller")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).Reseller = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller) content.GetValueForProperty("Reseller",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).Reseller, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ResellerTypeConverter.ConvertFrom); + } + if (content.Contains("DisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).DisplayName = (string) content.GetValueForProperty("DisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).DisplayName, global::System.Convert.ToString); + } + if (content.Contains("SubscriptionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).SubscriptionId = (string) content.GetValueForProperty("SubscriptionId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).SubscriptionId, global::System.Convert.ToString); + } + if (content.Contains("SubscriptionBillingStatus")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).SubscriptionBillingStatus = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType?) content.GetValueForProperty("SubscriptionBillingStatus",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).SubscriptionBillingStatus, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType.CreateFrom); + } + if (content.Contains("BillingProfileId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).BillingProfileId = (string) content.GetValueForProperty("BillingProfileId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).BillingProfileId, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).BillingProfileDisplayName = (string) content.GetValueForProperty("BillingProfileDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).BillingProfileDisplayName, global::System.Convert.ToString); + } + if (content.Contains("CostCenter")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).CostCenter = (string) content.GetValueForProperty("CostCenter",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).CostCenter, global::System.Convert.ToString); + } + if (content.Contains("CustomerId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).CustomerId = (string) content.GetValueForProperty("CustomerId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).CustomerId, global::System.Convert.ToString); + } + if (content.Contains("CustomerDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).CustomerDisplayName = (string) content.GetValueForProperty("CustomerDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).CustomerDisplayName, global::System.Convert.ToString); + } + if (content.Contains("InvoiceSectionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).InvoiceSectionId = (string) content.GetValueForProperty("InvoiceSectionId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).InvoiceSectionId, global::System.Convert.ToString); + } + if (content.Contains("InvoiceSectionDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).InvoiceSectionDisplayName = (string) content.GetValueForProperty("InvoiceSectionDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).InvoiceSectionDisplayName, global::System.Convert.ToString); + } + if (content.Contains("SkuId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).SkuId = (string) content.GetValueForProperty("SkuId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).SkuId, global::System.Convert.ToString); + } + if (content.Contains("SkuDescription")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).SkuDescription = (string) content.GetValueForProperty("SkuDescription",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).SkuDescription, global::System.Convert.ToString); + } + if (content.Contains("SuspensionReason")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).SuspensionReason = (string[]) content.GetValueForProperty("SuspensionReason",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).SuspensionReason, __y => TypeConverterExtensions.SelectToArray(__y, global::System.Convert.ToString)); + } + if (content.Contains("ResellerId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).ResellerId = (string) content.GetValueForProperty("ResellerId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).ResellerId, global::System.Convert.ToString); + } + if (content.Contains("ResellerDescription")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).ResellerDescription = (string) content.GetValueForProperty("ResellerDescription",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).ResellerDescription, global::System.Convert.ToString); + } + if (content.Contains("LastMonthChargeCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).LastMonthChargeCurrency = (string) content.GetValueForProperty("LastMonthChargeCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).LastMonthChargeCurrency, global::System.Convert.ToString); + } + if (content.Contains("LastMonthChargeValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).LastMonthChargeValue = (float?) content.GetValueForProperty("LastMonthChargeValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).LastMonthChargeValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("MonthToDateChargeCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).MonthToDateChargeCurrency = (string) content.GetValueForProperty("MonthToDateChargeCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).MonthToDateChargeCurrency, global::System.Convert.ToString); + } + if (content.Contains("MonthToDateChargeValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).MonthToDateChargeValue = (float?) content.GetValueForProperty("MonthToDateChargeValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal)this).MonthToDateChargeValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionProperties DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new BillingSubscriptionProperties(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionProperties DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new BillingSubscriptionProperties(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionProperties FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The billing properties of a subscription. + [System.ComponentModel.TypeConverter(typeof(BillingSubscriptionPropertiesTypeConverter))] + public partial interface IBillingSubscriptionProperties + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingSubscriptionProperties.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingSubscriptionProperties.TypeConverter.cs new file mode 100644 index 000000000000..b7a48be07a9f --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingSubscriptionProperties.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class BillingSubscriptionPropertiesTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionProperties ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionProperties).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return BillingSubscriptionProperties.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return BillingSubscriptionProperties.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return BillingSubscriptionProperties.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingSubscriptionProperties.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingSubscriptionProperties.cs new file mode 100644 index 000000000000..bef5c089985f --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingSubscriptionProperties.cs @@ -0,0 +1,441 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The billing properties of a subscription. + public partial class BillingSubscriptionProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionProperties, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal + { + + /// Backing field for property. + private string _billingProfileDisplayName; + + /// The name of the billing profile to which the subscription is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string BillingProfileDisplayName { get => this._billingProfileDisplayName; } + + /// Backing field for property. + private string _billingProfileId; + + /// The ID of the billing profile to which the subscription is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string BillingProfileId { get => this._billingProfileId; } + + /// Backing field for property. + private string _costCenter; + + /// The cost center applied to the subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string CostCenter { get => this._costCenter; set => this._costCenter = value; } + + /// Backing field for property. + private string _customerDisplayName; + + /// + /// The name of the customer for whom the subscription was created. The field is applicable only for Microsoft Partner Agreement + /// billing account. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string CustomerDisplayName { get => this._customerDisplayName; } + + /// Backing field for property. + private string _customerId; + + /// + /// The ID of the customer for whom the subscription was created. The field is applicable only for Microsoft Partner Agreement + /// billing account. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string CustomerId { get => this._customerId; } + + /// Backing field for property. + private string _displayName; + + /// The name of the subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string DisplayName { get => this._displayName; } + + /// Backing field for property. + private string _invoiceSectionDisplayName; + + /// The name of the invoice section to which the subscription is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string InvoiceSectionDisplayName { get => this._invoiceSectionDisplayName; } + + /// Backing field for property. + private string _invoiceSectionId; + + /// The ID of the invoice section to which the subscription is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string InvoiceSectionId { get => this._invoiceSectionId; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount _lastMonthCharge; + + /// The last month charges. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount LastMonthCharge { get => (this._lastMonthCharge = this._lastMonthCharge ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount()); } + + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string LastMonthChargeCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)LastMonthCharge).Currency; } + + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? LastMonthChargeValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)LastMonthCharge).Value; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)LastMonthCharge).Value = value ?? default(float); } + + /// Internal Acessors for BillingProfileDisplayName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal.BillingProfileDisplayName { get => this._billingProfileDisplayName; set { {_billingProfileDisplayName = value;} } } + + /// Internal Acessors for BillingProfileId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal.BillingProfileId { get => this._billingProfileId; set { {_billingProfileId = value;} } } + + /// Internal Acessors for CustomerDisplayName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal.CustomerDisplayName { get => this._customerDisplayName; set { {_customerDisplayName = value;} } } + + /// Internal Acessors for CustomerId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal.CustomerId { get => this._customerId; set { {_customerId = value;} } } + + /// Internal Acessors for DisplayName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal.DisplayName { get => this._displayName; set { {_displayName = value;} } } + + /// Internal Acessors for InvoiceSectionDisplayName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal.InvoiceSectionDisplayName { get => this._invoiceSectionDisplayName; set { {_invoiceSectionDisplayName = value;} } } + + /// Internal Acessors for InvoiceSectionId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal.InvoiceSectionId { get => this._invoiceSectionId; set { {_invoiceSectionId = value;} } } + + /// Internal Acessors for LastMonthCharge + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal.LastMonthCharge { get => (this._lastMonthCharge = this._lastMonthCharge ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount()); set { {_lastMonthCharge = value;} } } + + /// Internal Acessors for LastMonthChargeCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal.LastMonthChargeCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)LastMonthCharge).Currency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)LastMonthCharge).Currency = value; } + + /// Internal Acessors for MonthToDateCharge + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal.MonthToDateCharge { get => (this._monthToDateCharge = this._monthToDateCharge ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount()); set { {_monthToDateCharge = value;} } } + + /// Internal Acessors for MonthToDateChargeCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal.MonthToDateChargeCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)MonthToDateCharge).Currency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)MonthToDateCharge).Currency = value; } + + /// Internal Acessors for Reseller + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal.Reseller { get => (this._reseller = this._reseller ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Reseller()); set { {_reseller = value;} } } + + /// Internal Acessors for ResellerDescription + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal.ResellerDescription { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IResellerInternal)Reseller).Description; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IResellerInternal)Reseller).Description = value; } + + /// Internal Acessors for ResellerId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal.ResellerId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IResellerInternal)Reseller).Id; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IResellerInternal)Reseller).Id = value; } + + /// Internal Acessors for SkuDescription + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal.SkuDescription { get => this._skuDescription; set { {_skuDescription = value;} } } + + /// Internal Acessors for SubscriptionId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal.SubscriptionId { get => this._subscriptionId; set { {_subscriptionId = value;} } } + + /// Internal Acessors for SuspensionReason + string[] Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionPropertiesInternal.SuspensionReason { get => this._suspensionReason; set { {_suspensionReason = value;} } } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount _monthToDateCharge; + + /// The current month to date charges. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount MonthToDateCharge { get => (this._monthToDateCharge = this._monthToDateCharge ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount()); } + + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string MonthToDateChargeCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)MonthToDateCharge).Currency; } + + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? MonthToDateChargeValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)MonthToDateCharge).Value; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)MonthToDateCharge).Value = value ?? default(float); } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller _reseller; + + /// Reseller for this subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller Reseller { get => (this._reseller = this._reseller ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Reseller()); } + + /// The name of the reseller. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string ResellerDescription { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IResellerInternal)Reseller).Description; } + + /// The MPN ID of the reseller. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string ResellerId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IResellerInternal)Reseller).Id; } + + /// Backing field for property. + private string _skuDescription; + + /// The sku description of the Azure plan for the subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string SkuDescription { get => this._skuDescription; } + + /// Backing field for property. + private string _skuId; + + /// The sku ID of the Azure plan for the subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string SkuId { get => this._skuId; set => this._skuId = value; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType? _subscriptionBillingStatus; + + /// The current billing status of the subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType? SubscriptionBillingStatus { get => this._subscriptionBillingStatus; set => this._subscriptionBillingStatus = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string SubscriptionId { get => this._subscriptionId; } + + /// Backing field for property. + private string[] _suspensionReason; + + /// + /// The suspension reason for a subscription. Applies only to subscriptions in Microsoft Online Services Program billing accounts. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string[] SuspensionReason { get => this._suspensionReason; } + + /// Creates an new instance. + public BillingSubscriptionProperties() + { + + } + } + /// The billing properties of a subscription. + public partial interface IBillingSubscriptionProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The name of the billing profile to which the subscription is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the billing profile to which the subscription is billed.", + SerializedName = @"billingProfileDisplayName", + PossibleTypes = new [] { typeof(string) })] + string BillingProfileDisplayName { get; } + /// The ID of the billing profile to which the subscription is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the billing profile to which the subscription is billed.", + SerializedName = @"billingProfileId", + PossibleTypes = new [] { typeof(string) })] + string BillingProfileId { get; } + /// The cost center applied to the subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The cost center applied to the subscription.", + SerializedName = @"costCenter", + PossibleTypes = new [] { typeof(string) })] + string CostCenter { get; set; } + /// + /// The name of the customer for whom the subscription was created. The field is applicable only for Microsoft Partner Agreement + /// billing account. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the customer for whom the subscription was created. The field is applicable only for Microsoft Partner Agreement billing account.", + SerializedName = @"customerDisplayName", + PossibleTypes = new [] { typeof(string) })] + string CustomerDisplayName { get; } + /// + /// The ID of the customer for whom the subscription was created. The field is applicable only for Microsoft Partner Agreement + /// billing account. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the customer for whom the subscription was created. The field is applicable only for Microsoft Partner Agreement billing account.", + SerializedName = @"customerId", + PossibleTypes = new [] { typeof(string) })] + string CustomerId { get; } + /// The name of the subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the subscription.", + SerializedName = @"displayName", + PossibleTypes = new [] { typeof(string) })] + string DisplayName { get; } + /// The name of the invoice section to which the subscription is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the invoice section to which the subscription is billed.", + SerializedName = @"invoiceSectionDisplayName", + PossibleTypes = new [] { typeof(string) })] + string InvoiceSectionDisplayName { get; } + /// The ID of the invoice section to which the subscription is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the invoice section to which the subscription is billed.", + SerializedName = @"invoiceSectionId", + PossibleTypes = new [] { typeof(string) })] + string InvoiceSectionId { get; } + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The currency for the amount value.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string LastMonthChargeCurrency { get; } + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Amount value.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(float) })] + float? LastMonthChargeValue { get; set; } + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The currency for the amount value.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string MonthToDateChargeCurrency { get; } + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Amount value.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(float) })] + float? MonthToDateChargeValue { get; set; } + /// The name of the reseller. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the reseller.", + SerializedName = @"description", + PossibleTypes = new [] { typeof(string) })] + string ResellerDescription { get; } + /// The MPN ID of the reseller. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The MPN ID of the reseller.", + SerializedName = @"resellerId", + PossibleTypes = new [] { typeof(string) })] + string ResellerId { get; } + /// The sku description of the Azure plan for the subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The sku description of the Azure plan for the subscription.", + SerializedName = @"skuDescription", + PossibleTypes = new [] { typeof(string) })] + string SkuDescription { get; } + /// The sku ID of the Azure plan for the subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The sku ID of the Azure plan for the subscription.", + SerializedName = @"skuId", + PossibleTypes = new [] { typeof(string) })] + string SkuId { get; set; } + /// The current billing status of the subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The current billing status of the subscription.", + SerializedName = @"subscriptionBillingStatus", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType? SubscriptionBillingStatus { get; set; } + /// The ID of the subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + string SubscriptionId { get; } + /// + /// The suspension reason for a subscription. Applies only to subscriptions in Microsoft Online Services Program billing accounts. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The suspension reason for a subscription. Applies only to subscriptions in Microsoft Online Services Program billing accounts.", + SerializedName = @"suspensionReasons", + PossibleTypes = new [] { typeof(string) })] + string[] SuspensionReason { get; } + + } + /// The billing properties of a subscription. + internal partial interface IBillingSubscriptionPropertiesInternal + + { + /// The name of the billing profile to which the subscription is billed. + string BillingProfileDisplayName { get; set; } + /// The ID of the billing profile to which the subscription is billed. + string BillingProfileId { get; set; } + /// The cost center applied to the subscription. + string CostCenter { get; set; } + /// + /// The name of the customer for whom the subscription was created. The field is applicable only for Microsoft Partner Agreement + /// billing account. + /// + string CustomerDisplayName { get; set; } + /// + /// The ID of the customer for whom the subscription was created. The field is applicable only for Microsoft Partner Agreement + /// billing account. + /// + string CustomerId { get; set; } + /// The name of the subscription. + string DisplayName { get; set; } + /// The name of the invoice section to which the subscription is billed. + string InvoiceSectionDisplayName { get; set; } + /// The ID of the invoice section to which the subscription is billed. + string InvoiceSectionId { get; set; } + /// The last month charges. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount LastMonthCharge { get; set; } + /// The currency for the amount value. + string LastMonthChargeCurrency { get; set; } + /// Amount value. + float? LastMonthChargeValue { get; set; } + /// The current month to date charges. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount MonthToDateCharge { get; set; } + /// The currency for the amount value. + string MonthToDateChargeCurrency { get; set; } + /// Amount value. + float? MonthToDateChargeValue { get; set; } + /// Reseller for this subscription. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller Reseller { get; set; } + /// The name of the reseller. + string ResellerDescription { get; set; } + /// The MPN ID of the reseller. + string ResellerId { get; set; } + /// The sku description of the Azure plan for the subscription. + string SkuDescription { get; set; } + /// The sku ID of the Azure plan for the subscription. + string SkuId { get; set; } + /// The current billing status of the subscription. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType? SubscriptionBillingStatus { get; set; } + /// The ID of the subscription. + string SubscriptionId { get; set; } + /// + /// The suspension reason for a subscription. Applies only to subscriptions in Microsoft Online Services Program billing accounts. + /// + string[] SuspensionReason { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingSubscriptionProperties.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingSubscriptionProperties.json.cs new file mode 100644 index 000000000000..fab855c4b055 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingSubscriptionProperties.json.cs @@ -0,0 +1,185 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The billing properties of a subscription. + public partial class BillingSubscriptionProperties + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal BillingSubscriptionProperties(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_lastMonthCharge = If( json?.PropertyT("lastMonthCharges"), out var __jsonLastMonthCharges) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount.FromJson(__jsonLastMonthCharges) : LastMonthCharge;} + {_monthToDateCharge = If( json?.PropertyT("monthToDateCharges"), out var __jsonMonthToDateCharges) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount.FromJson(__jsonMonthToDateCharges) : MonthToDateCharge;} + {_reseller = If( json?.PropertyT("reseller"), out var __jsonReseller) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Reseller.FromJson(__jsonReseller) : Reseller;} + {_displayName = If( json?.PropertyT("displayName"), out var __jsonDisplayName) ? (string)__jsonDisplayName : (string)DisplayName;} + {_subscriptionId = If( json?.PropertyT("subscriptionId"), out var __jsonSubscriptionId) ? (string)__jsonSubscriptionId : (string)SubscriptionId;} + {_subscriptionBillingStatus = If( json?.PropertyT("subscriptionBillingStatus"), out var __jsonSubscriptionBillingStatus) ? (string)__jsonSubscriptionBillingStatus : (string)SubscriptionBillingStatus;} + {_billingProfileId = If( json?.PropertyT("billingProfileId"), out var __jsonBillingProfileId) ? (string)__jsonBillingProfileId : (string)BillingProfileId;} + {_billingProfileDisplayName = If( json?.PropertyT("billingProfileDisplayName"), out var __jsonBillingProfileDisplayName) ? (string)__jsonBillingProfileDisplayName : (string)BillingProfileDisplayName;} + {_costCenter = If( json?.PropertyT("costCenter"), out var __jsonCostCenter) ? (string)__jsonCostCenter : (string)CostCenter;} + {_customerId = If( json?.PropertyT("customerId"), out var __jsonCustomerId) ? (string)__jsonCustomerId : (string)CustomerId;} + {_customerDisplayName = If( json?.PropertyT("customerDisplayName"), out var __jsonCustomerDisplayName) ? (string)__jsonCustomerDisplayName : (string)CustomerDisplayName;} + {_invoiceSectionId = If( json?.PropertyT("invoiceSectionId"), out var __jsonInvoiceSectionId) ? (string)__jsonInvoiceSectionId : (string)InvoiceSectionId;} + {_invoiceSectionDisplayName = If( json?.PropertyT("invoiceSectionDisplayName"), out var __jsonInvoiceSectionDisplayName) ? (string)__jsonInvoiceSectionDisplayName : (string)InvoiceSectionDisplayName;} + {_skuId = If( json?.PropertyT("skuId"), out var __jsonSkuId) ? (string)__jsonSkuId : (string)SkuId;} + {_skuDescription = If( json?.PropertyT("skuDescription"), out var __jsonSkuDescription) ? (string)__jsonSkuDescription : (string)SkuDescription;} + {_suspensionReason = If( json?.PropertyT("suspensionReasons"), out var __jsonSuspensionReasons) ? If( __jsonSuspensionReasons as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(string) (__u is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString __t ? (string)(__t.ToString()) : null)) ))() : null : SuspensionReason;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionProperties. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionProperties. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionProperties FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new BillingSubscriptionProperties(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._lastMonthCharge ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._lastMonthCharge.ToJson(null,serializationMode) : null, "lastMonthCharges" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._monthToDateCharge ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._monthToDateCharge.ToJson(null,serializationMode) : null, "monthToDateCharges" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._reseller ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._reseller.ToJson(null,serializationMode) : null, "reseller" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._displayName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._displayName.ToString()) : null, "displayName" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._subscriptionId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._subscriptionId.ToString()) : null, "subscriptionId" ,container.Add ); + } + AddIf( null != (((object)this._subscriptionBillingStatus)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._subscriptionBillingStatus.ToString()) : null, "subscriptionBillingStatus" ,container.Add ); + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._billingProfileId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._billingProfileId.ToString()) : null, "billingProfileId" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._billingProfileDisplayName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._billingProfileDisplayName.ToString()) : null, "billingProfileDisplayName" ,container.Add ); + } + AddIf( null != (((object)this._costCenter)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._costCenter.ToString()) : null, "costCenter" ,container.Add ); + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._customerId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._customerId.ToString()) : null, "customerId" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._customerDisplayName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._customerDisplayName.ToString()) : null, "customerDisplayName" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._invoiceSectionId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._invoiceSectionId.ToString()) : null, "invoiceSectionId" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._invoiceSectionDisplayName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._invoiceSectionDisplayName.ToString()) : null, "invoiceSectionDisplayName" ,container.Add ); + } + AddIf( null != (((object)this._skuId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._skuId.ToString()) : null, "skuId" ,container.Add ); + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._skuDescription)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._skuDescription.ToString()) : null, "skuDescription" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + if (null != this._suspensionReason) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(); + foreach( var __x in this._suspensionReason ) + { + AddIf(null != (((object)__x)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(__x.ToString()) : null ,__w.Add); + } + container.Add("suspensionReasons",__w); + } + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingSubscriptionsListResult.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingSubscriptionsListResult.PowerShell.cs new file mode 100644 index 000000000000..3fd5b2861cec --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingSubscriptionsListResult.PowerShell.cs @@ -0,0 +1,162 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The list of billing subscriptions. + [System.ComponentModel.TypeConverter(typeof(BillingSubscriptionsListResultTypeConverter))] + public partial class BillingSubscriptionsListResult + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal BillingSubscriptionsListResult(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionsListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionsListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingSubscriptionTypeConverter.ConvertFrom)); + } + if (content.Contains("TotalCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionsListResultInternal)this).TotalCount = (int?) content.GetValueForProperty("TotalCount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionsListResultInternal)this).TotalCount, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionsListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionsListResultInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal BillingSubscriptionsListResult(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionsListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionsListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingSubscriptionTypeConverter.ConvertFrom)); + } + if (content.Contains("TotalCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionsListResultInternal)this).TotalCount = (int?) content.GetValueForProperty("TotalCount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionsListResultInternal)this).TotalCount, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionsListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionsListResultInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionsListResult DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new BillingSubscriptionsListResult(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionsListResult DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new BillingSubscriptionsListResult(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionsListResult FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The list of billing subscriptions. + [System.ComponentModel.TypeConverter(typeof(BillingSubscriptionsListResultTypeConverter))] + public partial interface IBillingSubscriptionsListResult + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingSubscriptionsListResult.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingSubscriptionsListResult.TypeConverter.cs new file mode 100644 index 000000000000..f17b56ad041b --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingSubscriptionsListResult.TypeConverter.cs @@ -0,0 +1,148 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class BillingSubscriptionsListResultTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionsListResult ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionsListResult).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return BillingSubscriptionsListResult.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return BillingSubscriptionsListResult.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return BillingSubscriptionsListResult.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingSubscriptionsListResult.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingSubscriptionsListResult.cs new file mode 100644 index 000000000000..08b23684f38b --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingSubscriptionsListResult.cs @@ -0,0 +1,94 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The list of billing subscriptions. + public partial class BillingSubscriptionsListResult : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionsListResult, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionsListResultInternal + { + + /// Internal Acessors for NextLink + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionsListResultInternal.NextLink { get => this._nextLink; set { {_nextLink = value;} } } + + /// Internal Acessors for TotalCount + int? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionsListResultInternal.TotalCount { get => this._totalCount; set { {_totalCount = value;} } } + + /// Internal Acessors for Value + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription[] Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionsListResultInternal.Value { get => this._value; set { {_value = value;} } } + + /// Backing field for property. + private string _nextLink; + + /// The link (url) to the next page of results. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string NextLink { get => this._nextLink; } + + /// Backing field for property. + private int? _totalCount; + + /// Total number of records. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public int? TotalCount { get => this._totalCount; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription[] _value; + + /// The list of billing subscriptions. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription[] Value { get => this._value; } + + /// Creates an new instance. + public BillingSubscriptionsListResult() + { + + } + } + /// The list of billing subscriptions. + public partial interface IBillingSubscriptionsListResult : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The link (url) to the next page of results. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The link (url) to the next page of results.", + SerializedName = @"nextLink", + PossibleTypes = new [] { typeof(string) })] + string NextLink { get; } + /// Total number of records. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Total number of records.", + SerializedName = @"totalCount", + PossibleTypes = new [] { typeof(int) })] + int? TotalCount { get; } + /// The list of billing subscriptions. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The list of billing subscriptions.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription[] Value { get; } + + } + /// The list of billing subscriptions. + internal partial interface IBillingSubscriptionsListResultInternal + + { + /// The link (url) to the next page of results. + string NextLink { get; set; } + /// Total number of records. + int? TotalCount { get; set; } + /// The list of billing subscriptions. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription[] Value { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/BillingSubscriptionsListResult.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/BillingSubscriptionsListResult.json.cs new file mode 100644 index 000000000000..c068637ca675 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/BillingSubscriptionsListResult.json.cs @@ -0,0 +1,129 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The list of billing subscriptions. + public partial class BillingSubscriptionsListResult + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal BillingSubscriptionsListResult(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_value = If( json?.PropertyT("value"), out var __jsonValue) ? If( __jsonValue as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription) (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingSubscription.FromJson(__u) )) ))() : null : Value;} + {_totalCount = If( json?.PropertyT("totalCount"), out var __jsonTotalCount) ? (int?)__jsonTotalCount : TotalCount;} + {_nextLink = If( json?.PropertyT("nextLink"), out var __jsonNextLink) ? (string)__jsonNextLink : (string)NextLink;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionsListResult. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionsListResult. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionsListResult FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new BillingSubscriptionsListResult(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + if (null != this._value) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(); + foreach( var __x in this._value ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("value",__w); + } + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._totalCount ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNumber((int)this._totalCount) : null, "totalCount" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._nextLink)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._nextLink.ToString()) : null, "nextLink" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Customer.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/Customer.PowerShell.cs new file mode 100644 index 000000000000..9e6a73979c58 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Customer.PowerShell.cs @@ -0,0 +1,208 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// A partner's customer. + [System.ComponentModel.TypeConverter(typeof(CustomerTypeConverter))] + public partial class Customer + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal Customer(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.CustomerPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerInternal)this).BillingProfileId = (string) content.GetValueForProperty("BillingProfileId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerInternal)this).BillingProfileId, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerInternal)this).BillingProfileDisplayName = (string) content.GetValueForProperty("BillingProfileDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerInternal)this).BillingProfileDisplayName, global::System.Convert.ToString); + } + if (content.Contains("DisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerInternal)this).DisplayName = (string) content.GetValueForProperty("DisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerInternal)this).DisplayName, global::System.Convert.ToString); + } + if (content.Contains("EnabledAzurePlan")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerInternal)this).EnabledAzurePlan = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan[]) content.GetValueForProperty("EnabledAzurePlan",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerInternal)this).EnabledAzurePlan, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AzurePlanTypeConverter.ConvertFrom)); + } + if (content.Contains("Reseller")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerInternal)this).Reseller = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller[]) content.GetValueForProperty("Reseller",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerInternal)this).Reseller, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ResellerTypeConverter.ConvertFrom)); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal Customer(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.CustomerPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerInternal)this).BillingProfileId = (string) content.GetValueForProperty("BillingProfileId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerInternal)this).BillingProfileId, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerInternal)this).BillingProfileDisplayName = (string) content.GetValueForProperty("BillingProfileDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerInternal)this).BillingProfileDisplayName, global::System.Convert.ToString); + } + if (content.Contains("DisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerInternal)this).DisplayName = (string) content.GetValueForProperty("DisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerInternal)this).DisplayName, global::System.Convert.ToString); + } + if (content.Contains("EnabledAzurePlan")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerInternal)this).EnabledAzurePlan = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan[]) content.GetValueForProperty("EnabledAzurePlan",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerInternal)this).EnabledAzurePlan, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AzurePlanTypeConverter.ConvertFrom)); + } + if (content.Contains("Reseller")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerInternal)this).Reseller = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller[]) content.GetValueForProperty("Reseller",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerInternal)this).Reseller, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ResellerTypeConverter.ConvertFrom)); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomer DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new Customer(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomer DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new Customer(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomer FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// A partner's customer. + [System.ComponentModel.TypeConverter(typeof(CustomerTypeConverter))] + public partial interface ICustomer + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Customer.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/Customer.TypeConverter.cs new file mode 100644 index 000000000000..a303df4817e2 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Customer.TypeConverter.cs @@ -0,0 +1,146 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class CustomerTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomer ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomer).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return Customer.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return Customer.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return Customer.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Customer.cs b/swaggerci/billing/generated/api/Models/Api20200501/Customer.cs new file mode 100644 index 000000000000..10f5d1fda144 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Customer.cs @@ -0,0 +1,162 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// A partner's customer. + public partial class Customer : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomer, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerInternal, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IValidates + { + /// + /// Backing field for Inherited model + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource __resource = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource(); + + /// The name of the billing profile for the invoice section. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillingProfileDisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPropertiesInternal)Property).BillingProfileDisplayName; } + + /// The ID of the billing profile for the invoice section. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillingProfileId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPropertiesInternal)Property).BillingProfileId; } + + /// The name of the customer. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string DisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPropertiesInternal)Property).DisplayName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPropertiesInternal)Property).DisplayName = value ?? null; } + + /// Azure plans enabled for the customer. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan[] EnabledAzurePlan { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPropertiesInternal)Property).EnabledAzurePlan; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPropertiesInternal)Property).EnabledAzurePlan = value ?? null /* arrayOf */; } + + /// Resource Id. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id; } + + /// Internal Acessors for Id + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id = value; } + + /// Internal Acessors for Name + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name = value; } + + /// Internal Acessors for Type + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type = value; } + + /// Internal Acessors for BillingProfileDisplayName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerInternal.BillingProfileDisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPropertiesInternal)Property).BillingProfileDisplayName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPropertiesInternal)Property).BillingProfileDisplayName = value; } + + /// Internal Acessors for BillingProfileId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerInternal.BillingProfileId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPropertiesInternal)Property).BillingProfileId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPropertiesInternal)Property).BillingProfileId = value; } + + /// Internal Acessors for Property + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerProperties Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerInternal.Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.CustomerProperties()); set { {_property = value;} } } + + /// Resource name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerProperties _property; + + /// The customer. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerProperties Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.CustomerProperties()); set => this._property = value; } + + /// The list of resellers for which an Azure plan is enabled for the customer. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller[] Reseller { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPropertiesInternal)Property).Reseller; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPropertiesInternal)Property).Reseller = value ?? null /* arrayOf */; } + + /// Resource type. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type; } + + /// Creates an new instance. + public Customer() + { + + } + + /// Validates that this object meets the validation criteria. + /// an instance that will receive validation + /// events. + /// + /// A that will be complete when validation is completed. + /// + public async global::System.Threading.Tasks.Task Validate(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + await eventListener.AssertNotNull(nameof(__resource), __resource); + await eventListener.AssertObjectIsValid(nameof(__resource), __resource); + } + } + /// A partner's customer. + public partial interface ICustomer : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource + { + /// The name of the billing profile for the invoice section. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the billing profile for the invoice section.", + SerializedName = @"billingProfileDisplayName", + PossibleTypes = new [] { typeof(string) })] + string BillingProfileDisplayName { get; } + /// The ID of the billing profile for the invoice section. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the billing profile for the invoice section.", + SerializedName = @"billingProfileId", + PossibleTypes = new [] { typeof(string) })] + string BillingProfileId { get; } + /// The name of the customer. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the customer.", + SerializedName = @"displayName", + PossibleTypes = new [] { typeof(string) })] + string DisplayName { get; set; } + /// Azure plans enabled for the customer. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Azure plans enabled for the customer.", + SerializedName = @"enabledAzurePlans", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan[] EnabledAzurePlan { get; set; } + /// The list of resellers for which an Azure plan is enabled for the customer. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The list of resellers for which an Azure plan is enabled for the customer.", + SerializedName = @"resellers", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller[] Reseller { get; set; } + + } + /// A partner's customer. + internal partial interface ICustomerInternal : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal + { + /// The name of the billing profile for the invoice section. + string BillingProfileDisplayName { get; set; } + /// The ID of the billing profile for the invoice section. + string BillingProfileId { get; set; } + /// The name of the customer. + string DisplayName { get; set; } + /// Azure plans enabled for the customer. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan[] EnabledAzurePlan { get; set; } + /// The customer. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerProperties Property { get; set; } + /// The list of resellers for which an Azure plan is enabled for the customer. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller[] Reseller { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Customer.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/Customer.json.cs new file mode 100644 index 000000000000..1caafdb91269 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Customer.json.cs @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// A partner's customer. + public partial class Customer + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal Customer(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + __resource = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource(json); + {_property = If( json?.PropertyT("properties"), out var __jsonProperties) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.CustomerProperties.FromJson(__jsonProperties) : Property;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomer. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomer. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomer FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new Customer(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + __resource?.ToJson(container, serializationMode); + AddIf( null != this._property ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._property.ToJson(null,serializationMode) : null, "properties" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/CustomerListResult.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/CustomerListResult.PowerShell.cs new file mode 100644 index 000000000000..d6fab1099919 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/CustomerListResult.PowerShell.cs @@ -0,0 +1,160 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The list of customers. + [System.ComponentModel.TypeConverter(typeof(CustomerListResultTypeConverter))] + public partial class CustomerListResult + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal CustomerListResult(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomer[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.CustomerTypeConverter.ConvertFrom)); + } + if (content.Contains("TotalCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerListResultInternal)this).TotalCount = (int?) content.GetValueForProperty("TotalCount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerListResultInternal)this).TotalCount, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerListResultInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal CustomerListResult(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomer[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.CustomerTypeConverter.ConvertFrom)); + } + if (content.Contains("TotalCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerListResultInternal)this).TotalCount = (int?) content.GetValueForProperty("TotalCount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerListResultInternal)this).TotalCount, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerListResultInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerListResult DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new CustomerListResult(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerListResult DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new CustomerListResult(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerListResult FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The list of customers. + [System.ComponentModel.TypeConverter(typeof(CustomerListResultTypeConverter))] + public partial interface ICustomerListResult + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/CustomerListResult.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/CustomerListResult.TypeConverter.cs new file mode 100644 index 000000000000..119f58c45363 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/CustomerListResult.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class CustomerListResultTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerListResult ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerListResult).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return CustomerListResult.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return CustomerListResult.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return CustomerListResult.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/CustomerListResult.cs b/swaggerci/billing/generated/api/Models/Api20200501/CustomerListResult.cs new file mode 100644 index 000000000000..5001c1167015 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/CustomerListResult.cs @@ -0,0 +1,94 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The list of customers. + public partial class CustomerListResult : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerListResult, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerListResultInternal + { + + /// Internal Acessors for NextLink + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerListResultInternal.NextLink { get => this._nextLink; set { {_nextLink = value;} } } + + /// Internal Acessors for TotalCount + int? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerListResultInternal.TotalCount { get => this._totalCount; set { {_totalCount = value;} } } + + /// Internal Acessors for Value + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomer[] Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerListResultInternal.Value { get => this._value; set { {_value = value;} } } + + /// Backing field for property. + private string _nextLink; + + /// The link (url) to the next page of results. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string NextLink { get => this._nextLink; } + + /// Backing field for property. + private int? _totalCount; + + /// Total number of records. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public int? TotalCount { get => this._totalCount; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomer[] _value; + + /// The list of customers. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomer[] Value { get => this._value; } + + /// Creates an new instance. + public CustomerListResult() + { + + } + } + /// The list of customers. + public partial interface ICustomerListResult : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The link (url) to the next page of results. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The link (url) to the next page of results.", + SerializedName = @"nextLink", + PossibleTypes = new [] { typeof(string) })] + string NextLink { get; } + /// Total number of records. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Total number of records.", + SerializedName = @"totalCount", + PossibleTypes = new [] { typeof(int) })] + int? TotalCount { get; } + /// The list of customers. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The list of customers.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomer) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomer[] Value { get; } + + } + /// The list of customers. + internal partial interface ICustomerListResultInternal + + { + /// The link (url) to the next page of results. + string NextLink { get; set; } + /// Total number of records. + int? TotalCount { get; set; } + /// The list of customers. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomer[] Value { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/CustomerListResult.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/CustomerListResult.json.cs new file mode 100644 index 000000000000..84ff3d584134 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/CustomerListResult.json.cs @@ -0,0 +1,129 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The list of customers. + public partial class CustomerListResult + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal CustomerListResult(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_value = If( json?.PropertyT("value"), out var __jsonValue) ? If( __jsonValue as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomer) (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Customer.FromJson(__u) )) ))() : null : Value;} + {_totalCount = If( json?.PropertyT("totalCount"), out var __jsonTotalCount) ? (int?)__jsonTotalCount : TotalCount;} + {_nextLink = If( json?.PropertyT("nextLink"), out var __jsonNextLink) ? (string)__jsonNextLink : (string)NextLink;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerListResult. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerListResult. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerListResult FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new CustomerListResult(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + if (null != this._value) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(); + foreach( var __x in this._value ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("value",__w); + } + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._totalCount ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNumber((int)this._totalCount) : null, "totalCount" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._nextLink)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._nextLink.ToString()) : null, "nextLink" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/CustomerPolicy.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/CustomerPolicy.PowerShell.cs new file mode 100644 index 000000000000..b1680365f446 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/CustomerPolicy.PowerShell.cs @@ -0,0 +1,176 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The customer's Policy. + [System.ComponentModel.TypeConverter(typeof(CustomerPolicyTypeConverter))] + public partial class CustomerPolicy + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal CustomerPolicy(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicyInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicyProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicyInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.CustomerPolicyPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("ViewCharge")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicyInternal)this).ViewCharge = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewCharges?) content.GetValueForProperty("ViewCharge",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicyInternal)this).ViewCharge, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewCharges.CreateFrom); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal CustomerPolicy(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicyInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicyProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicyInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.CustomerPolicyPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("ViewCharge")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicyInternal)this).ViewCharge = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewCharges?) content.GetValueForProperty("ViewCharge",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicyInternal)this).ViewCharge, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewCharges.CreateFrom); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicy DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new CustomerPolicy(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicy DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new CustomerPolicy(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicy FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The customer's Policy. + [System.ComponentModel.TypeConverter(typeof(CustomerPolicyTypeConverter))] + public partial interface ICustomerPolicy + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/CustomerPolicy.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/CustomerPolicy.TypeConverter.cs new file mode 100644 index 000000000000..0f8ad9e91ba6 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/CustomerPolicy.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class CustomerPolicyTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicy ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicy).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return CustomerPolicy.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return CustomerPolicy.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return CustomerPolicy.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/CustomerPolicy.cs b/swaggerci/billing/generated/api/Models/Api20200501/CustomerPolicy.cs new file mode 100644 index 000000000000..6cfa77e71586 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/CustomerPolicy.cs @@ -0,0 +1,106 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The customer's Policy. + public partial class CustomerPolicy : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicy, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicyInternal, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IValidates + { + /// + /// Backing field for Inherited model + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource __resource = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource(); + + /// Resource Id. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id; } + + /// Internal Acessors for Id + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id = value; } + + /// Internal Acessors for Name + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name = value; } + + /// Internal Acessors for Type + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type = value; } + + /// Internal Acessors for Property + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicyProperties Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicyInternal.Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.CustomerPolicyProperties()); set { {_property = value;} } } + + /// Resource name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicyProperties _property; + + /// The properties of a customer's policy. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicyProperties Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.CustomerPolicyProperties()); set => this._property = value; } + + /// Resource type. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type; } + + /// + /// The policy that controls whether the users in customer's organization can view charges at pay-as-you-go prices. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewCharges? ViewCharge { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicyPropertiesInternal)Property).ViewCharge; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicyPropertiesInternal)Property).ViewCharge = value ?? ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewCharges)""); } + + /// Creates an new instance. + public CustomerPolicy() + { + + } + + /// Validates that this object meets the validation criteria. + /// an instance that will receive validation + /// events. + /// + /// A that will be complete when validation is completed. + /// + public async global::System.Threading.Tasks.Task Validate(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + await eventListener.AssertNotNull(nameof(__resource), __resource); + await eventListener.AssertObjectIsValid(nameof(__resource), __resource); + } + } + /// The customer's Policy. + public partial interface ICustomerPolicy : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource + { + /// + /// The policy that controls whether the users in customer's organization can view charges at pay-as-you-go prices. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The policy that controls whether the users in customer's organization can view charges at pay-as-you-go prices.", + SerializedName = @"viewCharges", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewCharges) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewCharges? ViewCharge { get; set; } + + } + /// The customer's Policy. + internal partial interface ICustomerPolicyInternal : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal + { + /// The properties of a customer's policy. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicyProperties Property { get; set; } + /// + /// The policy that controls whether the users in customer's organization can view charges at pay-as-you-go prices. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewCharges? ViewCharge { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/CustomerPolicy.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/CustomerPolicy.json.cs new file mode 100644 index 000000000000..88c2f72a3ccb --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/CustomerPolicy.json.cs @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The customer's Policy. + public partial class CustomerPolicy + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal CustomerPolicy(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + __resource = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource(json); + {_property = If( json?.PropertyT("properties"), out var __jsonProperties) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.CustomerPolicyProperties.FromJson(__jsonProperties) : Property;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicy. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicy. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicy FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new CustomerPolicy(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + __resource?.ToJson(container, serializationMode); + AddIf( null != this._property ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._property.ToJson(null,serializationMode) : null, "properties" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/CustomerPolicyProperties.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/CustomerPolicyProperties.PowerShell.cs new file mode 100644 index 000000000000..1c77425bdb40 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/CustomerPolicyProperties.PowerShell.cs @@ -0,0 +1,144 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The properties of a customer's policy. + [System.ComponentModel.TypeConverter(typeof(CustomerPolicyPropertiesTypeConverter))] + public partial class CustomerPolicyProperties + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal CustomerPolicyProperties(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("ViewCharge")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicyPropertiesInternal)this).ViewCharge = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewCharges?) content.GetValueForProperty("ViewCharge",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicyPropertiesInternal)this).ViewCharge, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewCharges.CreateFrom); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal CustomerPolicyProperties(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("ViewCharge")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicyPropertiesInternal)this).ViewCharge = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewCharges?) content.GetValueForProperty("ViewCharge",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicyPropertiesInternal)this).ViewCharge, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewCharges.CreateFrom); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicyProperties DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new CustomerPolicyProperties(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicyProperties DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new CustomerPolicyProperties(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicyProperties FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The properties of a customer's policy. + [System.ComponentModel.TypeConverter(typeof(CustomerPolicyPropertiesTypeConverter))] + public partial interface ICustomerPolicyProperties + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/CustomerPolicyProperties.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/CustomerPolicyProperties.TypeConverter.cs new file mode 100644 index 000000000000..f4341c0b2749 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/CustomerPolicyProperties.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class CustomerPolicyPropertiesTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicyProperties ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicyProperties).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return CustomerPolicyProperties.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return CustomerPolicyProperties.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return CustomerPolicyProperties.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/CustomerPolicyProperties.cs b/swaggerci/billing/generated/api/Models/Api20200501/CustomerPolicyProperties.cs new file mode 100644 index 000000000000..434e5073dabc --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/CustomerPolicyProperties.cs @@ -0,0 +1,57 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of a customer's policy. + public partial class CustomerPolicyProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicyProperties, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicyPropertiesInternal + { + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewCharges? _viewCharge; + + /// + /// The policy that controls whether the users in customer's organization can view charges at pay-as-you-go prices. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewCharges? ViewCharge { get => this._viewCharge; set => this._viewCharge = value; } + + /// Creates an new instance. + public CustomerPolicyProperties() + { + + } + } + /// The properties of a customer's policy. + public partial interface ICustomerPolicyProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// + /// The policy that controls whether the users in customer's organization can view charges at pay-as-you-go prices. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The policy that controls whether the users in customer's organization can view charges at pay-as-you-go prices.", + SerializedName = @"viewCharges", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewCharges) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewCharges? ViewCharge { get; set; } + + } + /// The properties of a customer's policy. + internal partial interface ICustomerPolicyPropertiesInternal + + { + /// + /// The policy that controls whether the users in customer's organization can view charges at pay-as-you-go prices. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewCharges? ViewCharge { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/CustomerPolicyProperties.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/CustomerPolicyProperties.json.cs new file mode 100644 index 000000000000..cb8871ab8b76 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/CustomerPolicyProperties.json.cs @@ -0,0 +1,108 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of a customer's policy. + public partial class CustomerPolicyProperties + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal CustomerPolicyProperties(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_viewCharge = If( json?.PropertyT("viewCharges"), out var __jsonViewCharges) ? (string)__jsonViewCharges : (string)ViewCharge;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicyProperties. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicyProperties. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicyProperties FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new CustomerPolicyProperties(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != (((object)this._viewCharge)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._viewCharge.ToString()) : null, "viewCharges" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/CustomerProperties.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/CustomerProperties.PowerShell.cs new file mode 100644 index 000000000000..9324b2e676e8 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/CustomerProperties.PowerShell.cs @@ -0,0 +1,176 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The properties of a customer. + [System.ComponentModel.TypeConverter(typeof(CustomerPropertiesTypeConverter))] + public partial class CustomerProperties + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal CustomerProperties(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("BillingProfileId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPropertiesInternal)this).BillingProfileId = (string) content.GetValueForProperty("BillingProfileId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPropertiesInternal)this).BillingProfileId, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPropertiesInternal)this).BillingProfileDisplayName = (string) content.GetValueForProperty("BillingProfileDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPropertiesInternal)this).BillingProfileDisplayName, global::System.Convert.ToString); + } + if (content.Contains("DisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPropertiesInternal)this).DisplayName = (string) content.GetValueForProperty("DisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPropertiesInternal)this).DisplayName, global::System.Convert.ToString); + } + if (content.Contains("EnabledAzurePlan")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPropertiesInternal)this).EnabledAzurePlan = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan[]) content.GetValueForProperty("EnabledAzurePlan",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPropertiesInternal)this).EnabledAzurePlan, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AzurePlanTypeConverter.ConvertFrom)); + } + if (content.Contains("Reseller")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPropertiesInternal)this).Reseller = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller[]) content.GetValueForProperty("Reseller",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPropertiesInternal)this).Reseller, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ResellerTypeConverter.ConvertFrom)); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal CustomerProperties(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("BillingProfileId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPropertiesInternal)this).BillingProfileId = (string) content.GetValueForProperty("BillingProfileId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPropertiesInternal)this).BillingProfileId, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPropertiesInternal)this).BillingProfileDisplayName = (string) content.GetValueForProperty("BillingProfileDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPropertiesInternal)this).BillingProfileDisplayName, global::System.Convert.ToString); + } + if (content.Contains("DisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPropertiesInternal)this).DisplayName = (string) content.GetValueForProperty("DisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPropertiesInternal)this).DisplayName, global::System.Convert.ToString); + } + if (content.Contains("EnabledAzurePlan")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPropertiesInternal)this).EnabledAzurePlan = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan[]) content.GetValueForProperty("EnabledAzurePlan",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPropertiesInternal)this).EnabledAzurePlan, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AzurePlanTypeConverter.ConvertFrom)); + } + if (content.Contains("Reseller")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPropertiesInternal)this).Reseller = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller[]) content.GetValueForProperty("Reseller",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPropertiesInternal)this).Reseller, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ResellerTypeConverter.ConvertFrom)); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerProperties DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new CustomerProperties(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerProperties DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new CustomerProperties(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerProperties FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The properties of a customer. + [System.ComponentModel.TypeConverter(typeof(CustomerPropertiesTypeConverter))] + public partial interface ICustomerProperties + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/CustomerProperties.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/CustomerProperties.TypeConverter.cs new file mode 100644 index 000000000000..e48657f4b296 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/CustomerProperties.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class CustomerPropertiesTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerProperties ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerProperties).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return CustomerProperties.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return CustomerProperties.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return CustomerProperties.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/CustomerProperties.cs b/swaggerci/billing/generated/api/Models/Api20200501/CustomerProperties.cs new file mode 100644 index 000000000000..7f3ed4e6b4f9 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/CustomerProperties.cs @@ -0,0 +1,125 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of a customer. + public partial class CustomerProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerProperties, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPropertiesInternal + { + + /// Backing field for property. + private string _billingProfileDisplayName; + + /// The name of the billing profile for the invoice section. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string BillingProfileDisplayName { get => this._billingProfileDisplayName; } + + /// Backing field for property. + private string _billingProfileId; + + /// The ID of the billing profile for the invoice section. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string BillingProfileId { get => this._billingProfileId; } + + /// Backing field for property. + private string _displayName; + + /// The name of the customer. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string DisplayName { get => this._displayName; set => this._displayName = value; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan[] _enabledAzurePlan; + + /// Azure plans enabled for the customer. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan[] EnabledAzurePlan { get => this._enabledAzurePlan; set => this._enabledAzurePlan = value; } + + /// Internal Acessors for BillingProfileDisplayName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPropertiesInternal.BillingProfileDisplayName { get => this._billingProfileDisplayName; set { {_billingProfileDisplayName = value;} } } + + /// Internal Acessors for BillingProfileId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPropertiesInternal.BillingProfileId { get => this._billingProfileId; set { {_billingProfileId = value;} } } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller[] _reseller; + + /// The list of resellers for which an Azure plan is enabled for the customer. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller[] Reseller { get => this._reseller; set => this._reseller = value; } + + /// Creates an new instance. + public CustomerProperties() + { + + } + } + /// The properties of a customer. + public partial interface ICustomerProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The name of the billing profile for the invoice section. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the billing profile for the invoice section.", + SerializedName = @"billingProfileDisplayName", + PossibleTypes = new [] { typeof(string) })] + string BillingProfileDisplayName { get; } + /// The ID of the billing profile for the invoice section. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the billing profile for the invoice section.", + SerializedName = @"billingProfileId", + PossibleTypes = new [] { typeof(string) })] + string BillingProfileId { get; } + /// The name of the customer. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the customer.", + SerializedName = @"displayName", + PossibleTypes = new [] { typeof(string) })] + string DisplayName { get; set; } + /// Azure plans enabled for the customer. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Azure plans enabled for the customer.", + SerializedName = @"enabledAzurePlans", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan[] EnabledAzurePlan { get; set; } + /// The list of resellers for which an Azure plan is enabled for the customer. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The list of resellers for which an Azure plan is enabled for the customer.", + SerializedName = @"resellers", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller[] Reseller { get; set; } + + } + /// The properties of a customer. + internal partial interface ICustomerPropertiesInternal + + { + /// The name of the billing profile for the invoice section. + string BillingProfileDisplayName { get; set; } + /// The ID of the billing profile for the invoice section. + string BillingProfileId { get; set; } + /// The name of the customer. + string DisplayName { get; set; } + /// Azure plans enabled for the customer. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan[] EnabledAzurePlan { get; set; } + /// The list of resellers for which an Azure plan is enabled for the customer. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller[] Reseller { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/CustomerProperties.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/CustomerProperties.json.cs new file mode 100644 index 000000000000..7a2f38017f97 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/CustomerProperties.json.cs @@ -0,0 +1,138 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of a customer. + public partial class CustomerProperties + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal CustomerProperties(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_billingProfileId = If( json?.PropertyT("billingProfileId"), out var __jsonBillingProfileId) ? (string)__jsonBillingProfileId : (string)BillingProfileId;} + {_billingProfileDisplayName = If( json?.PropertyT("billingProfileDisplayName"), out var __jsonBillingProfileDisplayName) ? (string)__jsonBillingProfileDisplayName : (string)BillingProfileDisplayName;} + {_displayName = If( json?.PropertyT("displayName"), out var __jsonDisplayName) ? (string)__jsonDisplayName : (string)DisplayName;} + {_enabledAzurePlan = If( json?.PropertyT("enabledAzurePlans"), out var __jsonEnabledAzurePlans) ? If( __jsonEnabledAzurePlans as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan) (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AzurePlan.FromJson(__u) )) ))() : null : EnabledAzurePlan;} + {_reseller = If( json?.PropertyT("resellers"), out var __jsonResellers) ? If( __jsonResellers as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonArray, out var __q) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__q, (__p)=>(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller) (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Reseller.FromJson(__p) )) ))() : null : Reseller;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerProperties. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerProperties. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerProperties FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new CustomerProperties(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._billingProfileId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._billingProfileId.ToString()) : null, "billingProfileId" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._billingProfileDisplayName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._billingProfileDisplayName.ToString()) : null, "billingProfileDisplayName" ,container.Add ); + } + AddIf( null != (((object)this._displayName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._displayName.ToString()) : null, "displayName" ,container.Add ); + if (null != this._enabledAzurePlan) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(); + foreach( var __x in this._enabledAzurePlan ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("enabledAzurePlans",__w); + } + if (null != this._reseller) + { + var __r = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(); + foreach( var __s in this._reseller ) + { + AddIf(__s?.ToJson(null, serializationMode) ,__r.Add); + } + container.Add("resellers",__r); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Department.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/Department.PowerShell.cs new file mode 100644 index 000000000000..62c27988ed52 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Department.PowerShell.cs @@ -0,0 +1,200 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// A department. + [System.ComponentModel.TypeConverter(typeof(DepartmentTypeConverter))] + public partial class Department + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal Department(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.DepartmentPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("DepartmentName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentInternal)this).DepartmentName = (string) content.GetValueForProperty("DepartmentName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentInternal)this).DepartmentName, global::System.Convert.ToString); + } + if (content.Contains("CostCenter")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentInternal)this).CostCenter = (string) content.GetValueForProperty("CostCenter",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentInternal)this).CostCenter, global::System.Convert.ToString); + } + if (content.Contains("Status")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentInternal)this).Status = (string) content.GetValueForProperty("Status",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentInternal)this).Status, global::System.Convert.ToString); + } + if (content.Contains("EnrollmentAccount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentInternal)this).EnrollmentAccount = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[]) content.GetValueForProperty("EnrollmentAccount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentInternal)this).EnrollmentAccount, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentAccountTypeConverter.ConvertFrom)); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal Department(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.DepartmentPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("DepartmentName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentInternal)this).DepartmentName = (string) content.GetValueForProperty("DepartmentName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentInternal)this).DepartmentName, global::System.Convert.ToString); + } + if (content.Contains("CostCenter")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentInternal)this).CostCenter = (string) content.GetValueForProperty("CostCenter",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentInternal)this).CostCenter, global::System.Convert.ToString); + } + if (content.Contains("Status")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentInternal)this).Status = (string) content.GetValueForProperty("Status",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentInternal)this).Status, global::System.Convert.ToString); + } + if (content.Contains("EnrollmentAccount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentInternal)this).EnrollmentAccount = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[]) content.GetValueForProperty("EnrollmentAccount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentInternal)this).EnrollmentAccount, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentAccountTypeConverter.ConvertFrom)); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new Department(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new Department(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// A department. + [System.ComponentModel.TypeConverter(typeof(DepartmentTypeConverter))] + public partial interface IDepartment + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Department.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/Department.TypeConverter.cs new file mode 100644 index 000000000000..4ee79f0e9b5e --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Department.TypeConverter.cs @@ -0,0 +1,146 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class DepartmentTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return Department.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return Department.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return Department.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Department.cs b/swaggerci/billing/generated/api/Models/Api20200501/Department.cs new file mode 100644 index 000000000000..f8590cc7356b --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Department.cs @@ -0,0 +1,148 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// A department. + public partial class Department : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentInternal, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IValidates + { + /// + /// Backing field for Inherited model + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource __resource = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource(); + + /// The cost center associated with the department. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string CostCenter { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentPropertiesInternal)Property).CostCenter; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentPropertiesInternal)Property).CostCenter = value ?? null; } + + /// The name of the department. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string DepartmentName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentPropertiesInternal)Property).DepartmentName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentPropertiesInternal)Property).DepartmentName = value ?? null; } + + /// + /// Associated enrollment accounts. By default this is not populated, unless it's specified in $expand. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[] EnrollmentAccount { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentPropertiesInternal)Property).EnrollmentAccount; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentPropertiesInternal)Property).EnrollmentAccount = value ?? null /* arrayOf */; } + + /// Resource Id. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id; } + + /// Internal Acessors for Id + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id = value; } + + /// Internal Acessors for Name + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name = value; } + + /// Internal Acessors for Type + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type = value; } + + /// Internal Acessors for Property + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentProperties Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentInternal.Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.DepartmentProperties()); set { {_property = value;} } } + + /// Resource name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentProperties _property; + + /// A department. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentProperties Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.DepartmentProperties()); set => this._property = value; } + + /// The status of the department. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string Status { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentPropertiesInternal)Property).Status; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentPropertiesInternal)Property).Status = value ?? null; } + + /// Resource type. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type; } + + /// Creates an new instance. + public Department() + { + + } + + /// Validates that this object meets the validation criteria. + /// an instance that will receive validation + /// events. + /// + /// A that will be complete when validation is completed. + /// + public async global::System.Threading.Tasks.Task Validate(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + await eventListener.AssertNotNull(nameof(__resource), __resource); + await eventListener.AssertObjectIsValid(nameof(__resource), __resource); + } + } + /// A department. + public partial interface IDepartment : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource + { + /// The cost center associated with the department. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The cost center associated with the department.", + SerializedName = @"costCenter", + PossibleTypes = new [] { typeof(string) })] + string CostCenter { get; set; } + /// The name of the department. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the department.", + SerializedName = @"departmentName", + PossibleTypes = new [] { typeof(string) })] + string DepartmentName { get; set; } + /// + /// Associated enrollment accounts. By default this is not populated, unless it's specified in $expand. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Associated enrollment accounts. By default this is not populated, unless it's specified in $expand.", + SerializedName = @"enrollmentAccounts", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[] EnrollmentAccount { get; set; } + /// The status of the department. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The status of the department.", + SerializedName = @"status", + PossibleTypes = new [] { typeof(string) })] + string Status { get; set; } + + } + /// A department. + internal partial interface IDepartmentInternal : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal + { + /// The cost center associated with the department. + string CostCenter { get; set; } + /// The name of the department. + string DepartmentName { get; set; } + /// + /// Associated enrollment accounts. By default this is not populated, unless it's specified in $expand. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[] EnrollmentAccount { get; set; } + /// A department. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentProperties Property { get; set; } + /// The status of the department. + string Status { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Department.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/Department.json.cs new file mode 100644 index 000000000000..dd6404c87132 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Department.json.cs @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// A department. + public partial class Department + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal Department(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + __resource = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource(json); + {_property = If( json?.PropertyT("properties"), out var __jsonProperties) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.DepartmentProperties.FromJson(__jsonProperties) : Property;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new Department(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + __resource?.ToJson(container, serializationMode); + AddIf( null != this._property ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._property.ToJson(null,serializationMode) : null, "properties" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/DepartmentProperties.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/DepartmentProperties.PowerShell.cs new file mode 100644 index 000000000000..f503d0d91493 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/DepartmentProperties.PowerShell.cs @@ -0,0 +1,168 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The properties of a department. + [System.ComponentModel.TypeConverter(typeof(DepartmentPropertiesTypeConverter))] + public partial class DepartmentProperties + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal DepartmentProperties(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("DepartmentName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentPropertiesInternal)this).DepartmentName = (string) content.GetValueForProperty("DepartmentName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentPropertiesInternal)this).DepartmentName, global::System.Convert.ToString); + } + if (content.Contains("CostCenter")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentPropertiesInternal)this).CostCenter = (string) content.GetValueForProperty("CostCenter",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentPropertiesInternal)this).CostCenter, global::System.Convert.ToString); + } + if (content.Contains("Status")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentPropertiesInternal)this).Status = (string) content.GetValueForProperty("Status",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentPropertiesInternal)this).Status, global::System.Convert.ToString); + } + if (content.Contains("EnrollmentAccount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentPropertiesInternal)this).EnrollmentAccount = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[]) content.GetValueForProperty("EnrollmentAccount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentPropertiesInternal)this).EnrollmentAccount, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentAccountTypeConverter.ConvertFrom)); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal DepartmentProperties(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("DepartmentName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentPropertiesInternal)this).DepartmentName = (string) content.GetValueForProperty("DepartmentName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentPropertiesInternal)this).DepartmentName, global::System.Convert.ToString); + } + if (content.Contains("CostCenter")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentPropertiesInternal)this).CostCenter = (string) content.GetValueForProperty("CostCenter",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentPropertiesInternal)this).CostCenter, global::System.Convert.ToString); + } + if (content.Contains("Status")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentPropertiesInternal)this).Status = (string) content.GetValueForProperty("Status",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentPropertiesInternal)this).Status, global::System.Convert.ToString); + } + if (content.Contains("EnrollmentAccount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentPropertiesInternal)this).EnrollmentAccount = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[]) content.GetValueForProperty("EnrollmentAccount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentPropertiesInternal)this).EnrollmentAccount, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentAccountTypeConverter.ConvertFrom)); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentProperties DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new DepartmentProperties(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentProperties DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new DepartmentProperties(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentProperties FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The properties of a department. + [System.ComponentModel.TypeConverter(typeof(DepartmentPropertiesTypeConverter))] + public partial interface IDepartmentProperties + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/DepartmentProperties.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/DepartmentProperties.TypeConverter.cs new file mode 100644 index 000000000000..0b280edecfe9 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/DepartmentProperties.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class DepartmentPropertiesTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentProperties ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentProperties).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return DepartmentProperties.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return DepartmentProperties.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return DepartmentProperties.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/DepartmentProperties.cs b/swaggerci/billing/generated/api/Models/Api20200501/DepartmentProperties.cs new file mode 100644 index 000000000000..ef1ec153947b --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/DepartmentProperties.cs @@ -0,0 +1,108 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of a department. + public partial class DepartmentProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentProperties, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentPropertiesInternal + { + + /// Backing field for property. + private string _costCenter; + + /// The cost center associated with the department. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string CostCenter { get => this._costCenter; set => this._costCenter = value; } + + /// Backing field for property. + private string _departmentName; + + /// The name of the department. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string DepartmentName { get => this._departmentName; set => this._departmentName = value; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[] _enrollmentAccount; + + /// + /// Associated enrollment accounts. By default this is not populated, unless it's specified in $expand. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[] EnrollmentAccount { get => this._enrollmentAccount; set => this._enrollmentAccount = value; } + + /// Backing field for property. + private string _status; + + /// The status of the department. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Status { get => this._status; set => this._status = value; } + + /// Creates an new instance. + public DepartmentProperties() + { + + } + } + /// The properties of a department. + public partial interface IDepartmentProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The cost center associated with the department. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The cost center associated with the department.", + SerializedName = @"costCenter", + PossibleTypes = new [] { typeof(string) })] + string CostCenter { get; set; } + /// The name of the department. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the department.", + SerializedName = @"departmentName", + PossibleTypes = new [] { typeof(string) })] + string DepartmentName { get; set; } + /// + /// Associated enrollment accounts. By default this is not populated, unless it's specified in $expand. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Associated enrollment accounts. By default this is not populated, unless it's specified in $expand.", + SerializedName = @"enrollmentAccounts", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[] EnrollmentAccount { get; set; } + /// The status of the department. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The status of the department.", + SerializedName = @"status", + PossibleTypes = new [] { typeof(string) })] + string Status { get; set; } + + } + /// The properties of a department. + internal partial interface IDepartmentPropertiesInternal + + { + /// The cost center associated with the department. + string CostCenter { get; set; } + /// The name of the department. + string DepartmentName { get; set; } + /// + /// Associated enrollment accounts. By default this is not populated, unless it's specified in $expand. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[] EnrollmentAccount { get; set; } + /// The status of the department. + string Status { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/DepartmentProperties.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/DepartmentProperties.json.cs new file mode 100644 index 000000000000..6bdd2fe92299 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/DepartmentProperties.json.cs @@ -0,0 +1,122 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of a department. + public partial class DepartmentProperties + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal DepartmentProperties(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_departmentName = If( json?.PropertyT("departmentName"), out var __jsonDepartmentName) ? (string)__jsonDepartmentName : (string)DepartmentName;} + {_costCenter = If( json?.PropertyT("costCenter"), out var __jsonCostCenter) ? (string)__jsonCostCenter : (string)CostCenter;} + {_status = If( json?.PropertyT("status"), out var __jsonStatus) ? (string)__jsonStatus : (string)Status;} + {_enrollmentAccount = If( json?.PropertyT("enrollmentAccounts"), out var __jsonEnrollmentAccounts) ? If( __jsonEnrollmentAccounts as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount) (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentAccount.FromJson(__u) )) ))() : null : EnrollmentAccount;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentProperties. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentProperties. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentProperties FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new DepartmentProperties(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != (((object)this._departmentName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._departmentName.ToString()) : null, "departmentName" ,container.Add ); + AddIf( null != (((object)this._costCenter)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._costCenter.ToString()) : null, "costCenter" ,container.Add ); + AddIf( null != (((object)this._status)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._status.ToString()) : null, "status" ,container.Add ); + if (null != this._enrollmentAccount) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(); + foreach( var __x in this._enrollmentAccount ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("enrollmentAccounts",__w); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Document.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/Document.PowerShell.cs new file mode 100644 index 000000000000..2f0e46579989 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Document.PowerShell.cs @@ -0,0 +1,160 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The properties of a document. + [System.ComponentModel.TypeConverter(typeof(DocumentTypeConverter))] + public partial class Document + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDocument DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new Document(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDocument DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new Document(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal Document(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Kind")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDocumentInternal)this).Kind = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.DocumentType?) content.GetValueForProperty("Kind",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDocumentInternal)this).Kind, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.DocumentType.CreateFrom); + } + if (content.Contains("Url")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDocumentInternal)this).Url = (string) content.GetValueForProperty("Url",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDocumentInternal)this).Url, global::System.Convert.ToString); + } + if (content.Contains("Source")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDocumentInternal)this).Source = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.DocumentSource?) content.GetValueForProperty("Source",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDocumentInternal)this).Source, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.DocumentSource.CreateFrom); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal Document(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Kind")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDocumentInternal)this).Kind = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.DocumentType?) content.GetValueForProperty("Kind",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDocumentInternal)this).Kind, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.DocumentType.CreateFrom); + } + if (content.Contains("Url")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDocumentInternal)this).Url = (string) content.GetValueForProperty("Url",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDocumentInternal)this).Url, global::System.Convert.ToString); + } + if (content.Contains("Source")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDocumentInternal)this).Source = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.DocumentSource?) content.GetValueForProperty("Source",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDocumentInternal)this).Source, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.DocumentSource.CreateFrom); + } + AfterDeserializePSObject(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDocument FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The properties of a document. + [System.ComponentModel.TypeConverter(typeof(DocumentTypeConverter))] + public partial interface IDocument + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Document.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/Document.TypeConverter.cs new file mode 100644 index 000000000000..0aaf139dccdd --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Document.TypeConverter.cs @@ -0,0 +1,146 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class DocumentTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDocument ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDocument).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return Document.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return Document.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return Document.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Document.cs b/swaggerci/billing/generated/api/Models/Api20200501/Document.cs new file mode 100644 index 000000000000..78ccbf136933 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Document.cs @@ -0,0 +1,94 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of a document. + public partial class Document : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDocument, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDocumentInternal + { + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.DocumentType? _kind; + + /// The type of the document. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.DocumentType? Kind { get => this._kind; } + + /// Internal Acessors for Kind + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.DocumentType? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDocumentInternal.Kind { get => this._kind; set { {_kind = value;} } } + + /// Internal Acessors for Source + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.DocumentSource? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDocumentInternal.Source { get => this._source; set { {_source = value;} } } + + /// Internal Acessors for Url + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDocumentInternal.Url { get => this._url; set { {_url = value;} } } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.DocumentSource? _source; + + /// The source of the document. ENF for Brazil and DRS for rest of the world. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.DocumentSource? Source { get => this._source; } + + /// Backing field for property. + private string _url; + + /// Document URL. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Url { get => this._url; } + + /// Creates an new instance. + public Document() + { + + } + } + /// The properties of a document. + public partial interface IDocument : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The type of the document. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The type of the document.", + SerializedName = @"kind", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.DocumentType) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.DocumentType? Kind { get; } + /// The source of the document. ENF for Brazil and DRS for rest of the world. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The source of the document. ENF for Brazil and DRS for rest of the world.", + SerializedName = @"source", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.DocumentSource) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.DocumentSource? Source { get; } + /// Document URL. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Document URL.", + SerializedName = @"url", + PossibleTypes = new [] { typeof(string) })] + string Url { get; } + + } + /// The properties of a document. + internal partial interface IDocumentInternal + + { + /// The type of the document. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.DocumentType? Kind { get; set; } + /// The source of the document. ENF for Brazil and DRS for rest of the world. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.DocumentSource? Source { get; set; } + /// Document URL. + string Url { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Document.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/Document.json.cs new file mode 100644 index 000000000000..fda02240dfca --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Document.json.cs @@ -0,0 +1,121 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of a document. + public partial class Document + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal Document(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_kind = If( json?.PropertyT("kind"), out var __jsonKind) ? (string)__jsonKind : (string)Kind;} + {_url = If( json?.PropertyT("url"), out var __jsonUrl) ? (string)__jsonUrl : (string)Url;} + {_source = If( json?.PropertyT("source"), out var __jsonSource) ? (string)__jsonSource : (string)Source;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDocument. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDocument. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDocument FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new Document(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._kind)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._kind.ToString()) : null, "kind" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._url)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._url.ToString()) : null, "url" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._source)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._source.ToString()) : null, "source" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/DownloadUrl.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/DownloadUrl.PowerShell.cs new file mode 100644 index 000000000000..62edfbc74124 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/DownloadUrl.PowerShell.cs @@ -0,0 +1,152 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// A secure URL that can be used to download a an entity until the URL expires. + [System.ComponentModel.TypeConverter(typeof(DownloadUrlTypeConverter))] + public partial class DownloadUrl + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new DownloadUrl(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new DownloadUrl(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal DownloadUrl(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("ExpiryTime")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrlInternal)this).ExpiryTime = (global::System.DateTime?) content.GetValueForProperty("ExpiryTime",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrlInternal)this).ExpiryTime, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("Url")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrlInternal)this).Url = (string) content.GetValueForProperty("Url",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrlInternal)this).Url, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal DownloadUrl(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("ExpiryTime")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrlInternal)this).ExpiryTime = (global::System.DateTime?) content.GetValueForProperty("ExpiryTime",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrlInternal)this).ExpiryTime, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("Url")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrlInternal)this).Url = (string) content.GetValueForProperty("Url",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrlInternal)this).Url, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// A secure URL that can be used to download a an entity until the URL expires. + [System.ComponentModel.TypeConverter(typeof(DownloadUrlTypeConverter))] + public partial interface IDownloadUrl + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/DownloadUrl.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/DownloadUrl.TypeConverter.cs new file mode 100644 index 000000000000..4c6ae00536d7 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/DownloadUrl.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class DownloadUrlTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return DownloadUrl.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return DownloadUrl.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return DownloadUrl.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/DownloadUrl.cs b/swaggerci/billing/generated/api/Models/Api20200501/DownloadUrl.cs new file mode 100644 index 000000000000..9832984d13c3 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/DownloadUrl.cs @@ -0,0 +1,74 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// A secure URL that can be used to download a an entity until the URL expires. + public partial class DownloadUrl : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrlInternal + { + + /// Backing field for property. + private global::System.DateTime? _expiryTime; + + /// The time in UTC when the download URL will expire. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public global::System.DateTime? ExpiryTime { get => this._expiryTime; } + + /// Internal Acessors for ExpiryTime + global::System.DateTime? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrlInternal.ExpiryTime { get => this._expiryTime; set { {_expiryTime = value;} } } + + /// Internal Acessors for Url + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrlInternal.Url { get => this._url; set { {_url = value;} } } + + /// Backing field for property. + private string _url; + + /// The URL to the PDF file. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Url { get => this._url; } + + /// Creates an new instance. + public DownloadUrl() + { + + } + } + /// A secure URL that can be used to download a an entity until the URL expires. + public partial interface IDownloadUrl : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The time in UTC when the download URL will expire. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The time in UTC when the download URL will expire.", + SerializedName = @"expiryTime", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? ExpiryTime { get; } + /// The URL to the PDF file. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The URL to the PDF file.", + SerializedName = @"url", + PossibleTypes = new [] { typeof(string) })] + string Url { get; } + + } + /// A secure URL that can be used to download a an entity until the URL expires. + internal partial interface IDownloadUrlInternal + + { + /// The time in UTC when the download URL will expire. + global::System.DateTime? ExpiryTime { get; set; } + /// The URL to the PDF file. + string Url { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/DownloadUrl.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/DownloadUrl.json.cs new file mode 100644 index 000000000000..c9609d569c94 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/DownloadUrl.json.cs @@ -0,0 +1,116 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// A secure URL that can be used to download a an entity until the URL expires. + public partial class DownloadUrl + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal DownloadUrl(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_expiryTime = If( json?.PropertyT("expiryTime"), out var __jsonExpiryTime) ? global::System.DateTime.TryParse((string)__jsonExpiryTime, global::System.Globalization.CultureInfo.InvariantCulture, global::System.Globalization.DateTimeStyles.AdjustToUniversal, out var __jsonExpiryTimeValue) ? __jsonExpiryTimeValue : ExpiryTime : ExpiryTime;} + {_url = If( json?.PropertyT("url"), out var __jsonUrl) ? (string)__jsonUrl : (string)Url;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new DownloadUrl(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._expiryTime ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._expiryTime?.ToString(@"yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK",global::System.Globalization.CultureInfo.InvariantCulture)) : null, "expiryTime" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._url)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._url.ToString()) : null, "url" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Enrollment.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/Enrollment.PowerShell.cs new file mode 100644 index 000000000000..59031a90e9c8 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Enrollment.PowerShell.cs @@ -0,0 +1,240 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The properties of an enrollment. + [System.ComponentModel.TypeConverter(typeof(EnrollmentTypeConverter))] + public partial class Enrollment + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollment DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new Enrollment(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollment DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new Enrollment(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal Enrollment(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Policy")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).Policy = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPolicies) content.GetValueForProperty("Policy",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).Policy, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentPoliciesTypeConverter.ConvertFrom); + } + if (content.Contains("StartDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).StartDate = (global::System.DateTime?) content.GetValueForProperty("StartDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).StartDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("EndDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).EndDate = (global::System.DateTime?) content.GetValueForProperty("EndDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).EndDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("Currency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).Currency = (string) content.GetValueForProperty("Currency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).Currency, global::System.Convert.ToString); + } + if (content.Contains("Channel")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).Channel = (string) content.GetValueForProperty("Channel",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).Channel, global::System.Convert.ToString); + } + if (content.Contains("Language")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).Language = (string) content.GetValueForProperty("Language",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).Language, global::System.Convert.ToString); + } + if (content.Contains("CountryCode")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).CountryCode = (string) content.GetValueForProperty("CountryCode",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).CountryCode, global::System.Convert.ToString); + } + if (content.Contains("Status")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).Status = (string) content.GetValueForProperty("Status",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).Status, global::System.Convert.ToString); + } + if (content.Contains("BillingCycle")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).BillingCycle = (string) content.GetValueForProperty("BillingCycle",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).BillingCycle, global::System.Convert.ToString); + } + if (content.Contains("PolicyAccountOwnerViewCharge")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).PolicyAccountOwnerViewCharge = (bool?) content.GetValueForProperty("PolicyAccountOwnerViewCharge",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).PolicyAccountOwnerViewCharge, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("PolicyDepartmentAdminViewCharge")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).PolicyDepartmentAdminViewCharge = (bool?) content.GetValueForProperty("PolicyDepartmentAdminViewCharge",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).PolicyDepartmentAdminViewCharge, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("PolicyMarketplaceEnabled")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).PolicyMarketplaceEnabled = (bool?) content.GetValueForProperty("PolicyMarketplaceEnabled",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).PolicyMarketplaceEnabled, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("PolicyReservedInstancesEnabled")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).PolicyReservedInstancesEnabled = (bool?) content.GetValueForProperty("PolicyReservedInstancesEnabled",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).PolicyReservedInstancesEnabled, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal Enrollment(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Policy")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).Policy = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPolicies) content.GetValueForProperty("Policy",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).Policy, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentPoliciesTypeConverter.ConvertFrom); + } + if (content.Contains("StartDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).StartDate = (global::System.DateTime?) content.GetValueForProperty("StartDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).StartDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("EndDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).EndDate = (global::System.DateTime?) content.GetValueForProperty("EndDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).EndDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("Currency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).Currency = (string) content.GetValueForProperty("Currency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).Currency, global::System.Convert.ToString); + } + if (content.Contains("Channel")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).Channel = (string) content.GetValueForProperty("Channel",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).Channel, global::System.Convert.ToString); + } + if (content.Contains("Language")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).Language = (string) content.GetValueForProperty("Language",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).Language, global::System.Convert.ToString); + } + if (content.Contains("CountryCode")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).CountryCode = (string) content.GetValueForProperty("CountryCode",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).CountryCode, global::System.Convert.ToString); + } + if (content.Contains("Status")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).Status = (string) content.GetValueForProperty("Status",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).Status, global::System.Convert.ToString); + } + if (content.Contains("BillingCycle")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).BillingCycle = (string) content.GetValueForProperty("BillingCycle",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).BillingCycle, global::System.Convert.ToString); + } + if (content.Contains("PolicyAccountOwnerViewCharge")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).PolicyAccountOwnerViewCharge = (bool?) content.GetValueForProperty("PolicyAccountOwnerViewCharge",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).PolicyAccountOwnerViewCharge, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("PolicyDepartmentAdminViewCharge")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).PolicyDepartmentAdminViewCharge = (bool?) content.GetValueForProperty("PolicyDepartmentAdminViewCharge",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).PolicyDepartmentAdminViewCharge, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("PolicyMarketplaceEnabled")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).PolicyMarketplaceEnabled = (bool?) content.GetValueForProperty("PolicyMarketplaceEnabled",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).PolicyMarketplaceEnabled, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("PolicyReservedInstancesEnabled")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).PolicyReservedInstancesEnabled = (bool?) content.GetValueForProperty("PolicyReservedInstancesEnabled",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal)this).PolicyReservedInstancesEnabled, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + AfterDeserializePSObject(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollment FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The properties of an enrollment. + [System.ComponentModel.TypeConverter(typeof(EnrollmentTypeConverter))] + public partial interface IEnrollment + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Enrollment.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/Enrollment.TypeConverter.cs new file mode 100644 index 000000000000..861af8c41073 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Enrollment.TypeConverter.cs @@ -0,0 +1,146 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class EnrollmentTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollment ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollment).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return Enrollment.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return Enrollment.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return Enrollment.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Enrollment.cs b/swaggerci/billing/generated/api/Models/Api20200501/Enrollment.cs new file mode 100644 index 000000000000..700a6028121b --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Enrollment.cs @@ -0,0 +1,280 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of an enrollment. + public partial class Enrollment : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollment, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal + { + + /// Backing field for property. + private string _billingCycle; + + /// The billing cycle for the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string BillingCycle { get => this._billingCycle; } + + /// Backing field for property. + private string _channel; + + /// The channel type of the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Channel { get => this._channel; } + + /// Backing field for property. + private string _countryCode; + + /// The country code of the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string CountryCode { get => this._countryCode; } + + /// Backing field for property. + private string _currency; + + /// The billing currency for the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Currency { get => this._currency; } + + /// Backing field for property. + private global::System.DateTime? _endDate; + + /// The end date of the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public global::System.DateTime? EndDate { get => this._endDate; set => this._endDate = value; } + + /// Backing field for property. + private string _language; + + /// The language for the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Language { get => this._language; } + + /// Internal Acessors for BillingCycle + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal.BillingCycle { get => this._billingCycle; set { {_billingCycle = value;} } } + + /// Internal Acessors for Channel + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal.Channel { get => this._channel; set { {_channel = value;} } } + + /// Internal Acessors for CountryCode + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal.CountryCode { get => this._countryCode; set { {_countryCode = value;} } } + + /// Internal Acessors for Currency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal.Currency { get => this._currency; set { {_currency = value;} } } + + /// Internal Acessors for Language + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal.Language { get => this._language; set { {_language = value;} } } + + /// Internal Acessors for Policy + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPolicies Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal.Policy { get => (this._policy = this._policy ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentPolicies()); set { {_policy = value;} } } + + /// Internal Acessors for PolicyAccountOwnerViewCharge + bool? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal.PolicyAccountOwnerViewCharge { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPoliciesInternal)Policy).AccountOwnerViewCharge; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPoliciesInternal)Policy).AccountOwnerViewCharge = value; } + + /// Internal Acessors for PolicyDepartmentAdminViewCharge + bool? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal.PolicyDepartmentAdminViewCharge { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPoliciesInternal)Policy).DepartmentAdminViewCharge; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPoliciesInternal)Policy).DepartmentAdminViewCharge = value; } + + /// Internal Acessors for PolicyMarketplaceEnabled + bool? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal.PolicyMarketplaceEnabled { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPoliciesInternal)Policy).MarketplaceEnabled; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPoliciesInternal)Policy).MarketplaceEnabled = value; } + + /// Internal Acessors for PolicyReservedInstancesEnabled + bool? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal.PolicyReservedInstancesEnabled { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPoliciesInternal)Policy).ReservedInstancesEnabled; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPoliciesInternal)Policy).ReservedInstancesEnabled = value; } + + /// Internal Acessors for Status + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentInternal.Status { get => this._status; set { {_status = value;} } } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPolicies _policy; + + /// The policies for Enterprise Agreement enrollments. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPolicies Policy { get => (this._policy = this._policy ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentPolicies()); } + + /// The policy that controls whether Account Owners can view charges. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public bool? PolicyAccountOwnerViewCharge { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPoliciesInternal)Policy).AccountOwnerViewCharge; } + + /// The policy that controls whether Department Administrators can view charges. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public bool? PolicyDepartmentAdminViewCharge { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPoliciesInternal)Policy).DepartmentAdminViewCharge; } + + /// + /// The policy that controls whether Azure marketplace purchases are allowed in the enrollment. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public bool? PolicyMarketplaceEnabled { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPoliciesInternal)Policy).MarketplaceEnabled; } + + /// + /// The policy that controls whether Azure reservation purchases are allowed in the enrollment. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public bool? PolicyReservedInstancesEnabled { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPoliciesInternal)Policy).ReservedInstancesEnabled; } + + /// Backing field for property. + private global::System.DateTime? _startDate; + + /// The start date of the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public global::System.DateTime? StartDate { get => this._startDate; set => this._startDate = value; } + + /// Backing field for property. + private string _status; + + /// The current status of the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Status { get => this._status; } + + /// Creates an new instance. + public Enrollment() + { + + } + } + /// The properties of an enrollment. + public partial interface IEnrollment : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The billing cycle for the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The billing cycle for the enrollment.", + SerializedName = @"billingCycle", + PossibleTypes = new [] { typeof(string) })] + string BillingCycle { get; } + /// The channel type of the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The channel type of the enrollment.", + SerializedName = @"channel", + PossibleTypes = new [] { typeof(string) })] + string Channel { get; } + /// The country code of the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The country code of the enrollment.", + SerializedName = @"countryCode", + PossibleTypes = new [] { typeof(string) })] + string CountryCode { get; } + /// The billing currency for the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The billing currency for the enrollment.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string Currency { get; } + /// The end date of the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The end date of the enrollment.", + SerializedName = @"endDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? EndDate { get; set; } + /// The language for the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The language for the enrollment.", + SerializedName = @"language", + PossibleTypes = new [] { typeof(string) })] + string Language { get; } + /// The policy that controls whether Account Owners can view charges. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The policy that controls whether Account Owners can view charges.", + SerializedName = @"accountOwnerViewCharges", + PossibleTypes = new [] { typeof(bool) })] + bool? PolicyAccountOwnerViewCharge { get; } + /// The policy that controls whether Department Administrators can view charges. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The policy that controls whether Department Administrators can view charges.", + SerializedName = @"departmentAdminViewCharges", + PossibleTypes = new [] { typeof(bool) })] + bool? PolicyDepartmentAdminViewCharge { get; } + /// + /// The policy that controls whether Azure marketplace purchases are allowed in the enrollment. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The policy that controls whether Azure marketplace purchases are allowed in the enrollment.", + SerializedName = @"marketplaceEnabled", + PossibleTypes = new [] { typeof(bool) })] + bool? PolicyMarketplaceEnabled { get; } + /// + /// The policy that controls whether Azure reservation purchases are allowed in the enrollment. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The policy that controls whether Azure reservation purchases are allowed in the enrollment.", + SerializedName = @"reservedInstancesEnabled", + PossibleTypes = new [] { typeof(bool) })] + bool? PolicyReservedInstancesEnabled { get; } + /// The start date of the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The start date of the enrollment.", + SerializedName = @"startDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? StartDate { get; set; } + /// The current status of the enrollment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The current status of the enrollment.", + SerializedName = @"status", + PossibleTypes = new [] { typeof(string) })] + string Status { get; } + + } + /// The properties of an enrollment. + internal partial interface IEnrollmentInternal + + { + /// The billing cycle for the enrollment. + string BillingCycle { get; set; } + /// The channel type of the enrollment. + string Channel { get; set; } + /// The country code of the enrollment. + string CountryCode { get; set; } + /// The billing currency for the enrollment. + string Currency { get; set; } + /// The end date of the enrollment. + global::System.DateTime? EndDate { get; set; } + /// The language for the enrollment. + string Language { get; set; } + /// The policies for Enterprise Agreement enrollments. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPolicies Policy { get; set; } + /// The policy that controls whether Account Owners can view charges. + bool? PolicyAccountOwnerViewCharge { get; set; } + /// The policy that controls whether Department Administrators can view charges. + bool? PolicyDepartmentAdminViewCharge { get; set; } + /// + /// The policy that controls whether Azure marketplace purchases are allowed in the enrollment. + /// + bool? PolicyMarketplaceEnabled { get; set; } + /// + /// The policy that controls whether Azure reservation purchases are allowed in the enrollment. + /// + bool? PolicyReservedInstancesEnabled { get; set; } + /// The start date of the enrollment. + global::System.DateTime? StartDate { get; set; } + /// The current status of the enrollment. + string Status { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Enrollment.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/Enrollment.json.cs new file mode 100644 index 000000000000..0b09d07264d8 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Enrollment.json.cs @@ -0,0 +1,145 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of an enrollment. + public partial class Enrollment + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal Enrollment(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_policy = If( json?.PropertyT("policies"), out var __jsonPolicies) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentPolicies.FromJson(__jsonPolicies) : Policy;} + {_startDate = If( json?.PropertyT("startDate"), out var __jsonStartDate) ? global::System.DateTime.TryParse((string)__jsonStartDate, global::System.Globalization.CultureInfo.InvariantCulture, global::System.Globalization.DateTimeStyles.AdjustToUniversal, out var __jsonStartDateValue) ? __jsonStartDateValue : StartDate : StartDate;} + {_endDate = If( json?.PropertyT("endDate"), out var __jsonEndDate) ? global::System.DateTime.TryParse((string)__jsonEndDate, global::System.Globalization.CultureInfo.InvariantCulture, global::System.Globalization.DateTimeStyles.AdjustToUniversal, out var __jsonEndDateValue) ? __jsonEndDateValue : EndDate : EndDate;} + {_currency = If( json?.PropertyT("currency"), out var __jsonCurrency) ? (string)__jsonCurrency : (string)Currency;} + {_channel = If( json?.PropertyT("channel"), out var __jsonChannel) ? (string)__jsonChannel : (string)Channel;} + {_language = If( json?.PropertyT("language"), out var __jsonLanguage) ? (string)__jsonLanguage : (string)Language;} + {_countryCode = If( json?.PropertyT("countryCode"), out var __jsonCountryCode) ? (string)__jsonCountryCode : (string)CountryCode;} + {_status = If( json?.PropertyT("status"), out var __jsonStatus) ? (string)__jsonStatus : (string)Status;} + {_billingCycle = If( json?.PropertyT("billingCycle"), out var __jsonBillingCycle) ? (string)__jsonBillingCycle : (string)BillingCycle;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollment. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollment. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollment FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new Enrollment(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._policy ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._policy.ToJson(null,serializationMode) : null, "policies" ,container.Add ); + } + AddIf( null != this._startDate ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._startDate?.ToString(@"yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK",global::System.Globalization.CultureInfo.InvariantCulture)) : null, "startDate" ,container.Add ); + AddIf( null != this._endDate ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._endDate?.ToString(@"yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK",global::System.Globalization.CultureInfo.InvariantCulture)) : null, "endDate" ,container.Add ); + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._currency)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._currency.ToString()) : null, "currency" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._channel)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._channel.ToString()) : null, "channel" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._language)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._language.ToString()) : null, "language" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._countryCode)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._countryCode.ToString()) : null, "countryCode" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._status)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._status.ToString()) : null, "status" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._billingCycle)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._billingCycle.ToString()) : null, "billingCycle" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentAccount.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentAccount.PowerShell.cs new file mode 100644 index 000000000000..492e47672b07 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentAccount.PowerShell.cs @@ -0,0 +1,296 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// An enrollment account. + [System.ComponentModel.TypeConverter(typeof(EnrollmentAccountTypeConverter))] + public partial class EnrollmentAccount + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new EnrollmentAccount(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new EnrollmentAccount(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal EnrollmentAccount(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentAccountPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("Department")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).Department = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment) content.GetValueForProperty("Department",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).Department, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.DepartmentTypeConverter.ConvertFrom); + } + if (content.Contains("AccountName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).AccountName = (string) content.GetValueForProperty("AccountName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).AccountName, global::System.Convert.ToString); + } + if (content.Contains("CostCenter")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).CostCenter = (string) content.GetValueForProperty("CostCenter",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).CostCenter, global::System.Convert.ToString); + } + if (content.Contains("AccountOwner")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).AccountOwner = (string) content.GetValueForProperty("AccountOwner",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).AccountOwner, global::System.Convert.ToString); + } + if (content.Contains("AccountOwnerEmail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).AccountOwnerEmail = (string) content.GetValueForProperty("AccountOwnerEmail",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).AccountOwnerEmail, global::System.Convert.ToString); + } + if (content.Contains("Status")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).Status = (string) content.GetValueForProperty("Status",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).Status, global::System.Convert.ToString); + } + if (content.Contains("StartDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).StartDate = (global::System.DateTime?) content.GetValueForProperty("StartDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).StartDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("EndDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).EndDate = (global::System.DateTime?) content.GetValueForProperty("EndDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).EndDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("DepartmentProperty")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).DepartmentProperty = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentProperties) content.GetValueForProperty("DepartmentProperty",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).DepartmentProperty, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.DepartmentPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("DepartmentId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).DepartmentId = (string) content.GetValueForProperty("DepartmentId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).DepartmentId, global::System.Convert.ToString); + } + if (content.Contains("PropertiesDepartmentName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).PropertiesDepartmentName = (string) content.GetValueForProperty("PropertiesDepartmentName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).PropertiesDepartmentName, global::System.Convert.ToString); + } + if (content.Contains("DepartmentType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).DepartmentType = (string) content.GetValueForProperty("DepartmentType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).DepartmentType, global::System.Convert.ToString); + } + if (content.Contains("DepartmentPropertiesDepartmentName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).DepartmentPropertiesDepartmentName = (string) content.GetValueForProperty("DepartmentPropertiesDepartmentName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).DepartmentPropertiesDepartmentName, global::System.Convert.ToString); + } + if (content.Contains("DepartmentPropertiesCostCenter")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).DepartmentPropertiesCostCenter = (string) content.GetValueForProperty("DepartmentPropertiesCostCenter",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).DepartmentPropertiesCostCenter, global::System.Convert.ToString); + } + if (content.Contains("DepartmentPropertiesStatus")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).DepartmentPropertiesStatus = (string) content.GetValueForProperty("DepartmentPropertiesStatus",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).DepartmentPropertiesStatus, global::System.Convert.ToString); + } + if (content.Contains("PropertiesDepartmentPropertiesEnrollmentAccounts")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).PropertiesDepartmentPropertiesEnrollmentAccounts = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[]) content.GetValueForProperty("PropertiesDepartmentPropertiesEnrollmentAccounts",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).PropertiesDepartmentPropertiesEnrollmentAccounts, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentAccountTypeConverter.ConvertFrom)); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal EnrollmentAccount(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentAccountPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("Department")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).Department = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment) content.GetValueForProperty("Department",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).Department, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.DepartmentTypeConverter.ConvertFrom); + } + if (content.Contains("AccountName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).AccountName = (string) content.GetValueForProperty("AccountName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).AccountName, global::System.Convert.ToString); + } + if (content.Contains("CostCenter")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).CostCenter = (string) content.GetValueForProperty("CostCenter",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).CostCenter, global::System.Convert.ToString); + } + if (content.Contains("AccountOwner")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).AccountOwner = (string) content.GetValueForProperty("AccountOwner",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).AccountOwner, global::System.Convert.ToString); + } + if (content.Contains("AccountOwnerEmail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).AccountOwnerEmail = (string) content.GetValueForProperty("AccountOwnerEmail",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).AccountOwnerEmail, global::System.Convert.ToString); + } + if (content.Contains("Status")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).Status = (string) content.GetValueForProperty("Status",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).Status, global::System.Convert.ToString); + } + if (content.Contains("StartDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).StartDate = (global::System.DateTime?) content.GetValueForProperty("StartDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).StartDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("EndDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).EndDate = (global::System.DateTime?) content.GetValueForProperty("EndDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).EndDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("DepartmentProperty")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).DepartmentProperty = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentProperties) content.GetValueForProperty("DepartmentProperty",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).DepartmentProperty, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.DepartmentPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("DepartmentId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).DepartmentId = (string) content.GetValueForProperty("DepartmentId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).DepartmentId, global::System.Convert.ToString); + } + if (content.Contains("PropertiesDepartmentName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).PropertiesDepartmentName = (string) content.GetValueForProperty("PropertiesDepartmentName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).PropertiesDepartmentName, global::System.Convert.ToString); + } + if (content.Contains("DepartmentType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).DepartmentType = (string) content.GetValueForProperty("DepartmentType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).DepartmentType, global::System.Convert.ToString); + } + if (content.Contains("DepartmentPropertiesDepartmentName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).DepartmentPropertiesDepartmentName = (string) content.GetValueForProperty("DepartmentPropertiesDepartmentName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).DepartmentPropertiesDepartmentName, global::System.Convert.ToString); + } + if (content.Contains("DepartmentPropertiesCostCenter")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).DepartmentPropertiesCostCenter = (string) content.GetValueForProperty("DepartmentPropertiesCostCenter",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).DepartmentPropertiesCostCenter, global::System.Convert.ToString); + } + if (content.Contains("DepartmentPropertiesStatus")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).DepartmentPropertiesStatus = (string) content.GetValueForProperty("DepartmentPropertiesStatus",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).DepartmentPropertiesStatus, global::System.Convert.ToString); + } + if (content.Contains("PropertiesDepartmentPropertiesEnrollmentAccounts")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).PropertiesDepartmentPropertiesEnrollmentAccounts = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[]) content.GetValueForProperty("PropertiesDepartmentPropertiesEnrollmentAccounts",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal)this).PropertiesDepartmentPropertiesEnrollmentAccounts, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentAccountTypeConverter.ConvertFrom)); + } + AfterDeserializePSObject(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// An enrollment account. + [System.ComponentModel.TypeConverter(typeof(EnrollmentAccountTypeConverter))] + public partial interface IEnrollmentAccount + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentAccount.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentAccount.TypeConverter.cs new file mode 100644 index 000000000000..8bacfb62e818 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentAccount.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class EnrollmentAccountTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return EnrollmentAccount.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return EnrollmentAccount.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return EnrollmentAccount.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentAccount.cs b/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentAccount.cs new file mode 100644 index 000000000000..253bb7432a44 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentAccount.cs @@ -0,0 +1,309 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// An enrollment account. + public partial class EnrollmentAccount : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IValidates + { + /// + /// Backing field for Inherited model + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource __resource = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource(); + + /// The name of the enrollment account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string AccountName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)Property).AccountName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)Property).AccountName = value ?? null; } + + /// The owner of the enrollment account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string AccountOwner { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)Property).AccountOwner; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)Property).AccountOwner = value ?? null; } + + /// The enrollment account owner email address. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string AccountOwnerEmail { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)Property).AccountOwnerEmail; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)Property).AccountOwnerEmail = value ?? null; } + + /// The cost center associated with the enrollment account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string CostCenter { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)Property).CostCenter; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)Property).CostCenter = value ?? null; } + + /// Resource Id. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string DepartmentId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)Property).DepartmentId; } + + /// The cost center associated with the department. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string DepartmentPropertiesCostCenter { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)Property).DepartmentPropertiesCostCenter; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)Property).DepartmentPropertiesCostCenter = value ?? null; } + + /// The name of the department. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string DepartmentPropertiesDepartmentName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)Property).DepartmentPropertiesDepartmentName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)Property).DepartmentPropertiesDepartmentName = value ?? null; } + + /// The status of the department. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string DepartmentPropertiesStatus { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)Property).DepartmentPropertiesStatus; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)Property).DepartmentPropertiesStatus = value ?? null; } + + /// Resource type. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string DepartmentType { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)Property).DepartmentType; } + + /// The end date of the enrollment account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public global::System.DateTime? EndDate { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)Property).EndDate; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)Property).EndDate = value ?? default(global::System.DateTime); } + + /// Resource Id. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id; } + + /// Internal Acessors for Id + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id = value; } + + /// Internal Acessors for Name + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name = value; } + + /// Internal Acessors for Type + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type = value; } + + /// Internal Acessors for Department + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal.Department { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)Property).Department; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)Property).Department = value; } + + /// Internal Acessors for DepartmentId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal.DepartmentId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)Property).DepartmentId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)Property).DepartmentId = value; } + + /// Internal Acessors for DepartmentProperty + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentProperties Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal.DepartmentProperty { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)Property).DepartmentProperty; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)Property).DepartmentProperty = value; } + + /// Internal Acessors for DepartmentType + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal.DepartmentType { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)Property).DepartmentType; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)Property).DepartmentType = value; } + + /// Internal Acessors for PropertiesDepartmentName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal.PropertiesDepartmentName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)Property).Name; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)Property).Name = value; } + + /// Internal Acessors for Property + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountProperties Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountInternal.Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentAccountProperties()); set { {_property = value;} } } + + /// Resource name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name; } + + /// Resource name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string PropertiesDepartmentName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)Property).Name; } + + /// + /// Associated enrollment accounts. By default this is not populated, unless it's specified in $expand. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[] PropertiesDepartmentPropertiesEnrollmentAccounts { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)Property).EnrollmentAccount; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)Property).EnrollmentAccount = value ?? null /* arrayOf */; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountProperties _property; + + /// The properties of an enrollment account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountProperties Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentAccountProperties()); set => this._property = value; } + + /// The start date of the enrollment account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public global::System.DateTime? StartDate { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)Property).StartDate; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)Property).StartDate = value ?? default(global::System.DateTime); } + + /// The status of the enrollment account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string Status { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)Property).Status; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)Property).Status = value ?? null; } + + /// Resource type. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type; } + + /// Creates an new instance. + public EnrollmentAccount() + { + + } + + /// Validates that this object meets the validation criteria. + /// an instance that will receive validation + /// events. + /// + /// A that will be complete when validation is completed. + /// + public async global::System.Threading.Tasks.Task Validate(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + await eventListener.AssertNotNull(nameof(__resource), __resource); + await eventListener.AssertObjectIsValid(nameof(__resource), __resource); + } + } + /// An enrollment account. + public partial interface IEnrollmentAccount : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource + { + /// The name of the enrollment account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the enrollment account.", + SerializedName = @"accountName", + PossibleTypes = new [] { typeof(string) })] + string AccountName { get; set; } + /// The owner of the enrollment account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The owner of the enrollment account.", + SerializedName = @"accountOwner", + PossibleTypes = new [] { typeof(string) })] + string AccountOwner { get; set; } + /// The enrollment account owner email address. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The enrollment account owner email address.", + SerializedName = @"accountOwnerEmail", + PossibleTypes = new [] { typeof(string) })] + string AccountOwnerEmail { get; set; } + /// The cost center associated with the enrollment account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The cost center associated with the enrollment account.", + SerializedName = @"costCenter", + PossibleTypes = new [] { typeof(string) })] + string CostCenter { get; set; } + /// Resource Id. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Resource Id.", + SerializedName = @"id", + PossibleTypes = new [] { typeof(string) })] + string DepartmentId { get; } + /// The cost center associated with the department. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The cost center associated with the department.", + SerializedName = @"costCenter", + PossibleTypes = new [] { typeof(string) })] + string DepartmentPropertiesCostCenter { get; set; } + /// The name of the department. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the department.", + SerializedName = @"departmentName", + PossibleTypes = new [] { typeof(string) })] + string DepartmentPropertiesDepartmentName { get; set; } + /// The status of the department. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The status of the department.", + SerializedName = @"status", + PossibleTypes = new [] { typeof(string) })] + string DepartmentPropertiesStatus { get; set; } + /// Resource type. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Resource type.", + SerializedName = @"type", + PossibleTypes = new [] { typeof(string) })] + string DepartmentType { get; } + /// The end date of the enrollment account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The end date of the enrollment account.", + SerializedName = @"endDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? EndDate { get; set; } + /// Resource name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Resource name.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + string PropertiesDepartmentName { get; } + /// + /// Associated enrollment accounts. By default this is not populated, unless it's specified in $expand. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Associated enrollment accounts. By default this is not populated, unless it's specified in $expand.", + SerializedName = @"enrollmentAccounts", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[] PropertiesDepartmentPropertiesEnrollmentAccounts { get; set; } + /// The start date of the enrollment account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The start date of the enrollment account.", + SerializedName = @"startDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? StartDate { get; set; } + /// The status of the enrollment account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The status of the enrollment account.", + SerializedName = @"status", + PossibleTypes = new [] { typeof(string) })] + string Status { get; set; } + + } + /// An enrollment account. + internal partial interface IEnrollmentAccountInternal : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal + { + /// The name of the enrollment account. + string AccountName { get; set; } + /// The owner of the enrollment account. + string AccountOwner { get; set; } + /// The enrollment account owner email address. + string AccountOwnerEmail { get; set; } + /// The cost center associated with the enrollment account. + string CostCenter { get; set; } + /// + /// Associated department. By default this is not populated, unless it's specified in $expand. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment Department { get; set; } + /// Resource Id. + string DepartmentId { get; set; } + /// The cost center associated with the department. + string DepartmentPropertiesCostCenter { get; set; } + /// The name of the department. + string DepartmentPropertiesDepartmentName { get; set; } + /// The status of the department. + string DepartmentPropertiesStatus { get; set; } + /// A department. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentProperties DepartmentProperty { get; set; } + /// Resource type. + string DepartmentType { get; set; } + /// The end date of the enrollment account. + global::System.DateTime? EndDate { get; set; } + /// Resource name. + string PropertiesDepartmentName { get; set; } + /// + /// Associated enrollment accounts. By default this is not populated, unless it's specified in $expand. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[] PropertiesDepartmentPropertiesEnrollmentAccounts { get; set; } + /// The properties of an enrollment account. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountProperties Property { get; set; } + /// The start date of the enrollment account. + global::System.DateTime? StartDate { get; set; } + /// The status of the enrollment account. + string Status { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentAccount.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentAccount.json.cs new file mode 100644 index 000000000000..89c75c054d00 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentAccount.json.cs @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// An enrollment account. + public partial class EnrollmentAccount + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal EnrollmentAccount(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + __resource = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource(json); + {_property = If( json?.PropertyT("properties"), out var __jsonProperties) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentAccountProperties.FromJson(__jsonProperties) : Property;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new EnrollmentAccount(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + __resource?.ToJson(container, serializationMode); + AddIf( null != this._property ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._property.ToJson(null,serializationMode) : null, "properties" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentAccountContext.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentAccountContext.PowerShell.cs new file mode 100644 index 000000000000..96e354395d8f --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentAccountContext.PowerShell.cs @@ -0,0 +1,168 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The enrollment account context + [System.ComponentModel.TypeConverter(typeof(EnrollmentAccountContextTypeConverter))] + public partial class EnrollmentAccountContext + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountContext DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new EnrollmentAccountContext(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountContext DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new EnrollmentAccountContext(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal EnrollmentAccountContext(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("CostCenter")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountContextInternal)this).CostCenter = (string) content.GetValueForProperty("CostCenter",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountContextInternal)this).CostCenter, global::System.Convert.ToString); + } + if (content.Contains("StartDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountContextInternal)this).StartDate = (global::System.DateTime?) content.GetValueForProperty("StartDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountContextInternal)this).StartDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("EndDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountContextInternal)this).EndDate = (global::System.DateTime?) content.GetValueForProperty("EndDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountContextInternal)this).EndDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("EnrollmentAccountName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountContextInternal)this).EnrollmentAccountName = (string) content.GetValueForProperty("EnrollmentAccountName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountContextInternal)this).EnrollmentAccountName, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal EnrollmentAccountContext(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("CostCenter")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountContextInternal)this).CostCenter = (string) content.GetValueForProperty("CostCenter",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountContextInternal)this).CostCenter, global::System.Convert.ToString); + } + if (content.Contains("StartDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountContextInternal)this).StartDate = (global::System.DateTime?) content.GetValueForProperty("StartDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountContextInternal)this).StartDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("EndDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountContextInternal)this).EndDate = (global::System.DateTime?) content.GetValueForProperty("EndDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountContextInternal)this).EndDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("EnrollmentAccountName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountContextInternal)this).EnrollmentAccountName = (string) content.GetValueForProperty("EnrollmentAccountName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountContextInternal)this).EnrollmentAccountName, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountContext FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The enrollment account context + [System.ComponentModel.TypeConverter(typeof(EnrollmentAccountContextTypeConverter))] + public partial interface IEnrollmentAccountContext + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentAccountContext.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentAccountContext.TypeConverter.cs new file mode 100644 index 000000000000..80f59f36be56 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentAccountContext.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class EnrollmentAccountContextTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountContext ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountContext).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return EnrollmentAccountContext.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return EnrollmentAccountContext.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return EnrollmentAccountContext.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentAccountContext.cs b/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentAccountContext.cs new file mode 100644 index 000000000000..7e3119f48877 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentAccountContext.cs @@ -0,0 +1,102 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The enrollment account context + public partial class EnrollmentAccountContext : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountContext, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountContextInternal + { + + /// Backing field for property. + private string _costCenter; + + /// The cost center associated with the enrollment account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string CostCenter { get => this._costCenter; set => this._costCenter = value; } + + /// Backing field for property. + private global::System.DateTime? _endDate; + + /// The end date of the enrollment account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public global::System.DateTime? EndDate { get => this._endDate; set => this._endDate = value; } + + /// Backing field for property. + private string _enrollmentAccountName; + + /// The ID of the enrollment account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string EnrollmentAccountName { get => this._enrollmentAccountName; set => this._enrollmentAccountName = value; } + + /// Backing field for property. + private global::System.DateTime? _startDate; + + /// The start date of the enrollment account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public global::System.DateTime? StartDate { get => this._startDate; set => this._startDate = value; } + + /// Creates an new instance. + public EnrollmentAccountContext() + { + + } + } + /// The enrollment account context + public partial interface IEnrollmentAccountContext : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The cost center associated with the enrollment account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The cost center associated with the enrollment account.", + SerializedName = @"costCenter", + PossibleTypes = new [] { typeof(string) })] + string CostCenter { get; set; } + /// The end date of the enrollment account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The end date of the enrollment account.", + SerializedName = @"endDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? EndDate { get; set; } + /// The ID of the enrollment account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The ID of the enrollment account.", + SerializedName = @"enrollmentAccountName", + PossibleTypes = new [] { typeof(string) })] + string EnrollmentAccountName { get; set; } + /// The start date of the enrollment account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The start date of the enrollment account.", + SerializedName = @"startDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? StartDate { get; set; } + + } + /// The enrollment account context + internal partial interface IEnrollmentAccountContextInternal + + { + /// The cost center associated with the enrollment account. + string CostCenter { get; set; } + /// The end date of the enrollment account. + global::System.DateTime? EndDate { get; set; } + /// The ID of the enrollment account. + string EnrollmentAccountName { get; set; } + /// The start date of the enrollment account. + global::System.DateTime? StartDate { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentAccountContext.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentAccountContext.json.cs new file mode 100644 index 000000000000..738e653847f6 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentAccountContext.json.cs @@ -0,0 +1,114 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The enrollment account context + public partial class EnrollmentAccountContext + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal EnrollmentAccountContext(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_costCenter = If( json?.PropertyT("costCenter"), out var __jsonCostCenter) ? (string)__jsonCostCenter : (string)CostCenter;} + {_startDate = If( json?.PropertyT("startDate"), out var __jsonStartDate) ? global::System.DateTime.TryParse((string)__jsonStartDate, global::System.Globalization.CultureInfo.InvariantCulture, global::System.Globalization.DateTimeStyles.AdjustToUniversal, out var __jsonStartDateValue) ? __jsonStartDateValue : StartDate : StartDate;} + {_endDate = If( json?.PropertyT("endDate"), out var __jsonEndDate) ? global::System.DateTime.TryParse((string)__jsonEndDate, global::System.Globalization.CultureInfo.InvariantCulture, global::System.Globalization.DateTimeStyles.AdjustToUniversal, out var __jsonEndDateValue) ? __jsonEndDateValue : EndDate : EndDate;} + {_enrollmentAccountName = If( json?.PropertyT("enrollmentAccountName"), out var __jsonEnrollmentAccountName) ? (string)__jsonEnrollmentAccountName : (string)EnrollmentAccountName;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountContext. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountContext. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountContext FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new EnrollmentAccountContext(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != (((object)this._costCenter)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._costCenter.ToString()) : null, "costCenter" ,container.Add ); + AddIf( null != this._startDate ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._startDate?.ToString(@"yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK",global::System.Globalization.CultureInfo.InvariantCulture)) : null, "startDate" ,container.Add ); + AddIf( null != this._endDate ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._endDate?.ToString(@"yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK",global::System.Globalization.CultureInfo.InvariantCulture)) : null, "endDate" ,container.Add ); + AddIf( null != (((object)this._enrollmentAccountName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._enrollmentAccountName.ToString()) : null, "enrollmentAccountName" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentAccountProperties.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentAccountProperties.PowerShell.cs new file mode 100644 index 000000000000..a9ac38fce4b4 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentAccountProperties.PowerShell.cs @@ -0,0 +1,266 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The properties of an enrollment account. + [System.ComponentModel.TypeConverter(typeof(EnrollmentAccountPropertiesTypeConverter))] + public partial class EnrollmentAccountProperties + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountProperties DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new EnrollmentAccountProperties(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountProperties DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new EnrollmentAccountProperties(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal EnrollmentAccountProperties(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Department")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).Department = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment) content.GetValueForProperty("Department",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).Department, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.DepartmentTypeConverter.ConvertFrom); + } + if (content.Contains("AccountName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).AccountName = (string) content.GetValueForProperty("AccountName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).AccountName, global::System.Convert.ToString); + } + if (content.Contains("CostCenter")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).CostCenter = (string) content.GetValueForProperty("CostCenter",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).CostCenter, global::System.Convert.ToString); + } + if (content.Contains("AccountOwner")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).AccountOwner = (string) content.GetValueForProperty("AccountOwner",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).AccountOwner, global::System.Convert.ToString); + } + if (content.Contains("AccountOwnerEmail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).AccountOwnerEmail = (string) content.GetValueForProperty("AccountOwnerEmail",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).AccountOwnerEmail, global::System.Convert.ToString); + } + if (content.Contains("Status")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).Status = (string) content.GetValueForProperty("Status",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).Status, global::System.Convert.ToString); + } + if (content.Contains("StartDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).StartDate = (global::System.DateTime?) content.GetValueForProperty("StartDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).StartDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("EndDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).EndDate = (global::System.DateTime?) content.GetValueForProperty("EndDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).EndDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("DepartmentProperty")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).DepartmentProperty = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentProperties) content.GetValueForProperty("DepartmentProperty",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).DepartmentProperty, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.DepartmentPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("DepartmentId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).DepartmentId = (string) content.GetValueForProperty("DepartmentId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).DepartmentId, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("DepartmentType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).DepartmentType = (string) content.GetValueForProperty("DepartmentType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).DepartmentType, global::System.Convert.ToString); + } + if (content.Contains("DepartmentPropertiesDepartmentName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).DepartmentPropertiesDepartmentName = (string) content.GetValueForProperty("DepartmentPropertiesDepartmentName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).DepartmentPropertiesDepartmentName, global::System.Convert.ToString); + } + if (content.Contains("DepartmentPropertiesCostCenter")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).DepartmentPropertiesCostCenter = (string) content.GetValueForProperty("DepartmentPropertiesCostCenter",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).DepartmentPropertiesCostCenter, global::System.Convert.ToString); + } + if (content.Contains("DepartmentPropertiesStatus")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).DepartmentPropertiesStatus = (string) content.GetValueForProperty("DepartmentPropertiesStatus",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).DepartmentPropertiesStatus, global::System.Convert.ToString); + } + if (content.Contains("EnrollmentAccount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).EnrollmentAccount = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[]) content.GetValueForProperty("EnrollmentAccount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).EnrollmentAccount, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentAccountTypeConverter.ConvertFrom)); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal EnrollmentAccountProperties(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Department")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).Department = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment) content.GetValueForProperty("Department",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).Department, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.DepartmentTypeConverter.ConvertFrom); + } + if (content.Contains("AccountName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).AccountName = (string) content.GetValueForProperty("AccountName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).AccountName, global::System.Convert.ToString); + } + if (content.Contains("CostCenter")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).CostCenter = (string) content.GetValueForProperty("CostCenter",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).CostCenter, global::System.Convert.ToString); + } + if (content.Contains("AccountOwner")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).AccountOwner = (string) content.GetValueForProperty("AccountOwner",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).AccountOwner, global::System.Convert.ToString); + } + if (content.Contains("AccountOwnerEmail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).AccountOwnerEmail = (string) content.GetValueForProperty("AccountOwnerEmail",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).AccountOwnerEmail, global::System.Convert.ToString); + } + if (content.Contains("Status")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).Status = (string) content.GetValueForProperty("Status",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).Status, global::System.Convert.ToString); + } + if (content.Contains("StartDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).StartDate = (global::System.DateTime?) content.GetValueForProperty("StartDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).StartDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("EndDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).EndDate = (global::System.DateTime?) content.GetValueForProperty("EndDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).EndDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("DepartmentProperty")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).DepartmentProperty = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentProperties) content.GetValueForProperty("DepartmentProperty",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).DepartmentProperty, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.DepartmentPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("DepartmentId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).DepartmentId = (string) content.GetValueForProperty("DepartmentId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).DepartmentId, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("DepartmentType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).DepartmentType = (string) content.GetValueForProperty("DepartmentType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).DepartmentType, global::System.Convert.ToString); + } + if (content.Contains("DepartmentPropertiesDepartmentName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).DepartmentPropertiesDepartmentName = (string) content.GetValueForProperty("DepartmentPropertiesDepartmentName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).DepartmentPropertiesDepartmentName, global::System.Convert.ToString); + } + if (content.Contains("DepartmentPropertiesCostCenter")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).DepartmentPropertiesCostCenter = (string) content.GetValueForProperty("DepartmentPropertiesCostCenter",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).DepartmentPropertiesCostCenter, global::System.Convert.ToString); + } + if (content.Contains("DepartmentPropertiesStatus")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).DepartmentPropertiesStatus = (string) content.GetValueForProperty("DepartmentPropertiesStatus",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).DepartmentPropertiesStatus, global::System.Convert.ToString); + } + if (content.Contains("EnrollmentAccount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).EnrollmentAccount = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[]) content.GetValueForProperty("EnrollmentAccount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal)this).EnrollmentAccount, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.EnrollmentAccountTypeConverter.ConvertFrom)); + } + AfterDeserializePSObject(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountProperties FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The properties of an enrollment account. + [System.ComponentModel.TypeConverter(typeof(EnrollmentAccountPropertiesTypeConverter))] + public partial interface IEnrollmentAccountProperties + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentAccountProperties.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentAccountProperties.TypeConverter.cs new file mode 100644 index 000000000000..ecd638305a68 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentAccountProperties.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class EnrollmentAccountPropertiesTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountProperties ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountProperties).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return EnrollmentAccountProperties.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return EnrollmentAccountProperties.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return EnrollmentAccountProperties.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentAccountProperties.cs b/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentAccountProperties.cs new file mode 100644 index 000000000000..03b84079477b --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentAccountProperties.cs @@ -0,0 +1,287 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of an enrollment account. + public partial class EnrollmentAccountProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountProperties, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal + { + + /// Backing field for property. + private string _accountName; + + /// The name of the enrollment account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string AccountName { get => this._accountName; set => this._accountName = value; } + + /// Backing field for property. + private string _accountOwner; + + /// The owner of the enrollment account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string AccountOwner { get => this._accountOwner; set => this._accountOwner = value; } + + /// Backing field for property. + private string _accountOwnerEmail; + + /// The enrollment account owner email address. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string AccountOwnerEmail { get => this._accountOwnerEmail; set => this._accountOwnerEmail = value; } + + /// Backing field for property. + private string _costCenter; + + /// The cost center associated with the enrollment account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string CostCenter { get => this._costCenter; set => this._costCenter = value; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment _department; + + /// + /// Associated department. By default this is not populated, unless it's specified in $expand. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment Department { get => (this._department = this._department ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Department()); set => this._department = value; } + + /// Resource Id. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string DepartmentId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)Department).Id; } + + /// The cost center associated with the department. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string DepartmentPropertiesCostCenter { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentInternal)Department).CostCenter; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentInternal)Department).CostCenter = value ?? null; } + + /// The name of the department. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string DepartmentPropertiesDepartmentName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentInternal)Department).DepartmentName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentInternal)Department).DepartmentName = value ?? null; } + + /// The status of the department. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string DepartmentPropertiesStatus { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentInternal)Department).Status; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentInternal)Department).Status = value ?? null; } + + /// Resource type. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string DepartmentType { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)Department).Type; } + + /// Backing field for property. + private global::System.DateTime? _endDate; + + /// The end date of the enrollment account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public global::System.DateTime? EndDate { get => this._endDate; set => this._endDate = value; } + + /// + /// Associated enrollment accounts. By default this is not populated, unless it's specified in $expand. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[] EnrollmentAccount { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentInternal)Department).EnrollmentAccount; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentInternal)Department).EnrollmentAccount = value ?? null /* arrayOf */; } + + /// Internal Acessors for Department + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal.Department { get => (this._department = this._department ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Department()); set { {_department = value;} } } + + /// Internal Acessors for DepartmentId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal.DepartmentId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)Department).Id; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)Department).Id = value; } + + /// Internal Acessors for DepartmentProperty + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentProperties Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal.DepartmentProperty { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentInternal)Department).Property; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentInternal)Department).Property = value; } + + /// Internal Acessors for DepartmentType + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal.DepartmentType { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)Department).Type; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)Department).Type = value; } + + /// Internal Acessors for Name + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountPropertiesInternal.Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)Department).Name; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)Department).Name = value; } + + /// Resource name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)Department).Name; } + + /// Backing field for property. + private global::System.DateTime? _startDate; + + /// The start date of the enrollment account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public global::System.DateTime? StartDate { get => this._startDate; set => this._startDate = value; } + + /// Backing field for property. + private string _status; + + /// The status of the enrollment account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Status { get => this._status; set => this._status = value; } + + /// Creates an new instance. + public EnrollmentAccountProperties() + { + + } + } + /// The properties of an enrollment account. + public partial interface IEnrollmentAccountProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The name of the enrollment account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the enrollment account.", + SerializedName = @"accountName", + PossibleTypes = new [] { typeof(string) })] + string AccountName { get; set; } + /// The owner of the enrollment account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The owner of the enrollment account.", + SerializedName = @"accountOwner", + PossibleTypes = new [] { typeof(string) })] + string AccountOwner { get; set; } + /// The enrollment account owner email address. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The enrollment account owner email address.", + SerializedName = @"accountOwnerEmail", + PossibleTypes = new [] { typeof(string) })] + string AccountOwnerEmail { get; set; } + /// The cost center associated with the enrollment account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The cost center associated with the enrollment account.", + SerializedName = @"costCenter", + PossibleTypes = new [] { typeof(string) })] + string CostCenter { get; set; } + /// Resource Id. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Resource Id.", + SerializedName = @"id", + PossibleTypes = new [] { typeof(string) })] + string DepartmentId { get; } + /// The cost center associated with the department. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The cost center associated with the department.", + SerializedName = @"costCenter", + PossibleTypes = new [] { typeof(string) })] + string DepartmentPropertiesCostCenter { get; set; } + /// The name of the department. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the department.", + SerializedName = @"departmentName", + PossibleTypes = new [] { typeof(string) })] + string DepartmentPropertiesDepartmentName { get; set; } + /// The status of the department. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The status of the department.", + SerializedName = @"status", + PossibleTypes = new [] { typeof(string) })] + string DepartmentPropertiesStatus { get; set; } + /// Resource type. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Resource type.", + SerializedName = @"type", + PossibleTypes = new [] { typeof(string) })] + string DepartmentType { get; } + /// The end date of the enrollment account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The end date of the enrollment account.", + SerializedName = @"endDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? EndDate { get; set; } + /// + /// Associated enrollment accounts. By default this is not populated, unless it's specified in $expand. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Associated enrollment accounts. By default this is not populated, unless it's specified in $expand.", + SerializedName = @"enrollmentAccounts", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[] EnrollmentAccount { get; set; } + /// Resource name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Resource name.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + string Name { get; } + /// The start date of the enrollment account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The start date of the enrollment account.", + SerializedName = @"startDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? StartDate { get; set; } + /// The status of the enrollment account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The status of the enrollment account.", + SerializedName = @"status", + PossibleTypes = new [] { typeof(string) })] + string Status { get; set; } + + } + /// The properties of an enrollment account. + internal partial interface IEnrollmentAccountPropertiesInternal + + { + /// The name of the enrollment account. + string AccountName { get; set; } + /// The owner of the enrollment account. + string AccountOwner { get; set; } + /// The enrollment account owner email address. + string AccountOwnerEmail { get; set; } + /// The cost center associated with the enrollment account. + string CostCenter { get; set; } + /// + /// Associated department. By default this is not populated, unless it's specified in $expand. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment Department { get; set; } + /// Resource Id. + string DepartmentId { get; set; } + /// The cost center associated with the department. + string DepartmentPropertiesCostCenter { get; set; } + /// The name of the department. + string DepartmentPropertiesDepartmentName { get; set; } + /// The status of the department. + string DepartmentPropertiesStatus { get; set; } + /// A department. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartmentProperties DepartmentProperty { get; set; } + /// Resource type. + string DepartmentType { get; set; } + /// The end date of the enrollment account. + global::System.DateTime? EndDate { get; set; } + /// + /// Associated enrollment accounts. By default this is not populated, unless it's specified in $expand. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[] EnrollmentAccount { get; set; } + /// Resource name. + string Name { get; set; } + /// The start date of the enrollment account. + global::System.DateTime? StartDate { get; set; } + /// The status of the enrollment account. + string Status { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentAccountProperties.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentAccountProperties.json.cs new file mode 100644 index 000000000000..5b2b13f33ec2 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentAccountProperties.json.cs @@ -0,0 +1,122 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of an enrollment account. + public partial class EnrollmentAccountProperties + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal EnrollmentAccountProperties(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_department = If( json?.PropertyT("department"), out var __jsonDepartment) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Department.FromJson(__jsonDepartment) : Department;} + {_accountName = If( json?.PropertyT("accountName"), out var __jsonAccountName) ? (string)__jsonAccountName : (string)AccountName;} + {_costCenter = If( json?.PropertyT("costCenter"), out var __jsonCostCenter) ? (string)__jsonCostCenter : (string)CostCenter;} + {_accountOwner = If( json?.PropertyT("accountOwner"), out var __jsonAccountOwner) ? (string)__jsonAccountOwner : (string)AccountOwner;} + {_accountOwnerEmail = If( json?.PropertyT("accountOwnerEmail"), out var __jsonAccountOwnerEmail) ? (string)__jsonAccountOwnerEmail : (string)AccountOwnerEmail;} + {_status = If( json?.PropertyT("status"), out var __jsonStatus) ? (string)__jsonStatus : (string)Status;} + {_startDate = If( json?.PropertyT("startDate"), out var __jsonStartDate) ? global::System.DateTime.TryParse((string)__jsonStartDate, global::System.Globalization.CultureInfo.InvariantCulture, global::System.Globalization.DateTimeStyles.AdjustToUniversal, out var __jsonStartDateValue) ? __jsonStartDateValue : StartDate : StartDate;} + {_endDate = If( json?.PropertyT("endDate"), out var __jsonEndDate) ? global::System.DateTime.TryParse((string)__jsonEndDate, global::System.Globalization.CultureInfo.InvariantCulture, global::System.Globalization.DateTimeStyles.AdjustToUniversal, out var __jsonEndDateValue) ? __jsonEndDateValue : EndDate : EndDate;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountProperties. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountProperties. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccountProperties FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new EnrollmentAccountProperties(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != this._department ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._department.ToJson(null,serializationMode) : null, "department" ,container.Add ); + AddIf( null != (((object)this._accountName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._accountName.ToString()) : null, "accountName" ,container.Add ); + AddIf( null != (((object)this._costCenter)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._costCenter.ToString()) : null, "costCenter" ,container.Add ); + AddIf( null != (((object)this._accountOwner)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._accountOwner.ToString()) : null, "accountOwner" ,container.Add ); + AddIf( null != (((object)this._accountOwnerEmail)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._accountOwnerEmail.ToString()) : null, "accountOwnerEmail" ,container.Add ); + AddIf( null != (((object)this._status)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._status.ToString()) : null, "status" ,container.Add ); + AddIf( null != this._startDate ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._startDate?.ToString(@"yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK",global::System.Globalization.CultureInfo.InvariantCulture)) : null, "startDate" ,container.Add ); + AddIf( null != this._endDate ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._endDate?.ToString(@"yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK",global::System.Globalization.CultureInfo.InvariantCulture)) : null, "endDate" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentPolicies.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentPolicies.PowerShell.cs new file mode 100644 index 000000000000..adf254d00292 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentPolicies.PowerShell.cs @@ -0,0 +1,168 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The policies for Enterprise Agreement enrollments. + [System.ComponentModel.TypeConverter(typeof(EnrollmentPoliciesTypeConverter))] + public partial class EnrollmentPolicies + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPolicies DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new EnrollmentPolicies(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPolicies DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new EnrollmentPolicies(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal EnrollmentPolicies(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("AccountOwnerViewCharge")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPoliciesInternal)this).AccountOwnerViewCharge = (bool?) content.GetValueForProperty("AccountOwnerViewCharge",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPoliciesInternal)this).AccountOwnerViewCharge, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("DepartmentAdminViewCharge")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPoliciesInternal)this).DepartmentAdminViewCharge = (bool?) content.GetValueForProperty("DepartmentAdminViewCharge",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPoliciesInternal)this).DepartmentAdminViewCharge, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("MarketplaceEnabled")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPoliciesInternal)this).MarketplaceEnabled = (bool?) content.GetValueForProperty("MarketplaceEnabled",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPoliciesInternal)this).MarketplaceEnabled, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("ReservedInstancesEnabled")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPoliciesInternal)this).ReservedInstancesEnabled = (bool?) content.GetValueForProperty("ReservedInstancesEnabled",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPoliciesInternal)this).ReservedInstancesEnabled, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal EnrollmentPolicies(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("AccountOwnerViewCharge")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPoliciesInternal)this).AccountOwnerViewCharge = (bool?) content.GetValueForProperty("AccountOwnerViewCharge",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPoliciesInternal)this).AccountOwnerViewCharge, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("DepartmentAdminViewCharge")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPoliciesInternal)this).DepartmentAdminViewCharge = (bool?) content.GetValueForProperty("DepartmentAdminViewCharge",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPoliciesInternal)this).DepartmentAdminViewCharge, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("MarketplaceEnabled")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPoliciesInternal)this).MarketplaceEnabled = (bool?) content.GetValueForProperty("MarketplaceEnabled",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPoliciesInternal)this).MarketplaceEnabled, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("ReservedInstancesEnabled")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPoliciesInternal)this).ReservedInstancesEnabled = (bool?) content.GetValueForProperty("ReservedInstancesEnabled",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPoliciesInternal)this).ReservedInstancesEnabled, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + AfterDeserializePSObject(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPolicies FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The policies for Enterprise Agreement enrollments. + [System.ComponentModel.TypeConverter(typeof(EnrollmentPoliciesTypeConverter))] + public partial interface IEnrollmentPolicies + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentPolicies.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentPolicies.TypeConverter.cs new file mode 100644 index 000000000000..322ba7beb6ed --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentPolicies.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class EnrollmentPoliciesTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPolicies ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPolicies).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return EnrollmentPolicies.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return EnrollmentPolicies.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return EnrollmentPolicies.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentPolicies.cs b/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentPolicies.cs new file mode 100644 index 000000000000..9c3a760fdfad --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentPolicies.cs @@ -0,0 +1,126 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The policies for Enterprise Agreement enrollments. + public partial class EnrollmentPolicies : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPolicies, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPoliciesInternal + { + + /// Backing field for property. + private bool? _accountOwnerViewCharge; + + /// The policy that controls whether Account Owners can view charges. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public bool? AccountOwnerViewCharge { get => this._accountOwnerViewCharge; } + + /// Backing field for property. + private bool? _departmentAdminViewCharge; + + /// The policy that controls whether Department Administrators can view charges. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public bool? DepartmentAdminViewCharge { get => this._departmentAdminViewCharge; } + + /// Backing field for property. + private bool? _marketplaceEnabled; + + /// + /// The policy that controls whether Azure marketplace purchases are allowed in the enrollment. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public bool? MarketplaceEnabled { get => this._marketplaceEnabled; } + + /// Internal Acessors for AccountOwnerViewCharge + bool? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPoliciesInternal.AccountOwnerViewCharge { get => this._accountOwnerViewCharge; set { {_accountOwnerViewCharge = value;} } } + + /// Internal Acessors for DepartmentAdminViewCharge + bool? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPoliciesInternal.DepartmentAdminViewCharge { get => this._departmentAdminViewCharge; set { {_departmentAdminViewCharge = value;} } } + + /// Internal Acessors for MarketplaceEnabled + bool? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPoliciesInternal.MarketplaceEnabled { get => this._marketplaceEnabled; set { {_marketplaceEnabled = value;} } } + + /// Internal Acessors for ReservedInstancesEnabled + bool? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPoliciesInternal.ReservedInstancesEnabled { get => this._reservedInstancesEnabled; set { {_reservedInstancesEnabled = value;} } } + + /// Backing field for property. + private bool? _reservedInstancesEnabled; + + /// + /// The policy that controls whether Azure reservation purchases are allowed in the enrollment. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public bool? ReservedInstancesEnabled { get => this._reservedInstancesEnabled; } + + /// Creates an new instance. + public EnrollmentPolicies() + { + + } + } + /// The policies for Enterprise Agreement enrollments. + public partial interface IEnrollmentPolicies : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The policy that controls whether Account Owners can view charges. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The policy that controls whether Account Owners can view charges.", + SerializedName = @"accountOwnerViewCharges", + PossibleTypes = new [] { typeof(bool) })] + bool? AccountOwnerViewCharge { get; } + /// The policy that controls whether Department Administrators can view charges. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The policy that controls whether Department Administrators can view charges.", + SerializedName = @"departmentAdminViewCharges", + PossibleTypes = new [] { typeof(bool) })] + bool? DepartmentAdminViewCharge { get; } + /// + /// The policy that controls whether Azure marketplace purchases are allowed in the enrollment. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The policy that controls whether Azure marketplace purchases are allowed in the enrollment.", + SerializedName = @"marketplaceEnabled", + PossibleTypes = new [] { typeof(bool) })] + bool? MarketplaceEnabled { get; } + /// + /// The policy that controls whether Azure reservation purchases are allowed in the enrollment. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The policy that controls whether Azure reservation purchases are allowed in the enrollment.", + SerializedName = @"reservedInstancesEnabled", + PossibleTypes = new [] { typeof(bool) })] + bool? ReservedInstancesEnabled { get; } + + } + /// The policies for Enterprise Agreement enrollments. + internal partial interface IEnrollmentPoliciesInternal + + { + /// The policy that controls whether Account Owners can view charges. + bool? AccountOwnerViewCharge { get; set; } + /// The policy that controls whether Department Administrators can view charges. + bool? DepartmentAdminViewCharge { get; set; } + /// + /// The policy that controls whether Azure marketplace purchases are allowed in the enrollment. + /// + bool? MarketplaceEnabled { get; set; } + /// + /// The policy that controls whether Azure reservation purchases are allowed in the enrollment. + /// + bool? ReservedInstancesEnabled { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentPolicies.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentPolicies.json.cs new file mode 100644 index 000000000000..4052fb355d2c --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/EnrollmentPolicies.json.cs @@ -0,0 +1,126 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The policies for Enterprise Agreement enrollments. + public partial class EnrollmentPolicies + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal EnrollmentPolicies(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_accountOwnerViewCharge = If( json?.PropertyT("accountOwnerViewCharges"), out var __jsonAccountOwnerViewCharges) ? (bool?)__jsonAccountOwnerViewCharges : AccountOwnerViewCharge;} + {_departmentAdminViewCharge = If( json?.PropertyT("departmentAdminViewCharges"), out var __jsonDepartmentAdminViewCharges) ? (bool?)__jsonDepartmentAdminViewCharges : DepartmentAdminViewCharge;} + {_marketplaceEnabled = If( json?.PropertyT("marketplaceEnabled"), out var __jsonMarketplaceEnabled) ? (bool?)__jsonMarketplaceEnabled : MarketplaceEnabled;} + {_reservedInstancesEnabled = If( json?.PropertyT("reservedInstancesEnabled"), out var __jsonReservedInstancesEnabled) ? (bool?)__jsonReservedInstancesEnabled : ReservedInstancesEnabled;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPolicies. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPolicies. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentPolicies FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new EnrollmentPolicies(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._accountOwnerViewCharge ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonBoolean((bool)this._accountOwnerViewCharge) : null, "accountOwnerViewCharges" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._departmentAdminViewCharge ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonBoolean((bool)this._departmentAdminViewCharge) : null, "departmentAdminViewCharges" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._marketplaceEnabled ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonBoolean((bool)this._marketplaceEnabled) : null, "marketplaceEnabled" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._reservedInstancesEnabled ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonBoolean((bool)this._reservedInstancesEnabled) : null, "reservedInstancesEnabled" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/IndirectRelationshipInfo.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/IndirectRelationshipInfo.PowerShell.cs new file mode 100644 index 000000000000..ad5581110205 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/IndirectRelationshipInfo.PowerShell.cs @@ -0,0 +1,162 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// The billing profile details of the partner of the customer for an indirect motion. + /// + [System.ComponentModel.TypeConverter(typeof(IndirectRelationshipInfoTypeConverter))] + public partial class IndirectRelationshipInfo + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IIndirectRelationshipInfo DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new IndirectRelationshipInfo(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IIndirectRelationshipInfo DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new IndirectRelationshipInfo(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IIndirectRelationshipInfo FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal IndirectRelationshipInfo(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("BillingAccountName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IIndirectRelationshipInfoInternal)this).BillingAccountName = (string) content.GetValueForProperty("BillingAccountName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IIndirectRelationshipInfoInternal)this).BillingAccountName, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IIndirectRelationshipInfoInternal)this).BillingProfileName = (string) content.GetValueForProperty("BillingProfileName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IIndirectRelationshipInfoInternal)this).BillingProfileName, global::System.Convert.ToString); + } + if (content.Contains("DisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IIndirectRelationshipInfoInternal)this).DisplayName = (string) content.GetValueForProperty("DisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IIndirectRelationshipInfoInternal)this).DisplayName, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal IndirectRelationshipInfo(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("BillingAccountName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IIndirectRelationshipInfoInternal)this).BillingAccountName = (string) content.GetValueForProperty("BillingAccountName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IIndirectRelationshipInfoInternal)this).BillingAccountName, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IIndirectRelationshipInfoInternal)this).BillingProfileName = (string) content.GetValueForProperty("BillingProfileName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IIndirectRelationshipInfoInternal)this).BillingProfileName, global::System.Convert.ToString); + } + if (content.Contains("DisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IIndirectRelationshipInfoInternal)this).DisplayName = (string) content.GetValueForProperty("DisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IIndirectRelationshipInfoInternal)this).DisplayName, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The billing profile details of the partner of the customer for an indirect motion. + [System.ComponentModel.TypeConverter(typeof(IndirectRelationshipInfoTypeConverter))] + public partial interface IIndirectRelationshipInfo + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/IndirectRelationshipInfo.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/IndirectRelationshipInfo.TypeConverter.cs new file mode 100644 index 000000000000..411b24d3d317 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/IndirectRelationshipInfo.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class IndirectRelationshipInfoTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IIndirectRelationshipInfo ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IIndirectRelationshipInfo).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return IndirectRelationshipInfo.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return IndirectRelationshipInfo.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return IndirectRelationshipInfo.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/IndirectRelationshipInfo.cs b/swaggerci/billing/generated/api/Models/Api20200501/IndirectRelationshipInfo.cs new file mode 100644 index 000000000000..78ca41974c89 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/IndirectRelationshipInfo.cs @@ -0,0 +1,87 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// + /// The billing profile details of the partner of the customer for an indirect motion. + /// + public partial class IndirectRelationshipInfo : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IIndirectRelationshipInfo, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IIndirectRelationshipInfoInternal + { + + /// Backing field for property. + private string _billingAccountName; + + /// The billing account name of the partner or the customer for an indirect motion. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Backing field for property. + private string _billingProfileName; + + /// The billing profile name of the partner or the customer for an indirect motion. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string BillingProfileName { get => this._billingProfileName; set => this._billingProfileName = value; } + + /// Backing field for property. + private string _displayName; + + /// The display name of the partner or customer for an indirect motion. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string DisplayName { get => this._displayName; set => this._displayName = value; } + + /// Creates an new instance. + public IndirectRelationshipInfo() + { + + } + } + /// The billing profile details of the partner of the customer for an indirect motion. + public partial interface IIndirectRelationshipInfo : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The billing account name of the partner or the customer for an indirect motion. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The billing account name of the partner or the customer for an indirect motion.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + string BillingAccountName { get; set; } + /// The billing profile name of the partner or the customer for an indirect motion. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The billing profile name of the partner or the customer for an indirect motion.", + SerializedName = @"billingProfileName", + PossibleTypes = new [] { typeof(string) })] + string BillingProfileName { get; set; } + /// The display name of the partner or customer for an indirect motion. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The display name of the partner or customer for an indirect motion.", + SerializedName = @"displayName", + PossibleTypes = new [] { typeof(string) })] + string DisplayName { get; set; } + + } + /// The billing profile details of the partner of the customer for an indirect motion. + internal partial interface IIndirectRelationshipInfoInternal + + { + /// The billing account name of the partner or the customer for an indirect motion. + string BillingAccountName { get; set; } + /// The billing profile name of the partner or the customer for an indirect motion. + string BillingProfileName { get; set; } + /// The display name of the partner or customer for an indirect motion. + string DisplayName { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/IndirectRelationshipInfo.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/IndirectRelationshipInfo.json.cs new file mode 100644 index 000000000000..1c536d58e599 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/IndirectRelationshipInfo.json.cs @@ -0,0 +1,114 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// + /// The billing profile details of the partner of the customer for an indirect motion. + /// + public partial class IndirectRelationshipInfo + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IIndirectRelationshipInfo. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IIndirectRelationshipInfo. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IIndirectRelationshipInfo FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new IndirectRelationshipInfo(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal IndirectRelationshipInfo(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_billingAccountName = If( json?.PropertyT("billingAccountName"), out var __jsonBillingAccountName) ? (string)__jsonBillingAccountName : (string)BillingAccountName;} + {_billingProfileName = If( json?.PropertyT("billingProfileName"), out var __jsonBillingProfileName) ? (string)__jsonBillingProfileName : (string)BillingProfileName;} + {_displayName = If( json?.PropertyT("displayName"), out var __jsonDisplayName) ? (string)__jsonDisplayName : (string)DisplayName;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != (((object)this._billingAccountName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._billingAccountName.ToString()) : null, "billingAccountName" ,container.Add ); + AddIf( null != (((object)this._billingProfileName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._billingProfileName.ToString()) : null, "billingProfileName" ,container.Add ); + AddIf( null != (((object)this._displayName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._displayName.ToString()) : null, "displayName" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Instruction.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/Instruction.PowerShell.cs new file mode 100644 index 000000000000..ab80c1841ed7 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Instruction.PowerShell.cs @@ -0,0 +1,200 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// An instruction. + [System.ComponentModel.TypeConverter(typeof(InstructionTypeConverter))] + public partial class Instruction + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstruction DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new Instruction(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstruction DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new Instruction(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstruction FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal Instruction(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InstructionPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("Amount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionInternal)this).Amount = (float) content.GetValueForProperty("Amount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionInternal)this).Amount, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("StartDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionInternal)this).StartDate = (global::System.DateTime) content.GetValueForProperty("StartDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionInternal)this).StartDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("EndDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionInternal)this).EndDate = (global::System.DateTime) content.GetValueForProperty("EndDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionInternal)this).EndDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("CreationDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionInternal)this).CreationDate = (global::System.DateTime?) content.GetValueForProperty("CreationDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionInternal)this).CreationDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal Instruction(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InstructionPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("Amount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionInternal)this).Amount = (float) content.GetValueForProperty("Amount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionInternal)this).Amount, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("StartDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionInternal)this).StartDate = (global::System.DateTime) content.GetValueForProperty("StartDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionInternal)this).StartDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("EndDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionInternal)this).EndDate = (global::System.DateTime) content.GetValueForProperty("EndDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionInternal)this).EndDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("CreationDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionInternal)this).CreationDate = (global::System.DateTime?) content.GetValueForProperty("CreationDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionInternal)this).CreationDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// An instruction. + [System.ComponentModel.TypeConverter(typeof(InstructionTypeConverter))] + public partial interface IInstruction + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Instruction.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/Instruction.TypeConverter.cs new file mode 100644 index 000000000000..d6fb816731f7 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Instruction.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class InstructionTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstruction ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstruction).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return Instruction.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return Instruction.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return Instruction.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Instruction.cs b/swaggerci/billing/generated/api/Models/Api20200501/Instruction.cs new file mode 100644 index 000000000000..3394149f762f --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Instruction.cs @@ -0,0 +1,142 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// An instruction. + public partial class Instruction : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstruction, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionInternal, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IValidates + { + /// + /// Backing field for Inherited model + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource __resource = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource(); + + /// The amount budgeted for this billing instruction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? Amount { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionPropertiesInternal)Property).Amount; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionPropertiesInternal)Property).Amount = value ?? default(float); } + + /// The date this billing instruction was created. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public global::System.DateTime? CreationDate { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionPropertiesInternal)Property).CreationDate; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionPropertiesInternal)Property).CreationDate = value ?? default(global::System.DateTime); } + + /// The date this billing instruction is no longer in effect. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public global::System.DateTime? EndDate { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionPropertiesInternal)Property).EndDate; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionPropertiesInternal)Property).EndDate = value ?? default(global::System.DateTime); } + + /// Resource Id. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id; } + + /// Internal Acessors for Id + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id = value; } + + /// Internal Acessors for Name + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name = value; } + + /// Internal Acessors for Type + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type = value; } + + /// Internal Acessors for Property + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionProperties Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionInternal.Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InstructionProperties()); set { {_property = value;} } } + + /// Resource name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionProperties _property; + + /// A billing instruction used during invoice generation. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionProperties Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InstructionProperties()); set => this._property = value; } + + /// The date this billing instruction goes into effect. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public global::System.DateTime? StartDate { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionPropertiesInternal)Property).StartDate; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionPropertiesInternal)Property).StartDate = value ?? default(global::System.DateTime); } + + /// Resource type. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type; } + + /// Creates an new instance. + public Instruction() + { + + } + + /// Validates that this object meets the validation criteria. + /// an instance that will receive validation + /// events. + /// + /// A that will be complete when validation is completed. + /// + public async global::System.Threading.Tasks.Task Validate(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + await eventListener.AssertNotNull(nameof(__resource), __resource); + await eventListener.AssertObjectIsValid(nameof(__resource), __resource); + } + } + /// An instruction. + public partial interface IInstruction : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource + { + /// The amount budgeted for this billing instruction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The amount budgeted for this billing instruction.", + SerializedName = @"amount", + PossibleTypes = new [] { typeof(float) })] + float? Amount { get; set; } + /// The date this billing instruction was created. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The date this billing instruction was created.", + SerializedName = @"creationDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? CreationDate { get; set; } + /// The date this billing instruction is no longer in effect. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The date this billing instruction is no longer in effect.", + SerializedName = @"endDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? EndDate { get; set; } + /// The date this billing instruction goes into effect. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The date this billing instruction goes into effect.", + SerializedName = @"startDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? StartDate { get; set; } + + } + /// An instruction. + internal partial interface IInstructionInternal : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal + { + /// The amount budgeted for this billing instruction. + float? Amount { get; set; } + /// The date this billing instruction was created. + global::System.DateTime? CreationDate { get; set; } + /// The date this billing instruction is no longer in effect. + global::System.DateTime? EndDate { get; set; } + /// A billing instruction used during invoice generation. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionProperties Property { get; set; } + /// The date this billing instruction goes into effect. + global::System.DateTime? StartDate { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Instruction.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/Instruction.json.cs new file mode 100644 index 000000000000..038968a29eb2 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Instruction.json.cs @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// An instruction. + public partial class Instruction + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstruction. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstruction. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstruction FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new Instruction(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal Instruction(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + __resource = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource(json); + {_property = If( json?.PropertyT("properties"), out var __jsonProperties) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InstructionProperties.FromJson(__jsonProperties) : Property;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + __resource?.ToJson(container, serializationMode); + AddIf( null != this._property ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._property.ToJson(null,serializationMode) : null, "properties" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InstructionListResult.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/InstructionListResult.PowerShell.cs new file mode 100644 index 000000000000..289c4f3caeec --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InstructionListResult.PowerShell.cs @@ -0,0 +1,152 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The list of billing instructions used during invoice generation. + [System.ComponentModel.TypeConverter(typeof(InstructionListResultTypeConverter))] + public partial class InstructionListResult + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionListResult DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new InstructionListResult(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionListResult DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new InstructionListResult(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionListResult FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal InstructionListResult(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstruction[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InstructionTypeConverter.ConvertFrom)); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionListResultInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal InstructionListResult(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstruction[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InstructionTypeConverter.ConvertFrom)); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionListResultInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The list of billing instructions used during invoice generation. + [System.ComponentModel.TypeConverter(typeof(InstructionListResultTypeConverter))] + public partial interface IInstructionListResult + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InstructionListResult.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/InstructionListResult.TypeConverter.cs new file mode 100644 index 000000000000..90bef994848a --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InstructionListResult.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class InstructionListResultTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionListResult ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionListResult).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return InstructionListResult.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return InstructionListResult.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return InstructionListResult.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InstructionListResult.cs b/swaggerci/billing/generated/api/Models/Api20200501/InstructionListResult.cs new file mode 100644 index 000000000000..83ef4a34412d --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InstructionListResult.cs @@ -0,0 +1,74 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The list of billing instructions used during invoice generation. + public partial class InstructionListResult : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionListResult, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionListResultInternal + { + + /// Internal Acessors for NextLink + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionListResultInternal.NextLink { get => this._nextLink; set { {_nextLink = value;} } } + + /// Internal Acessors for Value + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstruction[] Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionListResultInternal.Value { get => this._value; set { {_value = value;} } } + + /// Backing field for property. + private string _nextLink; + + /// The link (url) to the next page of results. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string NextLink { get => this._nextLink; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstruction[] _value; + + /// The list of billing instructions used during invoice generation. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstruction[] Value { get => this._value; } + + /// Creates an new instance. + public InstructionListResult() + { + + } + } + /// The list of billing instructions used during invoice generation. + public partial interface IInstructionListResult : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The link (url) to the next page of results. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The link (url) to the next page of results.", + SerializedName = @"nextLink", + PossibleTypes = new [] { typeof(string) })] + string NextLink { get; } + /// The list of billing instructions used during invoice generation. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The list of billing instructions used during invoice generation.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstruction) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstruction[] Value { get; } + + } + /// The list of billing instructions used during invoice generation. + internal partial interface IInstructionListResultInternal + + { + /// The link (url) to the next page of results. + string NextLink { get; set; } + /// The list of billing instructions used during invoice generation. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstruction[] Value { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InstructionListResult.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/InstructionListResult.json.cs new file mode 100644 index 000000000000..0b5cdc860211 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InstructionListResult.json.cs @@ -0,0 +1,124 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The list of billing instructions used during invoice generation. + public partial class InstructionListResult + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionListResult. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionListResult. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionListResult FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new InstructionListResult(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal InstructionListResult(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_value = If( json?.PropertyT("value"), out var __jsonValue) ? If( __jsonValue as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstruction) (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Instruction.FromJson(__u) )) ))() : null : Value;} + {_nextLink = If( json?.PropertyT("nextLink"), out var __jsonNextLink) ? (string)__jsonNextLink : (string)NextLink;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + if (null != this._value) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(); + foreach( var __x in this._value ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("value",__w); + } + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._nextLink)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._nextLink.ToString()) : null, "nextLink" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InstructionProperties.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/InstructionProperties.PowerShell.cs new file mode 100644 index 000000000000..2e2a5ae6caf0 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InstructionProperties.PowerShell.cs @@ -0,0 +1,168 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// A billing instruction used during invoice generation. + [System.ComponentModel.TypeConverter(typeof(InstructionPropertiesTypeConverter))] + public partial class InstructionProperties + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionProperties DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new InstructionProperties(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionProperties DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new InstructionProperties(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionProperties FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal InstructionProperties(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Amount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionPropertiesInternal)this).Amount = (float) content.GetValueForProperty("Amount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionPropertiesInternal)this).Amount, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("StartDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionPropertiesInternal)this).StartDate = (global::System.DateTime) content.GetValueForProperty("StartDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionPropertiesInternal)this).StartDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("EndDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionPropertiesInternal)this).EndDate = (global::System.DateTime) content.GetValueForProperty("EndDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionPropertiesInternal)this).EndDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("CreationDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionPropertiesInternal)this).CreationDate = (global::System.DateTime?) content.GetValueForProperty("CreationDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionPropertiesInternal)this).CreationDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal InstructionProperties(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Amount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionPropertiesInternal)this).Amount = (float) content.GetValueForProperty("Amount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionPropertiesInternal)this).Amount, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("StartDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionPropertiesInternal)this).StartDate = (global::System.DateTime) content.GetValueForProperty("StartDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionPropertiesInternal)this).StartDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("EndDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionPropertiesInternal)this).EndDate = (global::System.DateTime) content.GetValueForProperty("EndDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionPropertiesInternal)this).EndDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("CreationDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionPropertiesInternal)this).CreationDate = (global::System.DateTime?) content.GetValueForProperty("CreationDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionPropertiesInternal)this).CreationDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// A billing instruction used during invoice generation. + [System.ComponentModel.TypeConverter(typeof(InstructionPropertiesTypeConverter))] + public partial interface IInstructionProperties + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InstructionProperties.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/InstructionProperties.TypeConverter.cs new file mode 100644 index 000000000000..a691f48cc6f4 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InstructionProperties.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class InstructionPropertiesTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionProperties ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionProperties).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return InstructionProperties.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return InstructionProperties.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return InstructionProperties.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InstructionProperties.cs b/swaggerci/billing/generated/api/Models/Api20200501/InstructionProperties.cs new file mode 100644 index 000000000000..9d30afcbfac1 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InstructionProperties.cs @@ -0,0 +1,102 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// A billing instruction used during invoice generation. + public partial class InstructionProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionProperties, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionPropertiesInternal + { + + /// Backing field for property. + private float _amount; + + /// The amount budgeted for this billing instruction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public float Amount { get => this._amount; set => this._amount = value; } + + /// Backing field for property. + private global::System.DateTime? _creationDate; + + /// The date this billing instruction was created. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public global::System.DateTime? CreationDate { get => this._creationDate; set => this._creationDate = value; } + + /// Backing field for property. + private global::System.DateTime _endDate; + + /// The date this billing instruction is no longer in effect. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public global::System.DateTime EndDate { get => this._endDate; set => this._endDate = value; } + + /// Backing field for property. + private global::System.DateTime _startDate; + + /// The date this billing instruction goes into effect. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public global::System.DateTime StartDate { get => this._startDate; set => this._startDate = value; } + + /// Creates an new instance. + public InstructionProperties() + { + + } + } + /// A billing instruction used during invoice generation. + public partial interface IInstructionProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The amount budgeted for this billing instruction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The amount budgeted for this billing instruction.", + SerializedName = @"amount", + PossibleTypes = new [] { typeof(float) })] + float Amount { get; set; } + /// The date this billing instruction was created. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The date this billing instruction was created.", + SerializedName = @"creationDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? CreationDate { get; set; } + /// The date this billing instruction is no longer in effect. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The date this billing instruction is no longer in effect.", + SerializedName = @"endDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime EndDate { get; set; } + /// The date this billing instruction goes into effect. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The date this billing instruction goes into effect.", + SerializedName = @"startDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime StartDate { get; set; } + + } + /// A billing instruction used during invoice generation. + internal partial interface IInstructionPropertiesInternal + + { + /// The amount budgeted for this billing instruction. + float Amount { get; set; } + /// The date this billing instruction was created. + global::System.DateTime? CreationDate { get; set; } + /// The date this billing instruction is no longer in effect. + global::System.DateTime EndDate { get; set; } + /// The date this billing instruction goes into effect. + global::System.DateTime StartDate { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InstructionProperties.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/InstructionProperties.json.cs new file mode 100644 index 000000000000..7fd800eba7b4 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InstructionProperties.json.cs @@ -0,0 +1,114 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// A billing instruction used during invoice generation. + public partial class InstructionProperties + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionProperties. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionProperties. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionProperties FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new InstructionProperties(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal InstructionProperties(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_amount = If( json?.PropertyT("amount"), out var __jsonAmount) ? (float)__jsonAmount : Amount;} + {_startDate = If( json?.PropertyT("startDate"), out var __jsonStartDate) ? global::System.DateTime.TryParse((string)__jsonStartDate, global::System.Globalization.CultureInfo.InvariantCulture, global::System.Globalization.DateTimeStyles.AdjustToUniversal, out var __jsonStartDateValue) ? __jsonStartDateValue : StartDate : StartDate;} + {_endDate = If( json?.PropertyT("endDate"), out var __jsonEndDate) ? global::System.DateTime.TryParse((string)__jsonEndDate, global::System.Globalization.CultureInfo.InvariantCulture, global::System.Globalization.DateTimeStyles.AdjustToUniversal, out var __jsonEndDateValue) ? __jsonEndDateValue : EndDate : EndDate;} + {_creationDate = If( json?.PropertyT("creationDate"), out var __jsonCreationDate) ? global::System.DateTime.TryParse((string)__jsonCreationDate, global::System.Globalization.CultureInfo.InvariantCulture, global::System.Globalization.DateTimeStyles.AdjustToUniversal, out var __jsonCreationDateValue) ? __jsonCreationDateValue : CreationDate : CreationDate;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNumber(this._amount), "amount" ,container.Add ); + AddIf( (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._startDate.ToString(@"yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK",global::System.Globalization.CultureInfo.InvariantCulture)), "startDate" ,container.Add ); + AddIf( (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._endDate.ToString(@"yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK",global::System.Globalization.CultureInfo.InvariantCulture)), "endDate" ,container.Add ); + AddIf( null != this._creationDate ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._creationDate?.ToString(@"yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK",global::System.Globalization.CultureInfo.InvariantCulture)) : null, "creationDate" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Invoice.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/Invoice.PowerShell.cs new file mode 100644 index 000000000000..cbcf59043461 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Invoice.PowerShell.cs @@ -0,0 +1,496 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// An invoice. + [System.ComponentModel.TypeConverter(typeof(InvoiceTypeConverter))] + public partial class Invoice + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new Invoice(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new Invoice(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal Invoice(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoicePropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("AmountDue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).AmountDue = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("AmountDue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).AmountDue, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("InvoiceType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).InvoiceType = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceType?) content.GetValueForProperty("InvoiceType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).InvoiceType, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceType.CreateFrom); + } + if (content.Contains("AzurePrepaymentApplied")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).AzurePrepaymentApplied = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("AzurePrepaymentApplied",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).AzurePrepaymentApplied, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("BilledAmount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).BilledAmount = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("BilledAmount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).BilledAmount, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("CreditAmount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).CreditAmount = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("CreditAmount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).CreditAmount, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("FreeAzureCreditApplied")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).FreeAzureCreditApplied = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("FreeAzureCreditApplied",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).FreeAzureCreditApplied, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("SubTotal")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).SubTotal = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("SubTotal",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).SubTotal, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("TaxAmount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).TaxAmount = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("TaxAmount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).TaxAmount, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("TotalAmount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).TotalAmount = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("TotalAmount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).TotalAmount, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("DueDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).DueDate = (global::System.DateTime?) content.GetValueForProperty("DueDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).DueDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("Date")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).Date = (global::System.DateTime?) content.GetValueForProperty("Date",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).Date, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("Status")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).Status = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceStatus?) content.GetValueForProperty("Status",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).Status, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceStatus.CreateFrom); + } + if (content.Contains("PeriodStartDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).PeriodStartDate = (global::System.DateTime?) content.GetValueForProperty("PeriodStartDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).PeriodStartDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("PeriodEndDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).PeriodEndDate = (global::System.DateTime?) content.GetValueForProperty("PeriodEndDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).PeriodEndDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("IsMonthlyInvoice")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).IsMonthlyInvoice = (bool?) content.GetValueForProperty("IsMonthlyInvoice",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).IsMonthlyInvoice, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("BillingProfileId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).BillingProfileId = (string) content.GetValueForProperty("BillingProfileId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).BillingProfileId, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).BillingProfileDisplayName = (string) content.GetValueForProperty("BillingProfileDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).BillingProfileDisplayName, global::System.Convert.ToString); + } + if (content.Contains("PurchaseOrderNumber")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).PurchaseOrderNumber = (string) content.GetValueForProperty("PurchaseOrderNumber",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).PurchaseOrderNumber, global::System.Convert.ToString); + } + if (content.Contains("Document")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).Document = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDocument[]) content.GetValueForProperty("Document",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).Document, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.DocumentTypeConverter.ConvertFrom)); + } + if (content.Contains("Payment")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).Payment = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentProperties[]) content.GetValueForProperty("Payment",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).Payment, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.PaymentPropertiesTypeConverter.ConvertFrom)); + } + if (content.Contains("RebillDetail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).RebillDetail = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesRebillDetails) content.GetValueForProperty("RebillDetail",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).RebillDetail, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoicePropertiesRebillDetailsTypeConverter.ConvertFrom); + } + if (content.Contains("DocumentType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).DocumentType = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceDocumentType?) content.GetValueForProperty("DocumentType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).DocumentType, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceDocumentType.CreateFrom); + } + if (content.Contains("BilledDocumentId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).BilledDocumentId = (string) content.GetValueForProperty("BilledDocumentId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).BilledDocumentId, global::System.Convert.ToString); + } + if (content.Contains("CreditForDocumentId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).CreditForDocumentId = (string) content.GetValueForProperty("CreditForDocumentId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).CreditForDocumentId, global::System.Convert.ToString); + } + if (content.Contains("SubscriptionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).SubscriptionId = (string) content.GetValueForProperty("SubscriptionId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).SubscriptionId, global::System.Convert.ToString); + } + if (content.Contains("AmountDueCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).AmountDueCurrency = (string) content.GetValueForProperty("AmountDueCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).AmountDueCurrency, global::System.Convert.ToString); + } + if (content.Contains("AmountDueValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).AmountDueValue = (float?) content.GetValueForProperty("AmountDueValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).AmountDueValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("AzurePrepaymentAppliedCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).AzurePrepaymentAppliedCurrency = (string) content.GetValueForProperty("AzurePrepaymentAppliedCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).AzurePrepaymentAppliedCurrency, global::System.Convert.ToString); + } + if (content.Contains("AzurePrepaymentAppliedValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).AzurePrepaymentAppliedValue = (float?) content.GetValueForProperty("AzurePrepaymentAppliedValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).AzurePrepaymentAppliedValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("BilledAmountCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).BilledAmountCurrency = (string) content.GetValueForProperty("BilledAmountCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).BilledAmountCurrency, global::System.Convert.ToString); + } + if (content.Contains("BilledAmountValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).BilledAmountValue = (float?) content.GetValueForProperty("BilledAmountValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).BilledAmountValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("CreditAmountCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).CreditAmountCurrency = (string) content.GetValueForProperty("CreditAmountCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).CreditAmountCurrency, global::System.Convert.ToString); + } + if (content.Contains("CreditAmountValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).CreditAmountValue = (float?) content.GetValueForProperty("CreditAmountValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).CreditAmountValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("FreeAzureCreditAppliedCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).FreeAzureCreditAppliedCurrency = (string) content.GetValueForProperty("FreeAzureCreditAppliedCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).FreeAzureCreditAppliedCurrency, global::System.Convert.ToString); + } + if (content.Contains("FreeAzureCreditAppliedValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).FreeAzureCreditAppliedValue = (float?) content.GetValueForProperty("FreeAzureCreditAppliedValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).FreeAzureCreditAppliedValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("SubTotalCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).SubTotalCurrency = (string) content.GetValueForProperty("SubTotalCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).SubTotalCurrency, global::System.Convert.ToString); + } + if (content.Contains("SubTotalValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).SubTotalValue = (float?) content.GetValueForProperty("SubTotalValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).SubTotalValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("TaxAmountCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).TaxAmountCurrency = (string) content.GetValueForProperty("TaxAmountCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).TaxAmountCurrency, global::System.Convert.ToString); + } + if (content.Contains("TaxAmountValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).TaxAmountValue = (float?) content.GetValueForProperty("TaxAmountValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).TaxAmountValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("TotalAmountCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).TotalAmountCurrency = (string) content.GetValueForProperty("TotalAmountCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).TotalAmountCurrency, global::System.Convert.ToString); + } + if (content.Contains("TotalAmountValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).TotalAmountValue = (float?) content.GetValueForProperty("TotalAmountValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).TotalAmountValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal Invoice(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoicePropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("AmountDue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).AmountDue = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("AmountDue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).AmountDue, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("InvoiceType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).InvoiceType = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceType?) content.GetValueForProperty("InvoiceType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).InvoiceType, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceType.CreateFrom); + } + if (content.Contains("AzurePrepaymentApplied")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).AzurePrepaymentApplied = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("AzurePrepaymentApplied",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).AzurePrepaymentApplied, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("BilledAmount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).BilledAmount = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("BilledAmount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).BilledAmount, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("CreditAmount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).CreditAmount = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("CreditAmount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).CreditAmount, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("FreeAzureCreditApplied")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).FreeAzureCreditApplied = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("FreeAzureCreditApplied",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).FreeAzureCreditApplied, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("SubTotal")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).SubTotal = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("SubTotal",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).SubTotal, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("TaxAmount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).TaxAmount = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("TaxAmount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).TaxAmount, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("TotalAmount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).TotalAmount = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("TotalAmount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).TotalAmount, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("DueDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).DueDate = (global::System.DateTime?) content.GetValueForProperty("DueDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).DueDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("Date")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).Date = (global::System.DateTime?) content.GetValueForProperty("Date",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).Date, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("Status")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).Status = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceStatus?) content.GetValueForProperty("Status",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).Status, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceStatus.CreateFrom); + } + if (content.Contains("PeriodStartDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).PeriodStartDate = (global::System.DateTime?) content.GetValueForProperty("PeriodStartDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).PeriodStartDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("PeriodEndDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).PeriodEndDate = (global::System.DateTime?) content.GetValueForProperty("PeriodEndDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).PeriodEndDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("IsMonthlyInvoice")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).IsMonthlyInvoice = (bool?) content.GetValueForProperty("IsMonthlyInvoice",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).IsMonthlyInvoice, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("BillingProfileId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).BillingProfileId = (string) content.GetValueForProperty("BillingProfileId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).BillingProfileId, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).BillingProfileDisplayName = (string) content.GetValueForProperty("BillingProfileDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).BillingProfileDisplayName, global::System.Convert.ToString); + } + if (content.Contains("PurchaseOrderNumber")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).PurchaseOrderNumber = (string) content.GetValueForProperty("PurchaseOrderNumber",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).PurchaseOrderNumber, global::System.Convert.ToString); + } + if (content.Contains("Document")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).Document = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDocument[]) content.GetValueForProperty("Document",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).Document, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.DocumentTypeConverter.ConvertFrom)); + } + if (content.Contains("Payment")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).Payment = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentProperties[]) content.GetValueForProperty("Payment",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).Payment, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.PaymentPropertiesTypeConverter.ConvertFrom)); + } + if (content.Contains("RebillDetail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).RebillDetail = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesRebillDetails) content.GetValueForProperty("RebillDetail",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).RebillDetail, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoicePropertiesRebillDetailsTypeConverter.ConvertFrom); + } + if (content.Contains("DocumentType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).DocumentType = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceDocumentType?) content.GetValueForProperty("DocumentType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).DocumentType, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceDocumentType.CreateFrom); + } + if (content.Contains("BilledDocumentId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).BilledDocumentId = (string) content.GetValueForProperty("BilledDocumentId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).BilledDocumentId, global::System.Convert.ToString); + } + if (content.Contains("CreditForDocumentId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).CreditForDocumentId = (string) content.GetValueForProperty("CreditForDocumentId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).CreditForDocumentId, global::System.Convert.ToString); + } + if (content.Contains("SubscriptionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).SubscriptionId = (string) content.GetValueForProperty("SubscriptionId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).SubscriptionId, global::System.Convert.ToString); + } + if (content.Contains("AmountDueCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).AmountDueCurrency = (string) content.GetValueForProperty("AmountDueCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).AmountDueCurrency, global::System.Convert.ToString); + } + if (content.Contains("AmountDueValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).AmountDueValue = (float?) content.GetValueForProperty("AmountDueValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).AmountDueValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("AzurePrepaymentAppliedCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).AzurePrepaymentAppliedCurrency = (string) content.GetValueForProperty("AzurePrepaymentAppliedCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).AzurePrepaymentAppliedCurrency, global::System.Convert.ToString); + } + if (content.Contains("AzurePrepaymentAppliedValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).AzurePrepaymentAppliedValue = (float?) content.GetValueForProperty("AzurePrepaymentAppliedValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).AzurePrepaymentAppliedValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("BilledAmountCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).BilledAmountCurrency = (string) content.GetValueForProperty("BilledAmountCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).BilledAmountCurrency, global::System.Convert.ToString); + } + if (content.Contains("BilledAmountValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).BilledAmountValue = (float?) content.GetValueForProperty("BilledAmountValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).BilledAmountValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("CreditAmountCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).CreditAmountCurrency = (string) content.GetValueForProperty("CreditAmountCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).CreditAmountCurrency, global::System.Convert.ToString); + } + if (content.Contains("CreditAmountValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).CreditAmountValue = (float?) content.GetValueForProperty("CreditAmountValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).CreditAmountValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("FreeAzureCreditAppliedCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).FreeAzureCreditAppliedCurrency = (string) content.GetValueForProperty("FreeAzureCreditAppliedCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).FreeAzureCreditAppliedCurrency, global::System.Convert.ToString); + } + if (content.Contains("FreeAzureCreditAppliedValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).FreeAzureCreditAppliedValue = (float?) content.GetValueForProperty("FreeAzureCreditAppliedValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).FreeAzureCreditAppliedValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("SubTotalCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).SubTotalCurrency = (string) content.GetValueForProperty("SubTotalCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).SubTotalCurrency, global::System.Convert.ToString); + } + if (content.Contains("SubTotalValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).SubTotalValue = (float?) content.GetValueForProperty("SubTotalValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).SubTotalValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("TaxAmountCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).TaxAmountCurrency = (string) content.GetValueForProperty("TaxAmountCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).TaxAmountCurrency, global::System.Convert.ToString); + } + if (content.Contains("TaxAmountValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).TaxAmountValue = (float?) content.GetValueForProperty("TaxAmountValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).TaxAmountValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("TotalAmountCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).TotalAmountCurrency = (string) content.GetValueForProperty("TotalAmountCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).TotalAmountCurrency, global::System.Convert.ToString); + } + if (content.Contains("TotalAmountValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).TotalAmountValue = (float?) content.GetValueForProperty("TotalAmountValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal)this).TotalAmountValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// An invoice. + [System.ComponentModel.TypeConverter(typeof(InvoiceTypeConverter))] + public partial interface IInvoice + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Invoice.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/Invoice.TypeConverter.cs new file mode 100644 index 000000000000..afc80f97b350 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Invoice.TypeConverter.cs @@ -0,0 +1,146 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class InvoiceTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return Invoice.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return Invoice.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return Invoice.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Invoice.cs b/swaggerci/billing/generated/api/Models/Api20200501/Invoice.cs new file mode 100644 index 000000000000..332b90d5de16 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Invoice.cs @@ -0,0 +1,707 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// An invoice. + public partial class Invoice : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IValidates + { + /// + /// Backing field for Inherited model + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource __resource = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource(); + + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string AmountDueCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).AmountDueCurrency; } + + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? AmountDueValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).AmountDueValue; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).AmountDueValue = value ?? default(float); } + + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string AzurePrepaymentAppliedCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).AzurePrepaymentAppliedCurrency; } + + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? AzurePrepaymentAppliedValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).AzurePrepaymentAppliedValue; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).AzurePrepaymentAppliedValue = value ?? default(float); } + + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BilledAmountCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).BilledAmountCurrency; } + + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? BilledAmountValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).BilledAmountValue; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).BilledAmountValue = value ?? default(float); } + + /// + /// The Id of the active invoice which is originally billed after this invoice was voided. This field is applicable to the + /// void invoices only. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BilledDocumentId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).BilledDocumentId; } + + /// The name of the billing profile for which the invoice is generated. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillingProfileDisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).BillingProfileDisplayName; } + + /// The ID of the billing profile for which the invoice is generated. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillingProfileId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).BillingProfileId; } + + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string CreditAmountCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).CreditAmountCurrency; } + + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? CreditAmountValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).CreditAmountValue; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).CreditAmountValue = value ?? default(float); } + + /// + /// The Id of the invoice which got voided and this credit note was issued as a result. This field is applicable to the credit + /// notes only. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string CreditForDocumentId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).CreditForDocumentId; } + + /// The date when the invoice was generated. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public global::System.DateTime? Date { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).InvoiceDate; } + + /// List of documents available to download such as invoice and tax receipt. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDocument[] Document { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).Document; } + + /// The type of the document. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceDocumentType? DocumentType { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).DocumentType; } + + /// The due date for the invoice. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public global::System.DateTime? DueDate { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).DueDate; } + + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string FreeAzureCreditAppliedCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).FreeAzureCreditAppliedCurrency; } + + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? FreeAzureCreditAppliedValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).FreeAzureCreditAppliedValue; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).FreeAzureCreditAppliedValue = value ?? default(float); } + + /// Resource Id. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id; } + + /// Invoice type. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceType? InvoiceType { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).InvoiceType; } + + /// + /// Specifies if the invoice is generated as part of monthly invoicing cycle or not. This field is applicable to billing accounts + /// with agreement type Microsoft Customer Agreement. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public bool? IsMonthlyInvoice { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).IsMonthlyInvoice; } + + /// Internal Acessors for Id + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id = value; } + + /// Internal Acessors for Name + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name = value; } + + /// Internal Acessors for Type + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type = value; } + + /// Internal Acessors for AmountDue + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal.AmountDue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).AmountDue; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).AmountDue = value; } + + /// Internal Acessors for AmountDueCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal.AmountDueCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).AmountDueCurrency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).AmountDueCurrency = value; } + + /// Internal Acessors for AzurePrepaymentApplied + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal.AzurePrepaymentApplied { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).AzurePrepaymentApplied; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).AzurePrepaymentApplied = value; } + + /// Internal Acessors for AzurePrepaymentAppliedCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal.AzurePrepaymentAppliedCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).AzurePrepaymentAppliedCurrency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).AzurePrepaymentAppliedCurrency = value; } + + /// Internal Acessors for BilledAmount + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal.BilledAmount { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).BilledAmount; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).BilledAmount = value; } + + /// Internal Acessors for BilledAmountCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal.BilledAmountCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).BilledAmountCurrency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).BilledAmountCurrency = value; } + + /// Internal Acessors for BilledDocumentId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal.BilledDocumentId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).BilledDocumentId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).BilledDocumentId = value; } + + /// Internal Acessors for BillingProfileDisplayName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal.BillingProfileDisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).BillingProfileDisplayName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).BillingProfileDisplayName = value; } + + /// Internal Acessors for BillingProfileId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal.BillingProfileId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).BillingProfileId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).BillingProfileId = value; } + + /// Internal Acessors for CreditAmount + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal.CreditAmount { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).CreditAmount; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).CreditAmount = value; } + + /// Internal Acessors for CreditAmountCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal.CreditAmountCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).CreditAmountCurrency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).CreditAmountCurrency = value; } + + /// Internal Acessors for CreditForDocumentId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal.CreditForDocumentId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).CreditForDocumentId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).CreditForDocumentId = value; } + + /// Internal Acessors for Date + global::System.DateTime? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal.Date { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).InvoiceDate; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).InvoiceDate = value; } + + /// Internal Acessors for Document + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDocument[] Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal.Document { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).Document; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).Document = value; } + + /// Internal Acessors for DocumentType + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceDocumentType? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal.DocumentType { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).DocumentType; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).DocumentType = value; } + + /// Internal Acessors for DueDate + global::System.DateTime? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal.DueDate { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).DueDate; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).DueDate = value; } + + /// Internal Acessors for FreeAzureCreditApplied + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal.FreeAzureCreditApplied { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).FreeAzureCreditApplied; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).FreeAzureCreditApplied = value; } + + /// Internal Acessors for FreeAzureCreditAppliedCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal.FreeAzureCreditAppliedCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).FreeAzureCreditAppliedCurrency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).FreeAzureCreditAppliedCurrency = value; } + + /// Internal Acessors for InvoiceType + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceType? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal.InvoiceType { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).InvoiceType; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).InvoiceType = value; } + + /// Internal Acessors for IsMonthlyInvoice + bool? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal.IsMonthlyInvoice { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).IsMonthlyInvoice; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).IsMonthlyInvoice = value; } + + /// Internal Acessors for Payment + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentProperties[] Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal.Payment { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).Payment; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).Payment = value; } + + /// Internal Acessors for PeriodEndDate + global::System.DateTime? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal.PeriodEndDate { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).InvoicePeriodEndDate; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).InvoicePeriodEndDate = value; } + + /// Internal Acessors for PeriodStartDate + global::System.DateTime? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal.PeriodStartDate { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).InvoicePeriodStartDate; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).InvoicePeriodStartDate = value; } + + /// Internal Acessors for Property + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceProperties Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal.Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceProperties()); set { {_property = value;} } } + + /// Internal Acessors for PurchaseOrderNumber + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal.PurchaseOrderNumber { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).PurchaseOrderNumber; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).PurchaseOrderNumber = value; } + + /// Internal Acessors for RebillDetail + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesRebillDetails Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal.RebillDetail { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).RebillDetail; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).RebillDetail = value; } + + /// Internal Acessors for Status + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceStatus? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal.Status { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).Status; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).Status = value; } + + /// Internal Acessors for SubTotal + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal.SubTotal { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).SubTotal; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).SubTotal = value; } + + /// Internal Acessors for SubTotalCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal.SubTotalCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).SubTotalCurrency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).SubTotalCurrency = value; } + + /// Internal Acessors for SubscriptionId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal.SubscriptionId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).SubscriptionId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).SubscriptionId = value; } + + /// Internal Acessors for TaxAmount + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal.TaxAmount { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).TaxAmount; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).TaxAmount = value; } + + /// Internal Acessors for TaxAmountCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal.TaxAmountCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).TaxAmountCurrency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).TaxAmountCurrency = value; } + + /// Internal Acessors for TotalAmount + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal.TotalAmount { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).TotalAmount; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).TotalAmount = value; } + + /// Internal Acessors for TotalAmountCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceInternal.TotalAmountCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).TotalAmountCurrency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).TotalAmountCurrency = value; } + + /// Resource name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name; } + + /// List of payments. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentProperties[] Payment { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).Payment; } + + /// The end date of the billing period for which the invoice is generated. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public global::System.DateTime? PeriodEndDate { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).InvoicePeriodEndDate; } + + /// The start date of the billing period for which the invoice is generated. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public global::System.DateTime? PeriodStartDate { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).InvoicePeriodStartDate; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceProperties _property; + + /// An invoice. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceProperties Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceProperties()); set => this._property = value; } + + /// An optional purchase order number for the invoice. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string PurchaseOrderNumber { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).PurchaseOrderNumber; } + + /// Rebill details for an invoice. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesRebillDetails RebillDetail { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).RebillDetail; } + + /// The current status of the invoice. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceStatus? Status { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).Status; } + + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SubTotalCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).SubTotalCurrency; } + + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? SubTotalValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).SubTotalValue; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).SubTotalValue = value ?? default(float); } + + /// The ID of the subscription for which the invoice is generated. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SubscriptionId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).SubscriptionId; } + + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string TaxAmountCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).TaxAmountCurrency; } + + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? TaxAmountValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).TaxAmountValue; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).TaxAmountValue = value ?? default(float); } + + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string TotalAmountCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).TotalAmountCurrency; } + + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? TotalAmountValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).TotalAmountValue; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)Property).TotalAmountValue = value ?? default(float); } + + /// Resource type. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type; } + + /// Creates an new instance. + public Invoice() + { + + } + + /// Validates that this object meets the validation criteria. + /// an instance that will receive validation + /// events. + /// + /// A that will be complete when validation is completed. + /// + public async global::System.Threading.Tasks.Task Validate(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + await eventListener.AssertNotNull(nameof(__resource), __resource); + await eventListener.AssertObjectIsValid(nameof(__resource), __resource); + } + } + /// An invoice. + public partial interface IInvoice : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource + { + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The currency for the amount value.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string AmountDueCurrency { get; } + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Amount value.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(float) })] + float? AmountDueValue { get; set; } + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The currency for the amount value.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string AzurePrepaymentAppliedCurrency { get; } + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Amount value.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(float) })] + float? AzurePrepaymentAppliedValue { get; set; } + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The currency for the amount value.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string BilledAmountCurrency { get; } + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Amount value.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(float) })] + float? BilledAmountValue { get; set; } + /// + /// The Id of the active invoice which is originally billed after this invoice was voided. This field is applicable to the + /// void invoices only. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The Id of the active invoice which is originally billed after this invoice was voided. This field is applicable to the void invoices only.", + SerializedName = @"billedDocumentId", + PossibleTypes = new [] { typeof(string) })] + string BilledDocumentId { get; } + /// The name of the billing profile for which the invoice is generated. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the billing profile for which the invoice is generated.", + SerializedName = @"billingProfileDisplayName", + PossibleTypes = new [] { typeof(string) })] + string BillingProfileDisplayName { get; } + /// The ID of the billing profile for which the invoice is generated. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the billing profile for which the invoice is generated.", + SerializedName = @"billingProfileId", + PossibleTypes = new [] { typeof(string) })] + string BillingProfileId { get; } + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The currency for the amount value.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string CreditAmountCurrency { get; } + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Amount value.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(float) })] + float? CreditAmountValue { get; set; } + /// + /// The Id of the invoice which got voided and this credit note was issued as a result. This field is applicable to the credit + /// notes only. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The Id of the invoice which got voided and this credit note was issued as a result. This field is applicable to the credit notes only.", + SerializedName = @"creditForDocumentId", + PossibleTypes = new [] { typeof(string) })] + string CreditForDocumentId { get; } + /// The date when the invoice was generated. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The date when the invoice was generated.", + SerializedName = @"invoiceDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? Date { get; } + /// List of documents available to download such as invoice and tax receipt. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"List of documents available to download such as invoice and tax receipt.", + SerializedName = @"documents", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDocument) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDocument[] Document { get; } + /// The type of the document. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The type of the document.", + SerializedName = @"documentType", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceDocumentType) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceDocumentType? DocumentType { get; } + /// The due date for the invoice. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The due date for the invoice.", + SerializedName = @"dueDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? DueDate { get; } + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The currency for the amount value.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string FreeAzureCreditAppliedCurrency { get; } + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Amount value.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(float) })] + float? FreeAzureCreditAppliedValue { get; set; } + /// Invoice type. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Invoice type.", + SerializedName = @"invoiceType", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceType) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceType? InvoiceType { get; } + /// + /// Specifies if the invoice is generated as part of monthly invoicing cycle or not. This field is applicable to billing accounts + /// with agreement type Microsoft Customer Agreement. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Specifies if the invoice is generated as part of monthly invoicing cycle or not. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement.", + SerializedName = @"isMonthlyInvoice", + PossibleTypes = new [] { typeof(bool) })] + bool? IsMonthlyInvoice { get; } + /// List of payments. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"List of payments.", + SerializedName = @"payments", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentProperties) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentProperties[] Payment { get; } + /// The end date of the billing period for which the invoice is generated. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The end date of the billing period for which the invoice is generated.", + SerializedName = @"invoicePeriodEndDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? PeriodEndDate { get; } + /// The start date of the billing period for which the invoice is generated. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The start date of the billing period for which the invoice is generated.", + SerializedName = @"invoicePeriodStartDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? PeriodStartDate { get; } + /// An optional purchase order number for the invoice. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"An optional purchase order number for the invoice.", + SerializedName = @"purchaseOrderNumber", + PossibleTypes = new [] { typeof(string) })] + string PurchaseOrderNumber { get; } + /// Rebill details for an invoice. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Rebill details for an invoice.", + SerializedName = @"rebillDetails", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesRebillDetails) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesRebillDetails RebillDetail { get; } + /// The current status of the invoice. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The current status of the invoice.", + SerializedName = @"status", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceStatus) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceStatus? Status { get; } + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The currency for the amount value.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string SubTotalCurrency { get; } + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Amount value.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(float) })] + float? SubTotalValue { get; set; } + /// The ID of the subscription for which the invoice is generated. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the subscription for which the invoice is generated.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + string SubscriptionId { get; } + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The currency for the amount value.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string TaxAmountCurrency { get; } + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Amount value.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(float) })] + float? TaxAmountValue { get; set; } + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The currency for the amount value.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string TotalAmountCurrency { get; } + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Amount value.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(float) })] + float? TotalAmountValue { get; set; } + + } + /// An invoice. + internal partial interface IInvoiceInternal : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal + { + /// The amount due as of now. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount AmountDue { get; set; } + /// The currency for the amount value. + string AmountDueCurrency { get; set; } + /// Amount value. + float? AmountDueValue { get; set; } + /// + /// The amount of Azure prepayment applied to the charges. This field is applicable to billing accounts with agreement type + /// Microsoft Customer Agreement. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount AzurePrepaymentApplied { get; set; } + /// The currency for the amount value. + string AzurePrepaymentAppliedCurrency { get; set; } + /// Amount value. + float? AzurePrepaymentAppliedValue { get; set; } + /// The total charges for the invoice billing period. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount BilledAmount { get; set; } + /// The currency for the amount value. + string BilledAmountCurrency { get; set; } + /// Amount value. + float? BilledAmountValue { get; set; } + /// + /// The Id of the active invoice which is originally billed after this invoice was voided. This field is applicable to the + /// void invoices only. + /// + string BilledDocumentId { get; set; } + /// The name of the billing profile for which the invoice is generated. + string BillingProfileDisplayName { get; set; } + /// The ID of the billing profile for which the invoice is generated. + string BillingProfileId { get; set; } + /// + /// The total refund for returns and cancellations during the invoice billing period. This field is applicable to billing + /// accounts with agreement type Microsoft Customer Agreement. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount CreditAmount { get; set; } + /// The currency for the amount value. + string CreditAmountCurrency { get; set; } + /// Amount value. + float? CreditAmountValue { get; set; } + /// + /// The Id of the invoice which got voided and this credit note was issued as a result. This field is applicable to the credit + /// notes only. + /// + string CreditForDocumentId { get; set; } + /// The date when the invoice was generated. + global::System.DateTime? Date { get; set; } + /// List of documents available to download such as invoice and tax receipt. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDocument[] Document { get; set; } + /// The type of the document. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceDocumentType? DocumentType { get; set; } + /// The due date for the invoice. + global::System.DateTime? DueDate { get; set; } + /// + /// The amount of free Azure credits applied to the charges. This field is applicable to billing accounts with agreement type + /// Microsoft Customer Agreement. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount FreeAzureCreditApplied { get; set; } + /// The currency for the amount value. + string FreeAzureCreditAppliedCurrency { get; set; } + /// Amount value. + float? FreeAzureCreditAppliedValue { get; set; } + /// Invoice type. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceType? InvoiceType { get; set; } + /// + /// Specifies if the invoice is generated as part of monthly invoicing cycle or not. This field is applicable to billing accounts + /// with agreement type Microsoft Customer Agreement. + /// + bool? IsMonthlyInvoice { get; set; } + /// List of payments. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentProperties[] Payment { get; set; } + /// The end date of the billing period for which the invoice is generated. + global::System.DateTime? PeriodEndDate { get; set; } + /// The start date of the billing period for which the invoice is generated. + global::System.DateTime? PeriodStartDate { get; set; } + /// An invoice. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceProperties Property { get; set; } + /// An optional purchase order number for the invoice. + string PurchaseOrderNumber { get; set; } + /// Rebill details for an invoice. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesRebillDetails RebillDetail { get; set; } + /// The current status of the invoice. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceStatus? Status { get; set; } + /// + /// The pre-tax amount due. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount SubTotal { get; set; } + /// The currency for the amount value. + string SubTotalCurrency { get; set; } + /// Amount value. + float? SubTotalValue { get; set; } + /// The ID of the subscription for which the invoice is generated. + string SubscriptionId { get; set; } + /// + /// The amount of tax charged for the billing period. This field is applicable to billing accounts with agreement type Microsoft + /// Customer Agreement. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount TaxAmount { get; set; } + /// The currency for the amount value. + string TaxAmountCurrency { get; set; } + /// Amount value. + float? TaxAmountValue { get; set; } + /// + /// The amount due when the invoice was generated. This field is applicable to billing accounts with agreement type Microsoft + /// Customer Agreement. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount TotalAmount { get; set; } + /// The currency for the amount value. + string TotalAmountCurrency { get; set; } + /// Amount value. + float? TotalAmountValue { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Invoice.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/Invoice.json.cs new file mode 100644 index 000000000000..5a6f3077410a --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Invoice.json.cs @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// An invoice. + public partial class Invoice + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new Invoice(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal Invoice(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + __resource = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource(json); + {_property = If( json?.PropertyT("properties"), out var __jsonProperties) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceProperties.FromJson(__jsonProperties) : Property;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + __resource?.ToJson(container, serializationMode); + AddIf( null != this._property ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._property.ToJson(null,serializationMode) : null, "properties" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceListResult.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceListResult.PowerShell.cs new file mode 100644 index 000000000000..63a19fd7c63c --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceListResult.PowerShell.cs @@ -0,0 +1,160 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The list of invoices. + [System.ComponentModel.TypeConverter(typeof(InvoiceListResultTypeConverter))] + public partial class InvoiceListResult + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceListResult DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new InvoiceListResult(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceListResult DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new InvoiceListResult(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceListResult FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal InvoiceListResult(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceTypeConverter.ConvertFrom)); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceListResultInternal)this).NextLink, global::System.Convert.ToString); + } + if (content.Contains("TotalCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceListResultInternal)this).TotalCount = (int?) content.GetValueForProperty("TotalCount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceListResultInternal)this).TotalCount, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal InvoiceListResult(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceTypeConverter.ConvertFrom)); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceListResultInternal)this).NextLink, global::System.Convert.ToString); + } + if (content.Contains("TotalCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceListResultInternal)this).TotalCount = (int?) content.GetValueForProperty("TotalCount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceListResultInternal)this).TotalCount, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The list of invoices. + [System.ComponentModel.TypeConverter(typeof(InvoiceListResultTypeConverter))] + public partial interface IInvoiceListResult + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceListResult.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceListResult.TypeConverter.cs new file mode 100644 index 000000000000..9ef990d3b840 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceListResult.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class InvoiceListResultTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceListResult ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceListResult).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return InvoiceListResult.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return InvoiceListResult.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return InvoiceListResult.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceListResult.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceListResult.cs new file mode 100644 index 000000000000..7f9a2f4b77ee --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceListResult.cs @@ -0,0 +1,94 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The list of invoices. + public partial class InvoiceListResult : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceListResult, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceListResultInternal + { + + /// Internal Acessors for NextLink + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceListResultInternal.NextLink { get => this._nextLink; set { {_nextLink = value;} } } + + /// Internal Acessors for TotalCount + int? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceListResultInternal.TotalCount { get => this._totalCount; set { {_totalCount = value;} } } + + /// Internal Acessors for Value + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice[] Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceListResultInternal.Value { get => this._value; set { {_value = value;} } } + + /// Backing field for property. + private string _nextLink; + + /// The link (url) to the next page of results. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string NextLink { get => this._nextLink; } + + /// Backing field for property. + private int? _totalCount; + + /// Total number of records. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public int? TotalCount { get => this._totalCount; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice[] _value; + + /// The list of invoices. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice[] Value { get => this._value; } + + /// Creates an new instance. + public InvoiceListResult() + { + + } + } + /// The list of invoices. + public partial interface IInvoiceListResult : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The link (url) to the next page of results. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The link (url) to the next page of results.", + SerializedName = @"nextLink", + PossibleTypes = new [] { typeof(string) })] + string NextLink { get; } + /// Total number of records. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Total number of records.", + SerializedName = @"totalCount", + PossibleTypes = new [] { typeof(int) })] + int? TotalCount { get; } + /// The list of invoices. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The list of invoices.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice[] Value { get; } + + } + /// The list of invoices. + internal partial interface IInvoiceListResultInternal + + { + /// The link (url) to the next page of results. + string NextLink { get; set; } + /// Total number of records. + int? TotalCount { get; set; } + /// The list of invoices. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice[] Value { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceListResult.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceListResult.json.cs new file mode 100644 index 000000000000..d076bb591e46 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceListResult.json.cs @@ -0,0 +1,129 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The list of invoices. + public partial class InvoiceListResult + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceListResult. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceListResult. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceListResult FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new InvoiceListResult(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal InvoiceListResult(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_value = If( json?.PropertyT("value"), out var __jsonValue) ? If( __jsonValue as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice) (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Invoice.FromJson(__u) )) ))() : null : Value;} + {_nextLink = If( json?.PropertyT("nextLink"), out var __jsonNextLink) ? (string)__jsonNextLink : (string)NextLink;} + {_totalCount = If( json?.PropertyT("totalCount"), out var __jsonTotalCount) ? (int?)__jsonTotalCount : TotalCount;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + if (null != this._value) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(); + foreach( var __x in this._value ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("value",__w); + } + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._nextLink)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._nextLink.ToString()) : null, "nextLink" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._totalCount ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNumber((int)this._totalCount) : null, "totalCount" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceProperties.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceProperties.PowerShell.cs new file mode 100644 index 000000000000..ba3c03856887 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceProperties.PowerShell.cs @@ -0,0 +1,464 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The properties of the invoice. + [System.ComponentModel.TypeConverter(typeof(InvoicePropertiesTypeConverter))] + public partial class InvoiceProperties + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceProperties DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new InvoiceProperties(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceProperties DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new InvoiceProperties(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceProperties FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal InvoiceProperties(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("AmountDue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).AmountDue = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("AmountDue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).AmountDue, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("AzurePrepaymentApplied")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).AzurePrepaymentApplied = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("AzurePrepaymentApplied",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).AzurePrepaymentApplied, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("BilledAmount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).BilledAmount = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("BilledAmount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).BilledAmount, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("CreditAmount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).CreditAmount = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("CreditAmount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).CreditAmount, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("FreeAzureCreditApplied")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).FreeAzureCreditApplied = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("FreeAzureCreditApplied",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).FreeAzureCreditApplied, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("SubTotal")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).SubTotal = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("SubTotal",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).SubTotal, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("TaxAmount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).TaxAmount = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("TaxAmount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).TaxAmount, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("TotalAmount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).TotalAmount = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("TotalAmount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).TotalAmount, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("DueDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).DueDate = (global::System.DateTime?) content.GetValueForProperty("DueDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).DueDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("InvoiceDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).InvoiceDate = (global::System.DateTime?) content.GetValueForProperty("InvoiceDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).InvoiceDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("Status")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).Status = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceStatus?) content.GetValueForProperty("Status",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).Status, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceStatus.CreateFrom); + } + if (content.Contains("InvoicePeriodStartDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).InvoicePeriodStartDate = (global::System.DateTime?) content.GetValueForProperty("InvoicePeriodStartDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).InvoicePeriodStartDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("InvoicePeriodEndDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).InvoicePeriodEndDate = (global::System.DateTime?) content.GetValueForProperty("InvoicePeriodEndDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).InvoicePeriodEndDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("InvoiceType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).InvoiceType = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceType?) content.GetValueForProperty("InvoiceType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).InvoiceType, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceType.CreateFrom); + } + if (content.Contains("IsMonthlyInvoice")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).IsMonthlyInvoice = (bool?) content.GetValueForProperty("IsMonthlyInvoice",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).IsMonthlyInvoice, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("BillingProfileId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).BillingProfileId = (string) content.GetValueForProperty("BillingProfileId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).BillingProfileId, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).BillingProfileDisplayName = (string) content.GetValueForProperty("BillingProfileDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).BillingProfileDisplayName, global::System.Convert.ToString); + } + if (content.Contains("PurchaseOrderNumber")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).PurchaseOrderNumber = (string) content.GetValueForProperty("PurchaseOrderNumber",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).PurchaseOrderNumber, global::System.Convert.ToString); + } + if (content.Contains("Document")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).Document = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDocument[]) content.GetValueForProperty("Document",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).Document, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.DocumentTypeConverter.ConvertFrom)); + } + if (content.Contains("Payment")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).Payment = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentProperties[]) content.GetValueForProperty("Payment",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).Payment, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.PaymentPropertiesTypeConverter.ConvertFrom)); + } + if (content.Contains("RebillDetail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).RebillDetail = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesRebillDetails) content.GetValueForProperty("RebillDetail",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).RebillDetail, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoicePropertiesRebillDetailsTypeConverter.ConvertFrom); + } + if (content.Contains("DocumentType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).DocumentType = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceDocumentType?) content.GetValueForProperty("DocumentType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).DocumentType, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceDocumentType.CreateFrom); + } + if (content.Contains("BilledDocumentId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).BilledDocumentId = (string) content.GetValueForProperty("BilledDocumentId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).BilledDocumentId, global::System.Convert.ToString); + } + if (content.Contains("CreditForDocumentId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).CreditForDocumentId = (string) content.GetValueForProperty("CreditForDocumentId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).CreditForDocumentId, global::System.Convert.ToString); + } + if (content.Contains("SubscriptionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).SubscriptionId = (string) content.GetValueForProperty("SubscriptionId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).SubscriptionId, global::System.Convert.ToString); + } + if (content.Contains("AmountDueCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).AmountDueCurrency = (string) content.GetValueForProperty("AmountDueCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).AmountDueCurrency, global::System.Convert.ToString); + } + if (content.Contains("AmountDueValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).AmountDueValue = (float?) content.GetValueForProperty("AmountDueValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).AmountDueValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("AzurePrepaymentAppliedCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).AzurePrepaymentAppliedCurrency = (string) content.GetValueForProperty("AzurePrepaymentAppliedCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).AzurePrepaymentAppliedCurrency, global::System.Convert.ToString); + } + if (content.Contains("AzurePrepaymentAppliedValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).AzurePrepaymentAppliedValue = (float?) content.GetValueForProperty("AzurePrepaymentAppliedValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).AzurePrepaymentAppliedValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("BilledAmountCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).BilledAmountCurrency = (string) content.GetValueForProperty("BilledAmountCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).BilledAmountCurrency, global::System.Convert.ToString); + } + if (content.Contains("BilledAmountValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).BilledAmountValue = (float?) content.GetValueForProperty("BilledAmountValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).BilledAmountValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("CreditAmountCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).CreditAmountCurrency = (string) content.GetValueForProperty("CreditAmountCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).CreditAmountCurrency, global::System.Convert.ToString); + } + if (content.Contains("CreditAmountValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).CreditAmountValue = (float?) content.GetValueForProperty("CreditAmountValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).CreditAmountValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("FreeAzureCreditAppliedCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).FreeAzureCreditAppliedCurrency = (string) content.GetValueForProperty("FreeAzureCreditAppliedCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).FreeAzureCreditAppliedCurrency, global::System.Convert.ToString); + } + if (content.Contains("FreeAzureCreditAppliedValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).FreeAzureCreditAppliedValue = (float?) content.GetValueForProperty("FreeAzureCreditAppliedValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).FreeAzureCreditAppliedValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("SubTotalCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).SubTotalCurrency = (string) content.GetValueForProperty("SubTotalCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).SubTotalCurrency, global::System.Convert.ToString); + } + if (content.Contains("SubTotalValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).SubTotalValue = (float?) content.GetValueForProperty("SubTotalValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).SubTotalValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("TaxAmountCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).TaxAmountCurrency = (string) content.GetValueForProperty("TaxAmountCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).TaxAmountCurrency, global::System.Convert.ToString); + } + if (content.Contains("TaxAmountValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).TaxAmountValue = (float?) content.GetValueForProperty("TaxAmountValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).TaxAmountValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("TotalAmountCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).TotalAmountCurrency = (string) content.GetValueForProperty("TotalAmountCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).TotalAmountCurrency, global::System.Convert.ToString); + } + if (content.Contains("TotalAmountValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).TotalAmountValue = (float?) content.GetValueForProperty("TotalAmountValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).TotalAmountValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal InvoiceProperties(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("AmountDue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).AmountDue = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("AmountDue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).AmountDue, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("AzurePrepaymentApplied")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).AzurePrepaymentApplied = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("AzurePrepaymentApplied",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).AzurePrepaymentApplied, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("BilledAmount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).BilledAmount = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("BilledAmount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).BilledAmount, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("CreditAmount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).CreditAmount = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("CreditAmount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).CreditAmount, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("FreeAzureCreditApplied")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).FreeAzureCreditApplied = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("FreeAzureCreditApplied",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).FreeAzureCreditApplied, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("SubTotal")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).SubTotal = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("SubTotal",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).SubTotal, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("TaxAmount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).TaxAmount = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("TaxAmount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).TaxAmount, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("TotalAmount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).TotalAmount = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("TotalAmount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).TotalAmount, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("DueDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).DueDate = (global::System.DateTime?) content.GetValueForProperty("DueDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).DueDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("InvoiceDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).InvoiceDate = (global::System.DateTime?) content.GetValueForProperty("InvoiceDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).InvoiceDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("Status")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).Status = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceStatus?) content.GetValueForProperty("Status",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).Status, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceStatus.CreateFrom); + } + if (content.Contains("InvoicePeriodStartDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).InvoicePeriodStartDate = (global::System.DateTime?) content.GetValueForProperty("InvoicePeriodStartDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).InvoicePeriodStartDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("InvoicePeriodEndDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).InvoicePeriodEndDate = (global::System.DateTime?) content.GetValueForProperty("InvoicePeriodEndDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).InvoicePeriodEndDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("InvoiceType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).InvoiceType = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceType?) content.GetValueForProperty("InvoiceType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).InvoiceType, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceType.CreateFrom); + } + if (content.Contains("IsMonthlyInvoice")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).IsMonthlyInvoice = (bool?) content.GetValueForProperty("IsMonthlyInvoice",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).IsMonthlyInvoice, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("BillingProfileId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).BillingProfileId = (string) content.GetValueForProperty("BillingProfileId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).BillingProfileId, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).BillingProfileDisplayName = (string) content.GetValueForProperty("BillingProfileDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).BillingProfileDisplayName, global::System.Convert.ToString); + } + if (content.Contains("PurchaseOrderNumber")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).PurchaseOrderNumber = (string) content.GetValueForProperty("PurchaseOrderNumber",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).PurchaseOrderNumber, global::System.Convert.ToString); + } + if (content.Contains("Document")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).Document = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDocument[]) content.GetValueForProperty("Document",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).Document, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.DocumentTypeConverter.ConvertFrom)); + } + if (content.Contains("Payment")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).Payment = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentProperties[]) content.GetValueForProperty("Payment",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).Payment, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.PaymentPropertiesTypeConverter.ConvertFrom)); + } + if (content.Contains("RebillDetail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).RebillDetail = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesRebillDetails) content.GetValueForProperty("RebillDetail",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).RebillDetail, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoicePropertiesRebillDetailsTypeConverter.ConvertFrom); + } + if (content.Contains("DocumentType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).DocumentType = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceDocumentType?) content.GetValueForProperty("DocumentType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).DocumentType, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceDocumentType.CreateFrom); + } + if (content.Contains("BilledDocumentId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).BilledDocumentId = (string) content.GetValueForProperty("BilledDocumentId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).BilledDocumentId, global::System.Convert.ToString); + } + if (content.Contains("CreditForDocumentId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).CreditForDocumentId = (string) content.GetValueForProperty("CreditForDocumentId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).CreditForDocumentId, global::System.Convert.ToString); + } + if (content.Contains("SubscriptionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).SubscriptionId = (string) content.GetValueForProperty("SubscriptionId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).SubscriptionId, global::System.Convert.ToString); + } + if (content.Contains("AmountDueCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).AmountDueCurrency = (string) content.GetValueForProperty("AmountDueCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).AmountDueCurrency, global::System.Convert.ToString); + } + if (content.Contains("AmountDueValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).AmountDueValue = (float?) content.GetValueForProperty("AmountDueValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).AmountDueValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("AzurePrepaymentAppliedCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).AzurePrepaymentAppliedCurrency = (string) content.GetValueForProperty("AzurePrepaymentAppliedCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).AzurePrepaymentAppliedCurrency, global::System.Convert.ToString); + } + if (content.Contains("AzurePrepaymentAppliedValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).AzurePrepaymentAppliedValue = (float?) content.GetValueForProperty("AzurePrepaymentAppliedValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).AzurePrepaymentAppliedValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("BilledAmountCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).BilledAmountCurrency = (string) content.GetValueForProperty("BilledAmountCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).BilledAmountCurrency, global::System.Convert.ToString); + } + if (content.Contains("BilledAmountValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).BilledAmountValue = (float?) content.GetValueForProperty("BilledAmountValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).BilledAmountValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("CreditAmountCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).CreditAmountCurrency = (string) content.GetValueForProperty("CreditAmountCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).CreditAmountCurrency, global::System.Convert.ToString); + } + if (content.Contains("CreditAmountValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).CreditAmountValue = (float?) content.GetValueForProperty("CreditAmountValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).CreditAmountValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("FreeAzureCreditAppliedCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).FreeAzureCreditAppliedCurrency = (string) content.GetValueForProperty("FreeAzureCreditAppliedCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).FreeAzureCreditAppliedCurrency, global::System.Convert.ToString); + } + if (content.Contains("FreeAzureCreditAppliedValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).FreeAzureCreditAppliedValue = (float?) content.GetValueForProperty("FreeAzureCreditAppliedValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).FreeAzureCreditAppliedValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("SubTotalCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).SubTotalCurrency = (string) content.GetValueForProperty("SubTotalCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).SubTotalCurrency, global::System.Convert.ToString); + } + if (content.Contains("SubTotalValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).SubTotalValue = (float?) content.GetValueForProperty("SubTotalValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).SubTotalValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("TaxAmountCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).TaxAmountCurrency = (string) content.GetValueForProperty("TaxAmountCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).TaxAmountCurrency, global::System.Convert.ToString); + } + if (content.Contains("TaxAmountValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).TaxAmountValue = (float?) content.GetValueForProperty("TaxAmountValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).TaxAmountValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("TotalAmountCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).TotalAmountCurrency = (string) content.GetValueForProperty("TotalAmountCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).TotalAmountCurrency, global::System.Convert.ToString); + } + if (content.Contains("TotalAmountValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).TotalAmountValue = (float?) content.GetValueForProperty("TotalAmountValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal)this).TotalAmountValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The properties of the invoice. + [System.ComponentModel.TypeConverter(typeof(InvoicePropertiesTypeConverter))] + public partial interface IInvoiceProperties + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceProperties.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceProperties.TypeConverter.cs new file mode 100644 index 000000000000..4dd636c2c3f2 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceProperties.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class InvoicePropertiesTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceProperties ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceProperties).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return InvoiceProperties.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return InvoiceProperties.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return InvoiceProperties.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceProperties.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceProperties.cs new file mode 100644 index 000000000000..c650de0e7905 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceProperties.cs @@ -0,0 +1,779 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of the invoice. + public partial class InvoiceProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceProperties, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal + { + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount _amountDue; + + /// The amount due as of now. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount AmountDue { get => (this._amountDue = this._amountDue ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount()); } + + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string AmountDueCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)AmountDue).Currency; } + + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? AmountDueValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)AmountDue).Value; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)AmountDue).Value = value ?? default(float); } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount _azurePrepaymentApplied; + + /// + /// The amount of Azure prepayment applied to the charges. This field is applicable to billing accounts with agreement type + /// Microsoft Customer Agreement. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount AzurePrepaymentApplied { get => (this._azurePrepaymentApplied = this._azurePrepaymentApplied ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount()); } + + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string AzurePrepaymentAppliedCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)AzurePrepaymentApplied).Currency; } + + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? AzurePrepaymentAppliedValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)AzurePrepaymentApplied).Value; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)AzurePrepaymentApplied).Value = value ?? default(float); } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount _billedAmount; + + /// The total charges for the invoice billing period. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount BilledAmount { get => (this._billedAmount = this._billedAmount ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount()); } + + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BilledAmountCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)BilledAmount).Currency; } + + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? BilledAmountValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)BilledAmount).Value; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)BilledAmount).Value = value ?? default(float); } + + /// Backing field for property. + private string _billedDocumentId; + + /// + /// The Id of the active invoice which is originally billed after this invoice was voided. This field is applicable to the + /// void invoices only. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string BilledDocumentId { get => this._billedDocumentId; } + + /// Backing field for property. + private string _billingProfileDisplayName; + + /// The name of the billing profile for which the invoice is generated. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string BillingProfileDisplayName { get => this._billingProfileDisplayName; } + + /// Backing field for property. + private string _billingProfileId; + + /// The ID of the billing profile for which the invoice is generated. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string BillingProfileId { get => this._billingProfileId; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount _creditAmount; + + /// + /// The total refund for returns and cancellations during the invoice billing period. This field is applicable to billing + /// accounts with agreement type Microsoft Customer Agreement. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount CreditAmount { get => (this._creditAmount = this._creditAmount ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount()); } + + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string CreditAmountCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)CreditAmount).Currency; } + + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? CreditAmountValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)CreditAmount).Value; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)CreditAmount).Value = value ?? default(float); } + + /// Backing field for property. + private string _creditForDocumentId; + + /// + /// The Id of the invoice which got voided and this credit note was issued as a result. This field is applicable to the credit + /// notes only. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string CreditForDocumentId { get => this._creditForDocumentId; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDocument[] _document; + + /// List of documents available to download such as invoice and tax receipt. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDocument[] Document { get => this._document; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceDocumentType? _documentType; + + /// The type of the document. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceDocumentType? DocumentType { get => this._documentType; } + + /// Backing field for property. + private global::System.DateTime? _dueDate; + + /// The due date for the invoice. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public global::System.DateTime? DueDate { get => this._dueDate; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount _freeAzureCreditApplied; + + /// + /// The amount of free Azure credits applied to the charges. This field is applicable to billing accounts with agreement type + /// Microsoft Customer Agreement. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount FreeAzureCreditApplied { get => (this._freeAzureCreditApplied = this._freeAzureCreditApplied ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount()); } + + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string FreeAzureCreditAppliedCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)FreeAzureCreditApplied).Currency; } + + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? FreeAzureCreditAppliedValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)FreeAzureCreditApplied).Value; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)FreeAzureCreditApplied).Value = value ?? default(float); } + + /// Backing field for property. + private global::System.DateTime? _invoiceDate; + + /// The date when the invoice was generated. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public global::System.DateTime? InvoiceDate { get => this._invoiceDate; } + + /// Backing field for property. + private global::System.DateTime? _invoicePeriodEndDate; + + /// The end date of the billing period for which the invoice is generated. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public global::System.DateTime? InvoicePeriodEndDate { get => this._invoicePeriodEndDate; } + + /// Backing field for property. + private global::System.DateTime? _invoicePeriodStartDate; + + /// The start date of the billing period for which the invoice is generated. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public global::System.DateTime? InvoicePeriodStartDate { get => this._invoicePeriodStartDate; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceType? _invoiceType; + + /// Invoice type. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceType? InvoiceType { get => this._invoiceType; } + + /// Backing field for property. + private bool? _isMonthlyInvoice; + + /// + /// Specifies if the invoice is generated as part of monthly invoicing cycle or not. This field is applicable to billing accounts + /// with agreement type Microsoft Customer Agreement. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public bool? IsMonthlyInvoice { get => this._isMonthlyInvoice; } + + /// Internal Acessors for AmountDue + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal.AmountDue { get => (this._amountDue = this._amountDue ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount()); set { {_amountDue = value;} } } + + /// Internal Acessors for AmountDueCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal.AmountDueCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)AmountDue).Currency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)AmountDue).Currency = value; } + + /// Internal Acessors for AzurePrepaymentApplied + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal.AzurePrepaymentApplied { get => (this._azurePrepaymentApplied = this._azurePrepaymentApplied ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount()); set { {_azurePrepaymentApplied = value;} } } + + /// Internal Acessors for AzurePrepaymentAppliedCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal.AzurePrepaymentAppliedCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)AzurePrepaymentApplied).Currency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)AzurePrepaymentApplied).Currency = value; } + + /// Internal Acessors for BilledAmount + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal.BilledAmount { get => (this._billedAmount = this._billedAmount ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount()); set { {_billedAmount = value;} } } + + /// Internal Acessors for BilledAmountCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal.BilledAmountCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)BilledAmount).Currency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)BilledAmount).Currency = value; } + + /// Internal Acessors for BilledDocumentId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal.BilledDocumentId { get => this._billedDocumentId; set { {_billedDocumentId = value;} } } + + /// Internal Acessors for BillingProfileDisplayName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal.BillingProfileDisplayName { get => this._billingProfileDisplayName; set { {_billingProfileDisplayName = value;} } } + + /// Internal Acessors for BillingProfileId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal.BillingProfileId { get => this._billingProfileId; set { {_billingProfileId = value;} } } + + /// Internal Acessors for CreditAmount + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal.CreditAmount { get => (this._creditAmount = this._creditAmount ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount()); set { {_creditAmount = value;} } } + + /// Internal Acessors for CreditAmountCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal.CreditAmountCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)CreditAmount).Currency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)CreditAmount).Currency = value; } + + /// Internal Acessors for CreditForDocumentId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal.CreditForDocumentId { get => this._creditForDocumentId; set { {_creditForDocumentId = value;} } } + + /// Internal Acessors for Document + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDocument[] Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal.Document { get => this._document; set { {_document = value;} } } + + /// Internal Acessors for DocumentType + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceDocumentType? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal.DocumentType { get => this._documentType; set { {_documentType = value;} } } + + /// Internal Acessors for DueDate + global::System.DateTime? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal.DueDate { get => this._dueDate; set { {_dueDate = value;} } } + + /// Internal Acessors for FreeAzureCreditApplied + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal.FreeAzureCreditApplied { get => (this._freeAzureCreditApplied = this._freeAzureCreditApplied ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount()); set { {_freeAzureCreditApplied = value;} } } + + /// Internal Acessors for FreeAzureCreditAppliedCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal.FreeAzureCreditAppliedCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)FreeAzureCreditApplied).Currency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)FreeAzureCreditApplied).Currency = value; } + + /// Internal Acessors for InvoiceDate + global::System.DateTime? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal.InvoiceDate { get => this._invoiceDate; set { {_invoiceDate = value;} } } + + /// Internal Acessors for InvoicePeriodEndDate + global::System.DateTime? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal.InvoicePeriodEndDate { get => this._invoicePeriodEndDate; set { {_invoicePeriodEndDate = value;} } } + + /// Internal Acessors for InvoicePeriodStartDate + global::System.DateTime? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal.InvoicePeriodStartDate { get => this._invoicePeriodStartDate; set { {_invoicePeriodStartDate = value;} } } + + /// Internal Acessors for InvoiceType + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceType? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal.InvoiceType { get => this._invoiceType; set { {_invoiceType = value;} } } + + /// Internal Acessors for IsMonthlyInvoice + bool? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal.IsMonthlyInvoice { get => this._isMonthlyInvoice; set { {_isMonthlyInvoice = value;} } } + + /// Internal Acessors for Payment + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentProperties[] Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal.Payment { get => this._payment; set { {_payment = value;} } } + + /// Internal Acessors for PurchaseOrderNumber + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal.PurchaseOrderNumber { get => this._purchaseOrderNumber; set { {_purchaseOrderNumber = value;} } } + + /// Internal Acessors for RebillDetail + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesRebillDetails Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal.RebillDetail { get => (this._rebillDetail = this._rebillDetail ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoicePropertiesRebillDetails()); set { {_rebillDetail = value;} } } + + /// Internal Acessors for Status + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceStatus? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal.Status { get => this._status; set { {_status = value;} } } + + /// Internal Acessors for SubTotal + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal.SubTotal { get => (this._subTotal = this._subTotal ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount()); set { {_subTotal = value;} } } + + /// Internal Acessors for SubTotalCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal.SubTotalCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)SubTotal).Currency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)SubTotal).Currency = value; } + + /// Internal Acessors for SubscriptionId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal.SubscriptionId { get => this._subscriptionId; set { {_subscriptionId = value;} } } + + /// Internal Acessors for TaxAmount + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal.TaxAmount { get => (this._taxAmount = this._taxAmount ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount()); set { {_taxAmount = value;} } } + + /// Internal Acessors for TaxAmountCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal.TaxAmountCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)TaxAmount).Currency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)TaxAmount).Currency = value; } + + /// Internal Acessors for TotalAmount + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal.TotalAmount { get => (this._totalAmount = this._totalAmount ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount()); set { {_totalAmount = value;} } } + + /// Internal Acessors for TotalAmountCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesInternal.TotalAmountCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)TotalAmount).Currency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)TotalAmount).Currency = value; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentProperties[] _payment; + + /// List of payments. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentProperties[] Payment { get => this._payment; } + + /// Backing field for property. + private string _purchaseOrderNumber; + + /// An optional purchase order number for the invoice. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string PurchaseOrderNumber { get => this._purchaseOrderNumber; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesRebillDetails _rebillDetail; + + /// Rebill details for an invoice. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesRebillDetails RebillDetail { get => (this._rebillDetail = this._rebillDetail ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoicePropertiesRebillDetails()); } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceStatus? _status; + + /// The current status of the invoice. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceStatus? Status { get => this._status; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount _subTotal; + + /// + /// The pre-tax amount due. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount SubTotal { get => (this._subTotal = this._subTotal ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount()); } + + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SubTotalCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)SubTotal).Currency; } + + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? SubTotalValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)SubTotal).Value; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)SubTotal).Value = value ?? default(float); } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID of the subscription for which the invoice is generated. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string SubscriptionId { get => this._subscriptionId; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount _taxAmount; + + /// + /// The amount of tax charged for the billing period. This field is applicable to billing accounts with agreement type Microsoft + /// Customer Agreement. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount TaxAmount { get => (this._taxAmount = this._taxAmount ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount()); } + + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string TaxAmountCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)TaxAmount).Currency; } + + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? TaxAmountValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)TaxAmount).Value; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)TaxAmount).Value = value ?? default(float); } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount _totalAmount; + + /// + /// The amount due when the invoice was generated. This field is applicable to billing accounts with agreement type Microsoft + /// Customer Agreement. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount TotalAmount { get => (this._totalAmount = this._totalAmount ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount()); } + + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string TotalAmountCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)TotalAmount).Currency; } + + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? TotalAmountValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)TotalAmount).Value; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)TotalAmount).Value = value ?? default(float); } + + /// Creates an new instance. + public InvoiceProperties() + { + + } + } + /// The properties of the invoice. + public partial interface IInvoiceProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The currency for the amount value.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string AmountDueCurrency { get; } + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Amount value.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(float) })] + float? AmountDueValue { get; set; } + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The currency for the amount value.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string AzurePrepaymentAppliedCurrency { get; } + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Amount value.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(float) })] + float? AzurePrepaymentAppliedValue { get; set; } + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The currency for the amount value.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string BilledAmountCurrency { get; } + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Amount value.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(float) })] + float? BilledAmountValue { get; set; } + /// + /// The Id of the active invoice which is originally billed after this invoice was voided. This field is applicable to the + /// void invoices only. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The Id of the active invoice which is originally billed after this invoice was voided. This field is applicable to the void invoices only.", + SerializedName = @"billedDocumentId", + PossibleTypes = new [] { typeof(string) })] + string BilledDocumentId { get; } + /// The name of the billing profile for which the invoice is generated. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the billing profile for which the invoice is generated.", + SerializedName = @"billingProfileDisplayName", + PossibleTypes = new [] { typeof(string) })] + string BillingProfileDisplayName { get; } + /// The ID of the billing profile for which the invoice is generated. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the billing profile for which the invoice is generated.", + SerializedName = @"billingProfileId", + PossibleTypes = new [] { typeof(string) })] + string BillingProfileId { get; } + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The currency for the amount value.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string CreditAmountCurrency { get; } + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Amount value.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(float) })] + float? CreditAmountValue { get; set; } + /// + /// The Id of the invoice which got voided and this credit note was issued as a result. This field is applicable to the credit + /// notes only. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The Id of the invoice which got voided and this credit note was issued as a result. This field is applicable to the credit notes only.", + SerializedName = @"creditForDocumentId", + PossibleTypes = new [] { typeof(string) })] + string CreditForDocumentId { get; } + /// List of documents available to download such as invoice and tax receipt. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"List of documents available to download such as invoice and tax receipt.", + SerializedName = @"documents", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDocument) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDocument[] Document { get; } + /// The type of the document. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The type of the document.", + SerializedName = @"documentType", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceDocumentType) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceDocumentType? DocumentType { get; } + /// The due date for the invoice. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The due date for the invoice.", + SerializedName = @"dueDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? DueDate { get; } + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The currency for the amount value.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string FreeAzureCreditAppliedCurrency { get; } + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Amount value.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(float) })] + float? FreeAzureCreditAppliedValue { get; set; } + /// The date when the invoice was generated. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The date when the invoice was generated.", + SerializedName = @"invoiceDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? InvoiceDate { get; } + /// The end date of the billing period for which the invoice is generated. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The end date of the billing period for which the invoice is generated.", + SerializedName = @"invoicePeriodEndDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? InvoicePeriodEndDate { get; } + /// The start date of the billing period for which the invoice is generated. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The start date of the billing period for which the invoice is generated.", + SerializedName = @"invoicePeriodStartDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? InvoicePeriodStartDate { get; } + /// Invoice type. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Invoice type.", + SerializedName = @"invoiceType", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceType) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceType? InvoiceType { get; } + /// + /// Specifies if the invoice is generated as part of monthly invoicing cycle or not. This field is applicable to billing accounts + /// with agreement type Microsoft Customer Agreement. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Specifies if the invoice is generated as part of monthly invoicing cycle or not. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement.", + SerializedName = @"isMonthlyInvoice", + PossibleTypes = new [] { typeof(bool) })] + bool? IsMonthlyInvoice { get; } + /// List of payments. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"List of payments.", + SerializedName = @"payments", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentProperties) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentProperties[] Payment { get; } + /// An optional purchase order number for the invoice. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"An optional purchase order number for the invoice.", + SerializedName = @"purchaseOrderNumber", + PossibleTypes = new [] { typeof(string) })] + string PurchaseOrderNumber { get; } + /// Rebill details for an invoice. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Rebill details for an invoice.", + SerializedName = @"rebillDetails", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesRebillDetails) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesRebillDetails RebillDetail { get; } + /// The current status of the invoice. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The current status of the invoice.", + SerializedName = @"status", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceStatus) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceStatus? Status { get; } + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The currency for the amount value.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string SubTotalCurrency { get; } + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Amount value.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(float) })] + float? SubTotalValue { get; set; } + /// The ID of the subscription for which the invoice is generated. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the subscription for which the invoice is generated.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + string SubscriptionId { get; } + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The currency for the amount value.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string TaxAmountCurrency { get; } + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Amount value.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(float) })] + float? TaxAmountValue { get; set; } + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The currency for the amount value.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string TotalAmountCurrency { get; } + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Amount value.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(float) })] + float? TotalAmountValue { get; set; } + + } + /// The properties of the invoice. + internal partial interface IInvoicePropertiesInternal + + { + /// The amount due as of now. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount AmountDue { get; set; } + /// The currency for the amount value. + string AmountDueCurrency { get; set; } + /// Amount value. + float? AmountDueValue { get; set; } + /// + /// The amount of Azure prepayment applied to the charges. This field is applicable to billing accounts with agreement type + /// Microsoft Customer Agreement. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount AzurePrepaymentApplied { get; set; } + /// The currency for the amount value. + string AzurePrepaymentAppliedCurrency { get; set; } + /// Amount value. + float? AzurePrepaymentAppliedValue { get; set; } + /// The total charges for the invoice billing period. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount BilledAmount { get; set; } + /// The currency for the amount value. + string BilledAmountCurrency { get; set; } + /// Amount value. + float? BilledAmountValue { get; set; } + /// + /// The Id of the active invoice which is originally billed after this invoice was voided. This field is applicable to the + /// void invoices only. + /// + string BilledDocumentId { get; set; } + /// The name of the billing profile for which the invoice is generated. + string BillingProfileDisplayName { get; set; } + /// The ID of the billing profile for which the invoice is generated. + string BillingProfileId { get; set; } + /// + /// The total refund for returns and cancellations during the invoice billing period. This field is applicable to billing + /// accounts with agreement type Microsoft Customer Agreement. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount CreditAmount { get; set; } + /// The currency for the amount value. + string CreditAmountCurrency { get; set; } + /// Amount value. + float? CreditAmountValue { get; set; } + /// + /// The Id of the invoice which got voided and this credit note was issued as a result. This field is applicable to the credit + /// notes only. + /// + string CreditForDocumentId { get; set; } + /// List of documents available to download such as invoice and tax receipt. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDocument[] Document { get; set; } + /// The type of the document. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceDocumentType? DocumentType { get; set; } + /// The due date for the invoice. + global::System.DateTime? DueDate { get; set; } + /// + /// The amount of free Azure credits applied to the charges. This field is applicable to billing accounts with agreement type + /// Microsoft Customer Agreement. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount FreeAzureCreditApplied { get; set; } + /// The currency for the amount value. + string FreeAzureCreditAppliedCurrency { get; set; } + /// Amount value. + float? FreeAzureCreditAppliedValue { get; set; } + /// The date when the invoice was generated. + global::System.DateTime? InvoiceDate { get; set; } + /// The end date of the billing period for which the invoice is generated. + global::System.DateTime? InvoicePeriodEndDate { get; set; } + /// The start date of the billing period for which the invoice is generated. + global::System.DateTime? InvoicePeriodStartDate { get; set; } + /// Invoice type. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceType? InvoiceType { get; set; } + /// + /// Specifies if the invoice is generated as part of monthly invoicing cycle or not. This field is applicable to billing accounts + /// with agreement type Microsoft Customer Agreement. + /// + bool? IsMonthlyInvoice { get; set; } + /// List of payments. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentProperties[] Payment { get; set; } + /// An optional purchase order number for the invoice. + string PurchaseOrderNumber { get; set; } + /// Rebill details for an invoice. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesRebillDetails RebillDetail { get; set; } + /// The current status of the invoice. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceStatus? Status { get; set; } + /// + /// The pre-tax amount due. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount SubTotal { get; set; } + /// The currency for the amount value. + string SubTotalCurrency { get; set; } + /// Amount value. + float? SubTotalValue { get; set; } + /// The ID of the subscription for which the invoice is generated. + string SubscriptionId { get; set; } + /// + /// The amount of tax charged for the billing period. This field is applicable to billing accounts with agreement type Microsoft + /// Customer Agreement. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount TaxAmount { get; set; } + /// The currency for the amount value. + string TaxAmountCurrency { get; set; } + /// Amount value. + float? TaxAmountValue { get; set; } + /// + /// The amount due when the invoice was generated. This field is applicable to billing accounts with agreement type Microsoft + /// Customer Agreement. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount TotalAmount { get; set; } + /// The currency for the amount value. + string TotalAmountCurrency { get; set; } + /// Amount value. + float? TotalAmountValue { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceProperties.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceProperties.json.cs new file mode 100644 index 000000000000..50c958709069 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceProperties.json.cs @@ -0,0 +1,247 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of the invoice. + public partial class InvoiceProperties + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceProperties. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceProperties. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceProperties FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new InvoiceProperties(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal InvoiceProperties(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_amountDue = If( json?.PropertyT("amountDue"), out var __jsonAmountDue) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount.FromJson(__jsonAmountDue) : AmountDue;} + {_azurePrepaymentApplied = If( json?.PropertyT("azurePrepaymentApplied"), out var __jsonAzurePrepaymentApplied) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount.FromJson(__jsonAzurePrepaymentApplied) : AzurePrepaymentApplied;} + {_billedAmount = If( json?.PropertyT("billedAmount"), out var __jsonBilledAmount) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount.FromJson(__jsonBilledAmount) : BilledAmount;} + {_creditAmount = If( json?.PropertyT("creditAmount"), out var __jsonCreditAmount) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount.FromJson(__jsonCreditAmount) : CreditAmount;} + {_freeAzureCreditApplied = If( json?.PropertyT("freeAzureCreditApplied"), out var __jsonFreeAzureCreditApplied) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount.FromJson(__jsonFreeAzureCreditApplied) : FreeAzureCreditApplied;} + {_subTotal = If( json?.PropertyT("subTotal"), out var __jsonSubTotal) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount.FromJson(__jsonSubTotal) : SubTotal;} + {_taxAmount = If( json?.PropertyT("taxAmount"), out var __jsonTaxAmount) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount.FromJson(__jsonTaxAmount) : TaxAmount;} + {_totalAmount = If( json?.PropertyT("totalAmount"), out var __jsonTotalAmount) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount.FromJson(__jsonTotalAmount) : TotalAmount;} + {_dueDate = If( json?.PropertyT("dueDate"), out var __jsonDueDate) ? global::System.DateTime.TryParse((string)__jsonDueDate, global::System.Globalization.CultureInfo.InvariantCulture, global::System.Globalization.DateTimeStyles.AdjustToUniversal, out var __jsonDueDateValue) ? __jsonDueDateValue : DueDate : DueDate;} + {_invoiceDate = If( json?.PropertyT("invoiceDate"), out var __jsonInvoiceDate) ? global::System.DateTime.TryParse((string)__jsonInvoiceDate, global::System.Globalization.CultureInfo.InvariantCulture, global::System.Globalization.DateTimeStyles.AdjustToUniversal, out var __jsonInvoiceDateValue) ? __jsonInvoiceDateValue : InvoiceDate : InvoiceDate;} + {_status = If( json?.PropertyT("status"), out var __jsonStatus) ? (string)__jsonStatus : (string)Status;} + {_invoicePeriodStartDate = If( json?.PropertyT("invoicePeriodStartDate"), out var __jsonInvoicePeriodStartDate) ? global::System.DateTime.TryParse((string)__jsonInvoicePeriodStartDate, global::System.Globalization.CultureInfo.InvariantCulture, global::System.Globalization.DateTimeStyles.AdjustToUniversal, out var __jsonInvoicePeriodStartDateValue) ? __jsonInvoicePeriodStartDateValue : InvoicePeriodStartDate : InvoicePeriodStartDate;} + {_invoicePeriodEndDate = If( json?.PropertyT("invoicePeriodEndDate"), out var __jsonInvoicePeriodEndDate) ? global::System.DateTime.TryParse((string)__jsonInvoicePeriodEndDate, global::System.Globalization.CultureInfo.InvariantCulture, global::System.Globalization.DateTimeStyles.AdjustToUniversal, out var __jsonInvoicePeriodEndDateValue) ? __jsonInvoicePeriodEndDateValue : InvoicePeriodEndDate : InvoicePeriodEndDate;} + {_invoiceType = If( json?.PropertyT("invoiceType"), out var __jsonInvoiceType) ? (string)__jsonInvoiceType : (string)InvoiceType;} + {_isMonthlyInvoice = If( json?.PropertyT("isMonthlyInvoice"), out var __jsonIsMonthlyInvoice) ? (bool?)__jsonIsMonthlyInvoice : IsMonthlyInvoice;} + {_billingProfileId = If( json?.PropertyT("billingProfileId"), out var __jsonBillingProfileId) ? (string)__jsonBillingProfileId : (string)BillingProfileId;} + {_billingProfileDisplayName = If( json?.PropertyT("billingProfileDisplayName"), out var __jsonBillingProfileDisplayName) ? (string)__jsonBillingProfileDisplayName : (string)BillingProfileDisplayName;} + {_purchaseOrderNumber = If( json?.PropertyT("purchaseOrderNumber"), out var __jsonPurchaseOrderNumber) ? (string)__jsonPurchaseOrderNumber : (string)PurchaseOrderNumber;} + {_document = If( json?.PropertyT("documents"), out var __jsonDocuments) ? If( __jsonDocuments as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDocument) (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Document.FromJson(__u) )) ))() : null : Document;} + {_payment = If( json?.PropertyT("payments"), out var __jsonPayments) ? If( __jsonPayments as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonArray, out var __q) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__q, (__p)=>(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentProperties) (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.PaymentProperties.FromJson(__p) )) ))() : null : Payment;} + {_rebillDetail = If( json?.PropertyT("rebillDetails"), out var __jsonRebillDetails) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoicePropertiesRebillDetails.FromJson(__jsonRebillDetails) : RebillDetail;} + {_documentType = If( json?.PropertyT("documentType"), out var __jsonDocumentType) ? (string)__jsonDocumentType : (string)DocumentType;} + {_billedDocumentId = If( json?.PropertyT("billedDocumentId"), out var __jsonBilledDocumentId) ? (string)__jsonBilledDocumentId : (string)BilledDocumentId;} + {_creditForDocumentId = If( json?.PropertyT("creditForDocumentId"), out var __jsonCreditForDocumentId) ? (string)__jsonCreditForDocumentId : (string)CreditForDocumentId;} + {_subscriptionId = If( json?.PropertyT("subscriptionId"), out var __jsonSubscriptionId) ? (string)__jsonSubscriptionId : (string)SubscriptionId;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._amountDue ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._amountDue.ToJson(null,serializationMode) : null, "amountDue" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._azurePrepaymentApplied ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._azurePrepaymentApplied.ToJson(null,serializationMode) : null, "azurePrepaymentApplied" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._billedAmount ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._billedAmount.ToJson(null,serializationMode) : null, "billedAmount" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._creditAmount ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._creditAmount.ToJson(null,serializationMode) : null, "creditAmount" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._freeAzureCreditApplied ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._freeAzureCreditApplied.ToJson(null,serializationMode) : null, "freeAzureCreditApplied" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._subTotal ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._subTotal.ToJson(null,serializationMode) : null, "subTotal" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._taxAmount ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._taxAmount.ToJson(null,serializationMode) : null, "taxAmount" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._totalAmount ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._totalAmount.ToJson(null,serializationMode) : null, "totalAmount" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._dueDate ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._dueDate?.ToString(@"yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK",global::System.Globalization.CultureInfo.InvariantCulture)) : null, "dueDate" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._invoiceDate ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._invoiceDate?.ToString(@"yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK",global::System.Globalization.CultureInfo.InvariantCulture)) : null, "invoiceDate" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._status)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._status.ToString()) : null, "status" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._invoicePeriodStartDate ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._invoicePeriodStartDate?.ToString(@"yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK",global::System.Globalization.CultureInfo.InvariantCulture)) : null, "invoicePeriodStartDate" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._invoicePeriodEndDate ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._invoicePeriodEndDate?.ToString(@"yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK",global::System.Globalization.CultureInfo.InvariantCulture)) : null, "invoicePeriodEndDate" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._invoiceType)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._invoiceType.ToString()) : null, "invoiceType" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._isMonthlyInvoice ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonBoolean((bool)this._isMonthlyInvoice) : null, "isMonthlyInvoice" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._billingProfileId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._billingProfileId.ToString()) : null, "billingProfileId" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._billingProfileDisplayName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._billingProfileDisplayName.ToString()) : null, "billingProfileDisplayName" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._purchaseOrderNumber)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._purchaseOrderNumber.ToString()) : null, "purchaseOrderNumber" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + if (null != this._document) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(); + foreach( var __x in this._document ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("documents",__w); + } + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + if (null != this._payment) + { + var __r = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(); + foreach( var __s in this._payment ) + { + AddIf(__s?.ToJson(null, serializationMode) ,__r.Add); + } + container.Add("payments",__r); + } + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._rebillDetail ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._rebillDetail.ToJson(null,serializationMode) : null, "rebillDetails" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._documentType)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._documentType.ToString()) : null, "documentType" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._billedDocumentId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._billedDocumentId.ToString()) : null, "billedDocumentId" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._creditForDocumentId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._creditForDocumentId.ToString()) : null, "creditForDocumentId" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._subscriptionId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._subscriptionId.ToString()) : null, "subscriptionId" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoicePropertiesRebillDetails.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoicePropertiesRebillDetails.PowerShell.cs new file mode 100644 index 000000000000..c3256dbede16 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoicePropertiesRebillDetails.PowerShell.cs @@ -0,0 +1,142 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// Rebill details for an invoice. + [System.ComponentModel.TypeConverter(typeof(InvoicePropertiesRebillDetailsTypeConverter))] + public partial class InvoicePropertiesRebillDetails + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesRebillDetails DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new InvoicePropertiesRebillDetails(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesRebillDetails DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new InvoicePropertiesRebillDetails(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesRebillDetails FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal InvoicePropertiesRebillDetails(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + // this type is a dictionary; copy elements from source to here. + CopyFrom(content); + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal InvoicePropertiesRebillDetails(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + // this type is a dictionary; copy elements from source to here. + CopyFrom(content); + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Rebill details for an invoice. + [System.ComponentModel.TypeConverter(typeof(InvoicePropertiesRebillDetailsTypeConverter))] + public partial interface IInvoicePropertiesRebillDetails + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoicePropertiesRebillDetails.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoicePropertiesRebillDetails.TypeConverter.cs new file mode 100644 index 000000000000..d314ba7b5799 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoicePropertiesRebillDetails.TypeConverter.cs @@ -0,0 +1,148 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class InvoicePropertiesRebillDetailsTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesRebillDetails ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesRebillDetails).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return InvoicePropertiesRebillDetails.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return InvoicePropertiesRebillDetails.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return InvoicePropertiesRebillDetails.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoicePropertiesRebillDetails.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoicePropertiesRebillDetails.cs new file mode 100644 index 000000000000..574780d748ee --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoicePropertiesRebillDetails.cs @@ -0,0 +1,35 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// Rebill details for an invoice. + public partial class InvoicePropertiesRebillDetails : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesRebillDetails, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesRebillDetailsInternal + { + + /// Creates an new instance. + public InvoicePropertiesRebillDetails() + { + + } + } + /// Rebill details for an invoice. + public partial interface IInvoicePropertiesRebillDetails : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IAssociativeArray + { + + } + /// Rebill details for an invoice. + internal partial interface IInvoicePropertiesRebillDetailsInternal + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoicePropertiesRebillDetails.dictionary.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoicePropertiesRebillDetails.dictionary.cs new file mode 100644 index 000000000000..332adacdad1b --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoicePropertiesRebillDetails.dictionary.cs @@ -0,0 +1,75 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + public partial class InvoicePropertiesRebillDetails : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IAssociativeArray + { + protected global::System.Collections.Generic.Dictionary __additionalProperties = new global::System.Collections.Generic.Dictionary(); + + global::System.Collections.Generic.IDictionary Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IAssociativeArray.AdditionalProperties { get => __additionalProperties; } + + int Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IAssociativeArray.Count { get => __additionalProperties.Count; } + + global::System.Collections.Generic.IEnumerable Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IAssociativeArray.Keys { get => __additionalProperties.Keys; } + + global::System.Collections.Generic.IEnumerable Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IAssociativeArray.Values { get => __additionalProperties.Values; } + + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails1 this[global::System.String index] { get => __additionalProperties[index]; set => __additionalProperties[index] = value; } + + /// + /// + public void Add(global::System.String key, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails1 value) => __additionalProperties.Add( key, value); + + public void Clear() => __additionalProperties.Clear(); + + /// + public bool ContainsKey(global::System.String key) => __additionalProperties.ContainsKey( key); + + /// + public void CopyFrom(global::System.Collections.IDictionary source) + { + if (null != source) + { + foreach( var property in Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.TypeConverterExtensions.GetFilteredProperties(source, new global::System.Collections.Generic.HashSet() { } ) ) + { + if ((null != property.Key && null != property.Value)) + { + this.__additionalProperties.Add(property.Key.ToString(), global::System.Management.Automation.LanguagePrimitives.ConvertTo( property.Value)); + } + } + } + } + + /// + public void CopyFrom(global::System.Management.Automation.PSObject source) + { + if (null != source) + { + foreach( var property in Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.TypeConverterExtensions.GetFilteredProperties(source, new global::System.Collections.Generic.HashSet() { } ) ) + { + if ((null != property.Key && null != property.Value)) + { + this.__additionalProperties.Add(property.Key.ToString(), global::System.Management.Automation.LanguagePrimitives.ConvertTo( property.Value)); + } + } + } + } + + /// + public bool Remove(global::System.String key) => __additionalProperties.Remove( key); + + /// + /// + public bool TryGetValue(global::System.String key, out Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails1 value) => __additionalProperties.TryGetValue( key, out value); + + /// + + public static implicit operator global::System.Collections.Generic.Dictionary(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoicePropertiesRebillDetails source) => source.__additionalProperties; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoicePropertiesRebillDetails.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoicePropertiesRebillDetails.json.cs new file mode 100644 index 000000000000..f28f1962b694 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoicePropertiesRebillDetails.json.cs @@ -0,0 +1,109 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// Rebill details for an invoice. + public partial class InvoicePropertiesRebillDetails + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesRebillDetails. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesRebillDetails. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoicePropertiesRebillDetails FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new InvoicePropertiesRebillDetails(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + /// + internal InvoicePropertiesRebillDetails(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, global::System.Collections.Generic.HashSet exclusions = null) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.JsonSerializable.FromJson( json, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IAssociativeArray)this).AdditionalProperties, (j) => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.RebillDetails1.FromJson(j) ,exclusions ); + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.JsonSerializable.ToJson( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IAssociativeArray)this).AdditionalProperties, container); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSection.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSection.PowerShell.cs new file mode 100644 index 000000000000..e81b898c814b --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSection.PowerShell.cs @@ -0,0 +1,216 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// An invoice section. + [System.ComponentModel.TypeConverter(typeof(InvoiceSectionTypeConverter))] + public partial class InvoiceSection + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new InvoiceSection(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new InvoiceSection(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal InvoiceSection(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("TargetCloud")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionInternal)this).TargetCloud = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud?) content.GetValueForProperty("TargetCloud",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionInternal)this).TargetCloud, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud.CreateFrom); + } + if (content.Contains("DisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionInternal)this).DisplayName = (string) content.GetValueForProperty("DisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionInternal)this).DisplayName, global::System.Convert.ToString); + } + if (content.Contains("Label")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionInternal)this).Label = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesLabels) content.GetValueForProperty("Label",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionInternal)this).Label, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionPropertiesLabelsTypeConverter.ConvertFrom); + } + if (content.Contains("State")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionInternal)this).State = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceSectionState?) content.GetValueForProperty("State",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionInternal)this).State, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceSectionState.CreateFrom); + } + if (content.Contains("SystemId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionInternal)this).SystemId = (string) content.GetValueForProperty("SystemId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionInternal)this).SystemId, global::System.Convert.ToString); + } + if (content.Contains("Tag")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionInternal)this).Tag = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesTags) content.GetValueForProperty("Tag",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionInternal)this).Tag, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionPropertiesTagsTypeConverter.ConvertFrom); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal InvoiceSection(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("TargetCloud")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionInternal)this).TargetCloud = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud?) content.GetValueForProperty("TargetCloud",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionInternal)this).TargetCloud, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud.CreateFrom); + } + if (content.Contains("DisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionInternal)this).DisplayName = (string) content.GetValueForProperty("DisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionInternal)this).DisplayName, global::System.Convert.ToString); + } + if (content.Contains("Label")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionInternal)this).Label = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesLabels) content.GetValueForProperty("Label",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionInternal)this).Label, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionPropertiesLabelsTypeConverter.ConvertFrom); + } + if (content.Contains("State")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionInternal)this).State = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceSectionState?) content.GetValueForProperty("State",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionInternal)this).State, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceSectionState.CreateFrom); + } + if (content.Contains("SystemId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionInternal)this).SystemId = (string) content.GetValueForProperty("SystemId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionInternal)this).SystemId, global::System.Convert.ToString); + } + if (content.Contains("Tag")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionInternal)this).Tag = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesTags) content.GetValueForProperty("Tag",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionInternal)this).Tag, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionPropertiesTagsTypeConverter.ConvertFrom); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// An invoice section. + [System.ComponentModel.TypeConverter(typeof(InvoiceSectionTypeConverter))] + public partial interface IInvoiceSection + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSection.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSection.TypeConverter.cs new file mode 100644 index 000000000000..c35568ac759d --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSection.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class InvoiceSectionTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return InvoiceSection.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return InvoiceSection.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return InvoiceSection.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSection.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSection.cs new file mode 100644 index 000000000000..3e152f3ea80a --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSection.cs @@ -0,0 +1,197 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// An invoice section. + public partial class InvoiceSection : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionInternal, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IValidates + { + /// + /// Backing field for Inherited model + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource __resource = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource(); + + /// The name of the invoice section. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string DisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal)Property).DisplayName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal)Property).DisplayName = value ?? null; } + + /// Resource Id. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id; } + + /// Dictionary of metadata associated with the invoice section. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesLabels Label { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal)Property).Label; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal)Property).Label = value ?? null /* model class */; } + + /// Internal Acessors for Id + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id = value; } + + /// Internal Acessors for Name + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name = value; } + + /// Internal Acessors for Type + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type = value; } + + /// Internal Acessors for Property + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionProperties Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionInternal.Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionProperties()); set { {_property = value;} } } + + /// Internal Acessors for State + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceSectionState? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionInternal.State { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal)Property).State; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal)Property).State = value; } + + /// Internal Acessors for SystemId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionInternal.SystemId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal)Property).SystemId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal)Property).SystemId = value; } + + /// Internal Acessors for TargetCloud + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionInternal.TargetCloud { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal)Property).TargetCloud; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal)Property).TargetCloud = value; } + + /// Resource name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionProperties _property; + + /// The properties of an invoice section. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionProperties Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionProperties()); set => this._property = value; } + + /// Identifies the state of an invoice section. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceSectionState? State { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal)Property).State; } + + /// The system generated unique identifier for an invoice section. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SystemId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal)Property).SystemId; } + + /// + /// Dictionary of metadata associated with the invoice section. Maximum key/value length supported of 256 characters. Keys/value + /// should not empty value nor null. Keys can not contain < > % & \ ? / + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesTags Tag { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal)Property).Tag; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal)Property).Tag = value ?? null /* model class */; } + + /// + /// Identifies the cloud environments that are associated with an invoice section. This is a system managed optional field + /// and gets updated as the invoice section gets associated with accounts in various clouds. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud? TargetCloud { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal)Property).TargetCloud; } + + /// Resource type. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type; } + + /// Creates an new instance. + public InvoiceSection() + { + + } + + /// Validates that this object meets the validation criteria. + /// an instance that will receive validation + /// events. + /// + /// A that will be complete when validation is completed. + /// + public async global::System.Threading.Tasks.Task Validate(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + await eventListener.AssertNotNull(nameof(__resource), __resource); + await eventListener.AssertObjectIsValid(nameof(__resource), __resource); + } + } + /// An invoice section. + public partial interface IInvoiceSection : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource + { + /// The name of the invoice section. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the invoice section.", + SerializedName = @"displayName", + PossibleTypes = new [] { typeof(string) })] + string DisplayName { get; set; } + /// Dictionary of metadata associated with the invoice section. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Dictionary of metadata associated with the invoice section.", + SerializedName = @"labels", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesLabels) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesLabels Label { get; set; } + /// Identifies the state of an invoice section. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Identifies the state of an invoice section.", + SerializedName = @"state", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceSectionState) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceSectionState? State { get; } + /// The system generated unique identifier for an invoice section. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The system generated unique identifier for an invoice section.", + SerializedName = @"systemId", + PossibleTypes = new [] { typeof(string) })] + string SystemId { get; } + /// + /// Dictionary of metadata associated with the invoice section. Maximum key/value length supported of 256 characters. Keys/value + /// should not empty value nor null. Keys can not contain < > % & \ ? / + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Dictionary of metadata associated with the invoice section. Maximum key/value length supported of 256 characters. Keys/value should not empty value nor null. Keys can not contain < > % & \ ? /", + SerializedName = @"tags", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesTags) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesTags Tag { get; set; } + /// + /// Identifies the cloud environments that are associated with an invoice section. This is a system managed optional field + /// and gets updated as the invoice section gets associated with accounts in various clouds. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Identifies the cloud environments that are associated with an invoice section. This is a system managed optional field and gets updated as the invoice section gets associated with accounts in various clouds.", + SerializedName = @"targetCloud", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud? TargetCloud { get; } + + } + /// An invoice section. + internal partial interface IInvoiceSectionInternal : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal + { + /// The name of the invoice section. + string DisplayName { get; set; } + /// Dictionary of metadata associated with the invoice section. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesLabels Label { get; set; } + /// The properties of an invoice section. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionProperties Property { get; set; } + /// Identifies the state of an invoice section. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceSectionState? State { get; set; } + /// The system generated unique identifier for an invoice section. + string SystemId { get; set; } + /// + /// Dictionary of metadata associated with the invoice section. Maximum key/value length supported of 256 characters. Keys/value + /// should not empty value nor null. Keys can not contain < > % & \ ? / + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesTags Tag { get; set; } + /// + /// Identifies the cloud environments that are associated with an invoice section. This is a system managed optional field + /// and gets updated as the invoice section gets associated with accounts in various clouds. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud? TargetCloud { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSection.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSection.json.cs new file mode 100644 index 000000000000..db82831039d9 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSection.json.cs @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// An invoice section. + public partial class InvoiceSection + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new InvoiceSection(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal InvoiceSection(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + __resource = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource(json); + {_property = If( json?.PropertyT("properties"), out var __jsonProperties) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionProperties.FromJson(__jsonProperties) : Property;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + __resource?.ToJson(container, serializationMode); + AddIf( null != this._property ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._property.ToJson(null,serializationMode) : null, "properties" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionCreationRequest.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionCreationRequest.PowerShell.cs new file mode 100644 index 000000000000..41d2b24dc394 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionCreationRequest.PowerShell.cs @@ -0,0 +1,146 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The properties of the invoice section. + [System.ComponentModel.TypeConverter(typeof(InvoiceSectionCreationRequestTypeConverter))] + public partial class InvoiceSectionCreationRequest + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionCreationRequest DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new InvoiceSectionCreationRequest(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionCreationRequest DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new InvoiceSectionCreationRequest(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionCreationRequest FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal InvoiceSectionCreationRequest(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("DisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionCreationRequestInternal)this).DisplayName = (string) content.GetValueForProperty("DisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionCreationRequestInternal)this).DisplayName, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal InvoiceSectionCreationRequest(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("DisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionCreationRequestInternal)this).DisplayName = (string) content.GetValueForProperty("DisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionCreationRequestInternal)this).DisplayName, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The properties of the invoice section. + [System.ComponentModel.TypeConverter(typeof(InvoiceSectionCreationRequestTypeConverter))] + public partial interface IInvoiceSectionCreationRequest + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionCreationRequest.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionCreationRequest.TypeConverter.cs new file mode 100644 index 000000000000..9ab793679273 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionCreationRequest.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class InvoiceSectionCreationRequestTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionCreationRequest ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionCreationRequest).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return InvoiceSectionCreationRequest.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return InvoiceSectionCreationRequest.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return InvoiceSectionCreationRequest.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionCreationRequest.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionCreationRequest.cs new file mode 100644 index 000000000000..9039524c9c94 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionCreationRequest.cs @@ -0,0 +1,51 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of the invoice section. + public partial class InvoiceSectionCreationRequest : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionCreationRequest, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionCreationRequestInternal + { + + /// Backing field for property. + private string _displayName; + + /// The name of the invoice section. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string DisplayName { get => this._displayName; set => this._displayName = value; } + + /// Creates an new instance. + public InvoiceSectionCreationRequest() + { + + } + } + /// The properties of the invoice section. + public partial interface IInvoiceSectionCreationRequest : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The name of the invoice section. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the invoice section.", + SerializedName = @"displayName", + PossibleTypes = new [] { typeof(string) })] + string DisplayName { get; set; } + + } + /// The properties of the invoice section. + internal partial interface IInvoiceSectionCreationRequestInternal + + { + /// The name of the invoice section. + string DisplayName { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionCreationRequest.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionCreationRequest.json.cs new file mode 100644 index 000000000000..f7ec4ffe945c --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionCreationRequest.json.cs @@ -0,0 +1,108 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of the invoice section. + public partial class InvoiceSectionCreationRequest + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionCreationRequest. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionCreationRequest. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionCreationRequest FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new InvoiceSectionCreationRequest(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal InvoiceSectionCreationRequest(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_displayName = If( json?.PropertyT("displayName"), out var __jsonDisplayName) ? (string)__jsonDisplayName : (string)DisplayName;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != (((object)this._displayName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._displayName.ToString()) : null, "displayName" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionListResult.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionListResult.PowerShell.cs new file mode 100644 index 000000000000..5de1e3ed7174 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionListResult.PowerShell.cs @@ -0,0 +1,160 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The list of invoice sections. + [System.ComponentModel.TypeConverter(typeof(InvoiceSectionListResultTypeConverter))] + public partial class InvoiceSectionListResult + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListResult DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new InvoiceSectionListResult(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListResult DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new InvoiceSectionListResult(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListResult FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal InvoiceSectionListResult(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionTypeConverter.ConvertFrom)); + } + if (content.Contains("TotalCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListResultInternal)this).TotalCount = (int?) content.GetValueForProperty("TotalCount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListResultInternal)this).TotalCount, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListResultInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal InvoiceSectionListResult(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionTypeConverter.ConvertFrom)); + } + if (content.Contains("TotalCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListResultInternal)this).TotalCount = (int?) content.GetValueForProperty("TotalCount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListResultInternal)this).TotalCount, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListResultInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The list of invoice sections. + [System.ComponentModel.TypeConverter(typeof(InvoiceSectionListResultTypeConverter))] + public partial interface IInvoiceSectionListResult + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionListResult.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionListResult.TypeConverter.cs new file mode 100644 index 000000000000..26f8a776d25f --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionListResult.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class InvoiceSectionListResultTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListResult ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListResult).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return InvoiceSectionListResult.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return InvoiceSectionListResult.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return InvoiceSectionListResult.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionListResult.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionListResult.cs new file mode 100644 index 000000000000..200dd66ab0bc --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionListResult.cs @@ -0,0 +1,94 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The list of invoice sections. + public partial class InvoiceSectionListResult : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListResult, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListResultInternal + { + + /// Internal Acessors for NextLink + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListResultInternal.NextLink { get => this._nextLink; set { {_nextLink = value;} } } + + /// Internal Acessors for TotalCount + int? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListResultInternal.TotalCount { get => this._totalCount; set { {_totalCount = value;} } } + + /// Internal Acessors for Value + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection[] Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListResultInternal.Value { get => this._value; set { {_value = value;} } } + + /// Backing field for property. + private string _nextLink; + + /// The link (url) to the next page of results. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string NextLink { get => this._nextLink; } + + /// Backing field for property. + private int? _totalCount; + + /// Total number of records. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public int? TotalCount { get => this._totalCount; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection[] _value; + + /// The list of invoice sections. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection[] Value { get => this._value; } + + /// Creates an new instance. + public InvoiceSectionListResult() + { + + } + } + /// The list of invoice sections. + public partial interface IInvoiceSectionListResult : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The link (url) to the next page of results. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The link (url) to the next page of results.", + SerializedName = @"nextLink", + PossibleTypes = new [] { typeof(string) })] + string NextLink { get; } + /// Total number of records. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Total number of records.", + SerializedName = @"totalCount", + PossibleTypes = new [] { typeof(int) })] + int? TotalCount { get; } + /// The list of invoice sections. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The list of invoice sections.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection[] Value { get; } + + } + /// The list of invoice sections. + internal partial interface IInvoiceSectionListResultInternal + + { + /// The link (url) to the next page of results. + string NextLink { get; set; } + /// Total number of records. + int? TotalCount { get; set; } + /// The list of invoice sections. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection[] Value { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionListResult.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionListResult.json.cs new file mode 100644 index 000000000000..b600b7d184e0 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionListResult.json.cs @@ -0,0 +1,129 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The list of invoice sections. + public partial class InvoiceSectionListResult + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListResult. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListResult. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListResult FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new InvoiceSectionListResult(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal InvoiceSectionListResult(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_value = If( json?.PropertyT("value"), out var __jsonValue) ? If( __jsonValue as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection) (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSection.FromJson(__u) )) ))() : null : Value;} + {_totalCount = If( json?.PropertyT("totalCount"), out var __jsonTotalCount) ? (int?)__jsonTotalCount : TotalCount;} + {_nextLink = If( json?.PropertyT("nextLink"), out var __jsonNextLink) ? (string)__jsonNextLink : (string)NextLink;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + if (null != this._value) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(); + foreach( var __x in this._value ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("value",__w); + } + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._totalCount ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNumber((int)this._totalCount) : null, "totalCount" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._nextLink)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._nextLink.ToString()) : null, "nextLink" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionListWithCreateSubPermissionResult.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionListWithCreateSubPermissionResult.PowerShell.cs new file mode 100644 index 000000000000..46e554a20972 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionListWithCreateSubPermissionResult.PowerShell.cs @@ -0,0 +1,157 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The list of invoice section properties with create subscription permission. + [System.ComponentModel.TypeConverter(typeof(InvoiceSectionListWithCreateSubPermissionResultTypeConverter))] + public partial class InvoiceSectionListWithCreateSubPermissionResult + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListWithCreateSubPermissionResult DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new InvoiceSectionListWithCreateSubPermissionResult(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListWithCreateSubPermissionResult DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new InvoiceSectionListWithCreateSubPermissionResult(content); + } + + /// + /// Creates a new instance of , deserializing the content from + /// a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// + /// an instance of the model class. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListWithCreateSubPermissionResult FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal InvoiceSectionListWithCreateSubPermissionResult(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListWithCreateSubPermissionResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermission[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListWithCreateSubPermissionResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionWithCreateSubPermissionTypeConverter.ConvertFrom)); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListWithCreateSubPermissionResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListWithCreateSubPermissionResultInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal InvoiceSectionListWithCreateSubPermissionResult(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListWithCreateSubPermissionResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermission[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListWithCreateSubPermissionResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionWithCreateSubPermissionTypeConverter.ConvertFrom)); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListWithCreateSubPermissionResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListWithCreateSubPermissionResultInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The list of invoice section properties with create subscription permission. + [System.ComponentModel.TypeConverter(typeof(InvoiceSectionListWithCreateSubPermissionResultTypeConverter))] + public partial interface IInvoiceSectionListWithCreateSubPermissionResult + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionListWithCreateSubPermissionResult.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionListWithCreateSubPermissionResult.TypeConverter.cs new file mode 100644 index 000000000000..492e4f576844 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionListWithCreateSubPermissionResult.TypeConverter.cs @@ -0,0 +1,153 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class InvoiceSectionListWithCreateSubPermissionResultTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, + /// otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable + /// conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable + /// conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListWithCreateSubPermissionResult ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListWithCreateSubPermissionResult).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return InvoiceSectionListWithCreateSubPermissionResult.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return InvoiceSectionListWithCreateSubPermissionResult.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return InvoiceSectionListWithCreateSubPermissionResult.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionListWithCreateSubPermissionResult.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionListWithCreateSubPermissionResult.cs new file mode 100644 index 000000000000..0a45b9097847 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionListWithCreateSubPermissionResult.cs @@ -0,0 +1,73 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The list of invoice section properties with create subscription permission. + public partial class InvoiceSectionListWithCreateSubPermissionResult : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListWithCreateSubPermissionResult, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListWithCreateSubPermissionResultInternal + { + + /// Internal Acessors for NextLink + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListWithCreateSubPermissionResultInternal.NextLink { get => this._nextLink; set { {_nextLink = value;} } } + + /// Backing field for property. + private string _nextLink; + + /// The link (url) to the next page of results. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string NextLink { get => this._nextLink; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermission[] _value; + + /// The list of invoice section properties with create subscription permission. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermission[] Value { get => this._value; set => this._value = value; } + + /// + /// Creates an new instance. + /// + public InvoiceSectionListWithCreateSubPermissionResult() + { + + } + } + /// The list of invoice section properties with create subscription permission. + public partial interface IInvoiceSectionListWithCreateSubPermissionResult : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The link (url) to the next page of results. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The link (url) to the next page of results.", + SerializedName = @"nextLink", + PossibleTypes = new [] { typeof(string) })] + string NextLink { get; } + /// The list of invoice section properties with create subscription permission. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The list of invoice section properties with create subscription permission.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermission) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermission[] Value { get; set; } + + } + /// The list of invoice section properties with create subscription permission. + internal partial interface IInvoiceSectionListWithCreateSubPermissionResultInternal + + { + /// The link (url) to the next page of results. + string NextLink { get; set; } + /// The list of invoice section properties with create subscription permission. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermission[] Value { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionListWithCreateSubPermissionResult.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionListWithCreateSubPermissionResult.json.cs new file mode 100644 index 000000000000..a66063a4671c --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionListWithCreateSubPermissionResult.json.cs @@ -0,0 +1,124 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The list of invoice section properties with create subscription permission. + public partial class InvoiceSectionListWithCreateSubPermissionResult + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListWithCreateSubPermissionResult. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListWithCreateSubPermissionResult. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListWithCreateSubPermissionResult FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new InvoiceSectionListWithCreateSubPermissionResult(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal InvoiceSectionListWithCreateSubPermissionResult(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_value = If( json?.PropertyT("value"), out var __jsonValue) ? If( __jsonValue as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermission) (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionWithCreateSubPermission.FromJson(__u) )) ))() : null : Value;} + {_nextLink = If( json?.PropertyT("nextLink"), out var __jsonNextLink) ? (string)__jsonNextLink : (string)NextLink;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (null != this._value) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(); + foreach( var __x in this._value ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("value",__w); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._nextLink)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._nextLink.ToString()) : null, "nextLink" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionProperties.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionProperties.PowerShell.cs new file mode 100644 index 000000000000..5af5c8878ac4 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionProperties.PowerShell.cs @@ -0,0 +1,184 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The properties of an invoice section. + [System.ComponentModel.TypeConverter(typeof(InvoiceSectionPropertiesTypeConverter))] + public partial class InvoiceSectionProperties + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionProperties DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new InvoiceSectionProperties(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionProperties DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new InvoiceSectionProperties(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionProperties FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal InvoiceSectionProperties(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("DisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal)this).DisplayName = (string) content.GetValueForProperty("DisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal)this).DisplayName, global::System.Convert.ToString); + } + if (content.Contains("Label")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal)this).Label = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesLabels) content.GetValueForProperty("Label",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal)this).Label, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionPropertiesLabelsTypeConverter.ConvertFrom); + } + if (content.Contains("State")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal)this).State = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceSectionState?) content.GetValueForProperty("State",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal)this).State, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceSectionState.CreateFrom); + } + if (content.Contains("SystemId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal)this).SystemId = (string) content.GetValueForProperty("SystemId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal)this).SystemId, global::System.Convert.ToString); + } + if (content.Contains("Tag")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal)this).Tag = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesTags) content.GetValueForProperty("Tag",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal)this).Tag, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionPropertiesTagsTypeConverter.ConvertFrom); + } + if (content.Contains("TargetCloud")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal)this).TargetCloud = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud?) content.GetValueForProperty("TargetCloud",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal)this).TargetCloud, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud.CreateFrom); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal InvoiceSectionProperties(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("DisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal)this).DisplayName = (string) content.GetValueForProperty("DisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal)this).DisplayName, global::System.Convert.ToString); + } + if (content.Contains("Label")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal)this).Label = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesLabels) content.GetValueForProperty("Label",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal)this).Label, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionPropertiesLabelsTypeConverter.ConvertFrom); + } + if (content.Contains("State")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal)this).State = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceSectionState?) content.GetValueForProperty("State",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal)this).State, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceSectionState.CreateFrom); + } + if (content.Contains("SystemId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal)this).SystemId = (string) content.GetValueForProperty("SystemId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal)this).SystemId, global::System.Convert.ToString); + } + if (content.Contains("Tag")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal)this).Tag = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesTags) content.GetValueForProperty("Tag",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal)this).Tag, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionPropertiesTagsTypeConverter.ConvertFrom); + } + if (content.Contains("TargetCloud")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal)this).TargetCloud = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud?) content.GetValueForProperty("TargetCloud",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal)this).TargetCloud, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud.CreateFrom); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The properties of an invoice section. + [System.ComponentModel.TypeConverter(typeof(InvoiceSectionPropertiesTypeConverter))] + public partial interface IInvoiceSectionProperties + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionProperties.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionProperties.TypeConverter.cs new file mode 100644 index 000000000000..ba49fee5a9ed --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionProperties.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class InvoiceSectionPropertiesTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionProperties ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionProperties).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return InvoiceSectionProperties.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return InvoiceSectionProperties.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return InvoiceSectionProperties.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionProperties.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionProperties.cs new file mode 100644 index 000000000000..34372cd4547e --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionProperties.cs @@ -0,0 +1,163 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of an invoice section. + public partial class InvoiceSectionProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionProperties, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal + { + + /// Backing field for property. + private string _displayName; + + /// The name of the invoice section. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string DisplayName { get => this._displayName; set => this._displayName = value; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesLabels _label; + + /// Dictionary of metadata associated with the invoice section. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesLabels Label { get => (this._label = this._label ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionPropertiesLabels()); set => this._label = value; } + + /// Internal Acessors for State + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceSectionState? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal.State { get => this._state; set { {_state = value;} } } + + /// Internal Acessors for SystemId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal.SystemId { get => this._systemId; set { {_systemId = value;} } } + + /// Internal Acessors for TargetCloud + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesInternal.TargetCloud { get => this._targetCloud; set { {_targetCloud = value;} } } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceSectionState? _state; + + /// Identifies the state of an invoice section. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceSectionState? State { get => this._state; } + + /// Backing field for property. + private string _systemId; + + /// The system generated unique identifier for an invoice section. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string SystemId { get => this._systemId; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesTags _tag; + + /// + /// Dictionary of metadata associated with the invoice section. Maximum key/value length supported of 256 characters. Keys/value + /// should not empty value nor null. Keys can not contain < > % & \ ? / + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesTags Tag { get => (this._tag = this._tag ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionPropertiesTags()); set => this._tag = value; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud? _targetCloud; + + /// + /// Identifies the cloud environments that are associated with an invoice section. This is a system managed optional field + /// and gets updated as the invoice section gets associated with accounts in various clouds. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud? TargetCloud { get => this._targetCloud; } + + /// Creates an new instance. + public InvoiceSectionProperties() + { + + } + } + /// The properties of an invoice section. + public partial interface IInvoiceSectionProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The name of the invoice section. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the invoice section.", + SerializedName = @"displayName", + PossibleTypes = new [] { typeof(string) })] + string DisplayName { get; set; } + /// Dictionary of metadata associated with the invoice section. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Dictionary of metadata associated with the invoice section.", + SerializedName = @"labels", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesLabels) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesLabels Label { get; set; } + /// Identifies the state of an invoice section. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Identifies the state of an invoice section.", + SerializedName = @"state", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceSectionState) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceSectionState? State { get; } + /// The system generated unique identifier for an invoice section. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The system generated unique identifier for an invoice section.", + SerializedName = @"systemId", + PossibleTypes = new [] { typeof(string) })] + string SystemId { get; } + /// + /// Dictionary of metadata associated with the invoice section. Maximum key/value length supported of 256 characters. Keys/value + /// should not empty value nor null. Keys can not contain < > % & \ ? / + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Dictionary of metadata associated with the invoice section. Maximum key/value length supported of 256 characters. Keys/value should not empty value nor null. Keys can not contain < > % & \ ? /", + SerializedName = @"tags", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesTags) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesTags Tag { get; set; } + /// + /// Identifies the cloud environments that are associated with an invoice section. This is a system managed optional field + /// and gets updated as the invoice section gets associated with accounts in various clouds. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Identifies the cloud environments that are associated with an invoice section. This is a system managed optional field and gets updated as the invoice section gets associated with accounts in various clouds.", + SerializedName = @"targetCloud", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud? TargetCloud { get; } + + } + /// The properties of an invoice section. + internal partial interface IInvoiceSectionPropertiesInternal + + { + /// The name of the invoice section. + string DisplayName { get; set; } + /// Dictionary of metadata associated with the invoice section. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesLabels Label { get; set; } + /// Identifies the state of an invoice section. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceSectionState? State { get; set; } + /// The system generated unique identifier for an invoice section. + string SystemId { get; set; } + /// + /// Dictionary of metadata associated with the invoice section. Maximum key/value length supported of 256 characters. Keys/value + /// should not empty value nor null. Keys can not contain < > % & \ ? / + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesTags Tag { get; set; } + /// + /// Identifies the cloud environments that are associated with an invoice section. This is a system managed optional field + /// and gets updated as the invoice section gets associated with accounts in various clouds. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud? TargetCloud { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionProperties.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionProperties.json.cs new file mode 100644 index 000000000000..f5e6c1c797f9 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionProperties.json.cs @@ -0,0 +1,127 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of an invoice section. + public partial class InvoiceSectionProperties + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionProperties. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionProperties. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionProperties FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new InvoiceSectionProperties(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal InvoiceSectionProperties(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_displayName = If( json?.PropertyT("displayName"), out var __jsonDisplayName) ? (string)__jsonDisplayName : (string)DisplayName;} + {_label = If( json?.PropertyT("labels"), out var __jsonLabels) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionPropertiesLabels.FromJson(__jsonLabels) : Label;} + {_state = If( json?.PropertyT("state"), out var __jsonState) ? (string)__jsonState : (string)State;} + {_systemId = If( json?.PropertyT("systemId"), out var __jsonSystemId) ? (string)__jsonSystemId : (string)SystemId;} + {_tag = If( json?.PropertyT("tags"), out var __jsonTags) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionPropertiesTags.FromJson(__jsonTags) : Tag;} + {_targetCloud = If( json?.PropertyT("targetCloud"), out var __jsonTargetCloud) ? (string)__jsonTargetCloud : (string)TargetCloud;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != (((object)this._displayName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._displayName.ToString()) : null, "displayName" ,container.Add ); + AddIf( null != this._label ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._label.ToJson(null,serializationMode) : null, "labels" ,container.Add ); + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._state)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._state.ToString()) : null, "state" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._systemId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._systemId.ToString()) : null, "systemId" ,container.Add ); + } + AddIf( null != this._tag ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._tag.ToJson(null,serializationMode) : null, "tags" ,container.Add ); + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._targetCloud)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._targetCloud.ToString()) : null, "targetCloud" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionPropertiesLabels.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionPropertiesLabels.PowerShell.cs new file mode 100644 index 000000000000..f513424b5ede --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionPropertiesLabels.PowerShell.cs @@ -0,0 +1,142 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// Dictionary of metadata associated with the invoice section. + [System.ComponentModel.TypeConverter(typeof(InvoiceSectionPropertiesLabelsTypeConverter))] + public partial class InvoiceSectionPropertiesLabels + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesLabels DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new InvoiceSectionPropertiesLabels(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesLabels DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new InvoiceSectionPropertiesLabels(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesLabels FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal InvoiceSectionPropertiesLabels(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + // this type is a dictionary; copy elements from source to here. + CopyFrom(content); + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal InvoiceSectionPropertiesLabels(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + // this type is a dictionary; copy elements from source to here. + CopyFrom(content); + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Dictionary of metadata associated with the invoice section. + [System.ComponentModel.TypeConverter(typeof(InvoiceSectionPropertiesLabelsTypeConverter))] + public partial interface IInvoiceSectionPropertiesLabels + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionPropertiesLabels.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionPropertiesLabels.TypeConverter.cs new file mode 100644 index 000000000000..3ceb99c332f4 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionPropertiesLabels.TypeConverter.cs @@ -0,0 +1,148 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class InvoiceSectionPropertiesLabelsTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesLabels ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesLabels).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return InvoiceSectionPropertiesLabels.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return InvoiceSectionPropertiesLabels.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return InvoiceSectionPropertiesLabels.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionPropertiesLabels.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionPropertiesLabels.cs new file mode 100644 index 000000000000..7219371ae4fe --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionPropertiesLabels.cs @@ -0,0 +1,35 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// Dictionary of metadata associated with the invoice section. + public partial class InvoiceSectionPropertiesLabels : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesLabels, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesLabelsInternal + { + + /// Creates an new instance. + public InvoiceSectionPropertiesLabels() + { + + } + } + /// Dictionary of metadata associated with the invoice section. + public partial interface IInvoiceSectionPropertiesLabels : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IAssociativeArray + { + + } + /// Dictionary of metadata associated with the invoice section. + internal partial interface IInvoiceSectionPropertiesLabelsInternal + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionPropertiesLabels.dictionary.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionPropertiesLabels.dictionary.cs new file mode 100644 index 000000000000..b4b0f38b4a9b --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionPropertiesLabels.dictionary.cs @@ -0,0 +1,75 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + public partial class InvoiceSectionPropertiesLabels : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IAssociativeArray + { + protected global::System.Collections.Generic.Dictionary __additionalProperties = new global::System.Collections.Generic.Dictionary(); + + global::System.Collections.Generic.IDictionary Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IAssociativeArray.AdditionalProperties { get => __additionalProperties; } + + int Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IAssociativeArray.Count { get => __additionalProperties.Count; } + + global::System.Collections.Generic.IEnumerable Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IAssociativeArray.Keys { get => __additionalProperties.Keys; } + + global::System.Collections.Generic.IEnumerable Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IAssociativeArray.Values { get => __additionalProperties.Values; } + + public string this[global::System.String index] { get => __additionalProperties[index]; set => __additionalProperties[index] = value; } + + /// + /// + public void Add(global::System.String key, string value) => __additionalProperties.Add( key, value); + + public void Clear() => __additionalProperties.Clear(); + + /// + public bool ContainsKey(global::System.String key) => __additionalProperties.ContainsKey( key); + + /// + public void CopyFrom(global::System.Collections.IDictionary source) + { + if (null != source) + { + foreach( var property in Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.TypeConverterExtensions.GetFilteredProperties(source, new global::System.Collections.Generic.HashSet() { } ) ) + { + if ((null != property.Key && null != property.Value)) + { + this.__additionalProperties.Add(property.Key.ToString(), global::System.Management.Automation.LanguagePrimitives.ConvertTo( property.Value)); + } + } + } + } + + /// + public void CopyFrom(global::System.Management.Automation.PSObject source) + { + if (null != source) + { + foreach( var property in Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.TypeConverterExtensions.GetFilteredProperties(source, new global::System.Collections.Generic.HashSet() { } ) ) + { + if ((null != property.Key && null != property.Value)) + { + this.__additionalProperties.Add(property.Key.ToString(), global::System.Management.Automation.LanguagePrimitives.ConvertTo( property.Value)); + } + } + } + } + + /// + public bool Remove(global::System.String key) => __additionalProperties.Remove( key); + + /// + /// + public bool TryGetValue(global::System.String key, out string value) => __additionalProperties.TryGetValue( key, out value); + + /// + + public static implicit operator global::System.Collections.Generic.Dictionary(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionPropertiesLabels source) => source.__additionalProperties; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionPropertiesLabels.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionPropertiesLabels.json.cs new file mode 100644 index 000000000000..4a6bb3a08e0e --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionPropertiesLabels.json.cs @@ -0,0 +1,109 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// Dictionary of metadata associated with the invoice section. + public partial class InvoiceSectionPropertiesLabels + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesLabels. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesLabels. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesLabels FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new InvoiceSectionPropertiesLabels(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + /// + internal InvoiceSectionPropertiesLabels(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, global::System.Collections.Generic.HashSet exclusions = null) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.JsonSerializable.FromJson( json, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IAssociativeArray)this).AdditionalProperties, null ,exclusions ); + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.JsonSerializable.ToJson( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IAssociativeArray)this).AdditionalProperties, container); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionPropertiesTags.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionPropertiesTags.PowerShell.cs new file mode 100644 index 000000000000..e05f0d3a264c --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionPropertiesTags.PowerShell.cs @@ -0,0 +1,146 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// Dictionary of metadata associated with the invoice section. Maximum key/value length supported of 256 characters. Keys/value + /// should not empty value nor null. Keys can not contain < > % & \ ? / + /// + [System.ComponentModel.TypeConverter(typeof(InvoiceSectionPropertiesTagsTypeConverter))] + public partial class InvoiceSectionPropertiesTags + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesTags DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new InvoiceSectionPropertiesTags(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesTags DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new InvoiceSectionPropertiesTags(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesTags FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal InvoiceSectionPropertiesTags(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + // this type is a dictionary; copy elements from source to here. + CopyFrom(content); + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal InvoiceSectionPropertiesTags(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + // this type is a dictionary; copy elements from source to here. + CopyFrom(content); + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Dictionary of metadata associated with the invoice section. Maximum key/value length supported of 256 characters. Keys/value + /// should not empty value nor null. Keys can not contain < > % & \ ? / + [System.ComponentModel.TypeConverter(typeof(InvoiceSectionPropertiesTagsTypeConverter))] + public partial interface IInvoiceSectionPropertiesTags + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionPropertiesTags.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionPropertiesTags.TypeConverter.cs new file mode 100644 index 000000000000..fb108e18ee9d --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionPropertiesTags.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class InvoiceSectionPropertiesTagsTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesTags ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesTags).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return InvoiceSectionPropertiesTags.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return InvoiceSectionPropertiesTags.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return InvoiceSectionPropertiesTags.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionPropertiesTags.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionPropertiesTags.cs new file mode 100644 index 000000000000..0121578430ab --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionPropertiesTags.cs @@ -0,0 +1,40 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// + /// Dictionary of metadata associated with the invoice section. Maximum key/value length supported of 256 characters. Keys/value + /// should not empty value nor null. Keys can not contain < > % & \ ? / + /// + public partial class InvoiceSectionPropertiesTags : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesTags, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesTagsInternal + { + + /// Creates an new instance. + public InvoiceSectionPropertiesTags() + { + + } + } + /// Dictionary of metadata associated with the invoice section. Maximum key/value length supported of 256 characters. Keys/value + /// should not empty value nor null. Keys can not contain < > % & \ ? / + public partial interface IInvoiceSectionPropertiesTags : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IAssociativeArray + { + + } + /// Dictionary of metadata associated with the invoice section. Maximum key/value length supported of 256 characters. Keys/value + /// should not empty value nor null. Keys can not contain < > % & \ ? / + internal partial interface IInvoiceSectionPropertiesTagsInternal + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionPropertiesTags.dictionary.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionPropertiesTags.dictionary.cs new file mode 100644 index 000000000000..5f4444959b65 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionPropertiesTags.dictionary.cs @@ -0,0 +1,75 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + public partial class InvoiceSectionPropertiesTags : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IAssociativeArray + { + protected global::System.Collections.Generic.Dictionary __additionalProperties = new global::System.Collections.Generic.Dictionary(); + + global::System.Collections.Generic.IDictionary Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IAssociativeArray.AdditionalProperties { get => __additionalProperties; } + + int Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IAssociativeArray.Count { get => __additionalProperties.Count; } + + global::System.Collections.Generic.IEnumerable Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IAssociativeArray.Keys { get => __additionalProperties.Keys; } + + global::System.Collections.Generic.IEnumerable Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IAssociativeArray.Values { get => __additionalProperties.Values; } + + public string this[global::System.String index] { get => __additionalProperties[index]; set => __additionalProperties[index] = value; } + + /// + /// + public void Add(global::System.String key, string value) => __additionalProperties.Add( key, value); + + public void Clear() => __additionalProperties.Clear(); + + /// + public bool ContainsKey(global::System.String key) => __additionalProperties.ContainsKey( key); + + /// + public void CopyFrom(global::System.Collections.IDictionary source) + { + if (null != source) + { + foreach( var property in Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.TypeConverterExtensions.GetFilteredProperties(source, new global::System.Collections.Generic.HashSet() { } ) ) + { + if ((null != property.Key && null != property.Value)) + { + this.__additionalProperties.Add(property.Key.ToString(), global::System.Management.Automation.LanguagePrimitives.ConvertTo( property.Value)); + } + } + } + } + + /// + public void CopyFrom(global::System.Management.Automation.PSObject source) + { + if (null != source) + { + foreach( var property in Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.TypeConverterExtensions.GetFilteredProperties(source, new global::System.Collections.Generic.HashSet() { } ) ) + { + if ((null != property.Key && null != property.Value)) + { + this.__additionalProperties.Add(property.Key.ToString(), global::System.Management.Automation.LanguagePrimitives.ConvertTo( property.Value)); + } + } + } + } + + /// + public bool Remove(global::System.String key) => __additionalProperties.Remove( key); + + /// + /// + public bool TryGetValue(global::System.String key, out string value) => __additionalProperties.TryGetValue( key, out value); + + /// + + public static implicit operator global::System.Collections.Generic.Dictionary(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionPropertiesTags source) => source.__additionalProperties; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionPropertiesTags.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionPropertiesTags.json.cs new file mode 100644 index 000000000000..2f34c1089f42 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionPropertiesTags.json.cs @@ -0,0 +1,112 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// + /// Dictionary of metadata associated with the invoice section. Maximum key/value length supported of 256 characters. Keys/value + /// should not empty value nor null. Keys can not contain < > % & \ ? / + /// + public partial class InvoiceSectionPropertiesTags + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesTags. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesTags. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesTags FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new InvoiceSectionPropertiesTags(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + /// + internal InvoiceSectionPropertiesTags(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, global::System.Collections.Generic.HashSet exclusions = null) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.JsonSerializable.FromJson( json, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IAssociativeArray)this).AdditionalProperties, null ,exclusions ); + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.JsonSerializable.ToJson( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IAssociativeArray)this).AdditionalProperties, container); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionWithCreateSubPermission.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionWithCreateSubPermission.PowerShell.cs new file mode 100644 index 000000000000..b7521d3f8341 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionWithCreateSubPermission.PowerShell.cs @@ -0,0 +1,221 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// Invoice section properties with create subscription permission. + [System.ComponentModel.TypeConverter(typeof(InvoiceSectionWithCreateSubPermissionTypeConverter))] + public partial class InvoiceSectionWithCreateSubPermission + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermission DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new InvoiceSectionWithCreateSubPermission(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermission DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new InvoiceSectionWithCreateSubPermission(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json + /// string. + /// + /// a string containing a JSON serialized instance of this model. + /// + /// an instance of the model class. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermission FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal InvoiceSectionWithCreateSubPermission(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("InvoiceSectionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal)this).InvoiceSectionId = (string) content.GetValueForProperty("InvoiceSectionId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal)this).InvoiceSectionId, global::System.Convert.ToString); + } + if (content.Contains("InvoiceSectionDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal)this).InvoiceSectionDisplayName = (string) content.GetValueForProperty("InvoiceSectionDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal)this).InvoiceSectionDisplayName, global::System.Convert.ToString); + } + if (content.Contains("InvoiceSectionSystemId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal)this).InvoiceSectionSystemId = (string) content.GetValueForProperty("InvoiceSectionSystemId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal)this).InvoiceSectionSystemId, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal)this).BillingProfileId = (string) content.GetValueForProperty("BillingProfileId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal)this).BillingProfileId, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal)this).BillingProfileDisplayName = (string) content.GetValueForProperty("BillingProfileDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal)this).BillingProfileDisplayName, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileStatus")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal)this).BillingProfileStatus = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus?) content.GetValueForProperty("BillingProfileStatus",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal)this).BillingProfileStatus, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus.CreateFrom); + } + if (content.Contains("BillingProfileStatusReasonCode")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal)this).BillingProfileStatusReasonCode = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCodeForBillingProfile?) content.GetValueForProperty("BillingProfileStatusReasonCode",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal)this).BillingProfileStatusReasonCode, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCodeForBillingProfile.CreateFrom); + } + if (content.Contains("BillingProfileSpendingLimit")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal)this).BillingProfileSpendingLimit = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimitForBillingProfile?) content.GetValueForProperty("BillingProfileSpendingLimit",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal)this).BillingProfileSpendingLimit, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimitForBillingProfile.CreateFrom); + } + if (content.Contains("BillingProfileSystemId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal)this).BillingProfileSystemId = (string) content.GetValueForProperty("BillingProfileSystemId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal)this).BillingProfileSystemId, global::System.Convert.ToString); + } + if (content.Contains("EnabledAzurePlan")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal)this).EnabledAzurePlan = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan[]) content.GetValueForProperty("EnabledAzurePlan",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal)this).EnabledAzurePlan, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AzurePlanTypeConverter.ConvertFrom)); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal InvoiceSectionWithCreateSubPermission(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("InvoiceSectionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal)this).InvoiceSectionId = (string) content.GetValueForProperty("InvoiceSectionId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal)this).InvoiceSectionId, global::System.Convert.ToString); + } + if (content.Contains("InvoiceSectionDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal)this).InvoiceSectionDisplayName = (string) content.GetValueForProperty("InvoiceSectionDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal)this).InvoiceSectionDisplayName, global::System.Convert.ToString); + } + if (content.Contains("InvoiceSectionSystemId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal)this).InvoiceSectionSystemId = (string) content.GetValueForProperty("InvoiceSectionSystemId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal)this).InvoiceSectionSystemId, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal)this).BillingProfileId = (string) content.GetValueForProperty("BillingProfileId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal)this).BillingProfileId, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal)this).BillingProfileDisplayName = (string) content.GetValueForProperty("BillingProfileDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal)this).BillingProfileDisplayName, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileStatus")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal)this).BillingProfileStatus = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus?) content.GetValueForProperty("BillingProfileStatus",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal)this).BillingProfileStatus, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus.CreateFrom); + } + if (content.Contains("BillingProfileStatusReasonCode")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal)this).BillingProfileStatusReasonCode = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCodeForBillingProfile?) content.GetValueForProperty("BillingProfileStatusReasonCode",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal)this).BillingProfileStatusReasonCode, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCodeForBillingProfile.CreateFrom); + } + if (content.Contains("BillingProfileSpendingLimit")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal)this).BillingProfileSpendingLimit = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimitForBillingProfile?) content.GetValueForProperty("BillingProfileSpendingLimit",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal)this).BillingProfileSpendingLimit, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimitForBillingProfile.CreateFrom); + } + if (content.Contains("BillingProfileSystemId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal)this).BillingProfileSystemId = (string) content.GetValueForProperty("BillingProfileSystemId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal)this).BillingProfileSystemId, global::System.Convert.ToString); + } + if (content.Contains("EnabledAzurePlan")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal)this).EnabledAzurePlan = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan[]) content.GetValueForProperty("EnabledAzurePlan",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal)this).EnabledAzurePlan, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AzurePlanTypeConverter.ConvertFrom)); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Invoice section properties with create subscription permission. + [System.ComponentModel.TypeConverter(typeof(InvoiceSectionWithCreateSubPermissionTypeConverter))] + public partial interface IInvoiceSectionWithCreateSubPermission + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionWithCreateSubPermission.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionWithCreateSubPermission.TypeConverter.cs new file mode 100644 index 000000000000..ed20afc711b1 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionWithCreateSubPermission.TypeConverter.cs @@ -0,0 +1,150 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class InvoiceSectionWithCreateSubPermissionTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise + /// false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermission ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermission).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return InvoiceSectionWithCreateSubPermission.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return InvoiceSectionWithCreateSubPermission.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return InvoiceSectionWithCreateSubPermission.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionWithCreateSubPermission.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionWithCreateSubPermission.cs new file mode 100644 index 000000000000..e899542aff08 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionWithCreateSubPermission.cs @@ -0,0 +1,231 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// Invoice section properties with create subscription permission. + public partial class InvoiceSectionWithCreateSubPermission : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermission, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal + { + + /// Backing field for property. + private string _billingProfileDisplayName; + + /// The name of the billing profile for the invoice section. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string BillingProfileDisplayName { get => this._billingProfileDisplayName; } + + /// Backing field for property. + private string _billingProfileId; + + /// The ID of the billing profile for the invoice section. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string BillingProfileId { get => this._billingProfileId; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimitForBillingProfile? _billingProfileSpendingLimit; + + /// The billing profile spending limit. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimitForBillingProfile? BillingProfileSpendingLimit { get => this._billingProfileSpendingLimit; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus? _billingProfileStatus; + + /// The status of the billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus? BillingProfileStatus { get => this._billingProfileStatus; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCodeForBillingProfile? _billingProfileStatusReasonCode; + + /// Reason for the specified billing profile status. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCodeForBillingProfile? BillingProfileStatusReasonCode { get => this._billingProfileStatusReasonCode; } + + /// Backing field for property. + private string _billingProfileSystemId; + + /// The system generated unique identifier for a billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string BillingProfileSystemId { get => this._billingProfileSystemId; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan[] _enabledAzurePlan; + + /// Enabled azure plans for the associated billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan[] EnabledAzurePlan { get => this._enabledAzurePlan; set => this._enabledAzurePlan = value; } + + /// Backing field for property. + private string _invoiceSectionDisplayName; + + /// The name of the invoice section. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string InvoiceSectionDisplayName { get => this._invoiceSectionDisplayName; } + + /// Backing field for property. + private string _invoiceSectionId; + + /// The ID of the invoice section. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string InvoiceSectionId { get => this._invoiceSectionId; } + + /// Backing field for property. + private string _invoiceSectionSystemId; + + /// The system generated unique identifier for an invoice section. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string InvoiceSectionSystemId { get => this._invoiceSectionSystemId; } + + /// Internal Acessors for BillingProfileDisplayName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal.BillingProfileDisplayName { get => this._billingProfileDisplayName; set { {_billingProfileDisplayName = value;} } } + + /// Internal Acessors for BillingProfileId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal.BillingProfileId { get => this._billingProfileId; set { {_billingProfileId = value;} } } + + /// Internal Acessors for BillingProfileSpendingLimit + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimitForBillingProfile? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal.BillingProfileSpendingLimit { get => this._billingProfileSpendingLimit; set { {_billingProfileSpendingLimit = value;} } } + + /// Internal Acessors for BillingProfileStatus + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal.BillingProfileStatus { get => this._billingProfileStatus; set { {_billingProfileStatus = value;} } } + + /// Internal Acessors for BillingProfileStatusReasonCode + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCodeForBillingProfile? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal.BillingProfileStatusReasonCode { get => this._billingProfileStatusReasonCode; set { {_billingProfileStatusReasonCode = value;} } } + + /// Internal Acessors for BillingProfileSystemId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal.BillingProfileSystemId { get => this._billingProfileSystemId; set { {_billingProfileSystemId = value;} } } + + /// Internal Acessors for InvoiceSectionDisplayName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal.InvoiceSectionDisplayName { get => this._invoiceSectionDisplayName; set { {_invoiceSectionDisplayName = value;} } } + + /// Internal Acessors for InvoiceSectionId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal.InvoiceSectionId { get => this._invoiceSectionId; set { {_invoiceSectionId = value;} } } + + /// Internal Acessors for InvoiceSectionSystemId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermissionInternal.InvoiceSectionSystemId { get => this._invoiceSectionSystemId; set { {_invoiceSectionSystemId = value;} } } + + /// Creates an new instance. + public InvoiceSectionWithCreateSubPermission() + { + + } + } + /// Invoice section properties with create subscription permission. + public partial interface IInvoiceSectionWithCreateSubPermission : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The name of the billing profile for the invoice section. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the billing profile for the invoice section.", + SerializedName = @"billingProfileDisplayName", + PossibleTypes = new [] { typeof(string) })] + string BillingProfileDisplayName { get; } + /// The ID of the billing profile for the invoice section. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the billing profile for the invoice section.", + SerializedName = @"billingProfileId", + PossibleTypes = new [] { typeof(string) })] + string BillingProfileId { get; } + /// The billing profile spending limit. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The billing profile spending limit.", + SerializedName = @"billingProfileSpendingLimit", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimitForBillingProfile) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimitForBillingProfile? BillingProfileSpendingLimit { get; } + /// The status of the billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The status of the billing profile.", + SerializedName = @"billingProfileStatus", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus? BillingProfileStatus { get; } + /// Reason for the specified billing profile status. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Reason for the specified billing profile status.", + SerializedName = @"billingProfileStatusReasonCode", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCodeForBillingProfile) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCodeForBillingProfile? BillingProfileStatusReasonCode { get; } + /// The system generated unique identifier for a billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The system generated unique identifier for a billing profile.", + SerializedName = @"billingProfileSystemId", + PossibleTypes = new [] { typeof(string) })] + string BillingProfileSystemId { get; } + /// Enabled azure plans for the associated billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Enabled azure plans for the associated billing profile.", + SerializedName = @"enabledAzurePlans", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan[] EnabledAzurePlan { get; set; } + /// The name of the invoice section. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the invoice section.", + SerializedName = @"invoiceSectionDisplayName", + PossibleTypes = new [] { typeof(string) })] + string InvoiceSectionDisplayName { get; } + /// The ID of the invoice section. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the invoice section.", + SerializedName = @"invoiceSectionId", + PossibleTypes = new [] { typeof(string) })] + string InvoiceSectionId { get; } + /// The system generated unique identifier for an invoice section. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The system generated unique identifier for an invoice section.", + SerializedName = @"invoiceSectionSystemId", + PossibleTypes = new [] { typeof(string) })] + string InvoiceSectionSystemId { get; } + + } + /// Invoice section properties with create subscription permission. + internal partial interface IInvoiceSectionWithCreateSubPermissionInternal + + { + /// The name of the billing profile for the invoice section. + string BillingProfileDisplayName { get; set; } + /// The ID of the billing profile for the invoice section. + string BillingProfileId { get; set; } + /// The billing profile spending limit. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimitForBillingProfile? BillingProfileSpendingLimit { get; set; } + /// The status of the billing profile. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus? BillingProfileStatus { get; set; } + /// Reason for the specified billing profile status. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCodeForBillingProfile? BillingProfileStatusReasonCode { get; set; } + /// The system generated unique identifier for a billing profile. + string BillingProfileSystemId { get; set; } + /// Enabled azure plans for the associated billing profile. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan[] EnabledAzurePlan { get; set; } + /// The name of the invoice section. + string InvoiceSectionDisplayName { get; set; } + /// The ID of the invoice section. + string InvoiceSectionId { get; set; } + /// The system generated unique identifier for an invoice section. + string InvoiceSectionSystemId { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionWithCreateSubPermission.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionWithCreateSubPermission.json.cs new file mode 100644 index 000000000000..bfbbce04e4dd --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionWithCreateSubPermission.json.cs @@ -0,0 +1,162 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// Invoice section properties with create subscription permission. + public partial class InvoiceSectionWithCreateSubPermission + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermission. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermission. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermission FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new InvoiceSectionWithCreateSubPermission(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal InvoiceSectionWithCreateSubPermission(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_invoiceSectionId = If( json?.PropertyT("invoiceSectionId"), out var __jsonInvoiceSectionId) ? (string)__jsonInvoiceSectionId : (string)InvoiceSectionId;} + {_invoiceSectionDisplayName = If( json?.PropertyT("invoiceSectionDisplayName"), out var __jsonInvoiceSectionDisplayName) ? (string)__jsonInvoiceSectionDisplayName : (string)InvoiceSectionDisplayName;} + {_invoiceSectionSystemId = If( json?.PropertyT("invoiceSectionSystemId"), out var __jsonInvoiceSectionSystemId) ? (string)__jsonInvoiceSectionSystemId : (string)InvoiceSectionSystemId;} + {_billingProfileId = If( json?.PropertyT("billingProfileId"), out var __jsonBillingProfileId) ? (string)__jsonBillingProfileId : (string)BillingProfileId;} + {_billingProfileDisplayName = If( json?.PropertyT("billingProfileDisplayName"), out var __jsonBillingProfileDisplayName) ? (string)__jsonBillingProfileDisplayName : (string)BillingProfileDisplayName;} + {_billingProfileStatus = If( json?.PropertyT("billingProfileStatus"), out var __jsonBillingProfileStatus) ? (string)__jsonBillingProfileStatus : (string)BillingProfileStatus;} + {_billingProfileStatusReasonCode = If( json?.PropertyT("billingProfileStatusReasonCode"), out var __jsonBillingProfileStatusReasonCode) ? (string)__jsonBillingProfileStatusReasonCode : (string)BillingProfileStatusReasonCode;} + {_billingProfileSpendingLimit = If( json?.PropertyT("billingProfileSpendingLimit"), out var __jsonBillingProfileSpendingLimit) ? (string)__jsonBillingProfileSpendingLimit : (string)BillingProfileSpendingLimit;} + {_billingProfileSystemId = If( json?.PropertyT("billingProfileSystemId"), out var __jsonBillingProfileSystemId) ? (string)__jsonBillingProfileSystemId : (string)BillingProfileSystemId;} + {_enabledAzurePlan = If( json?.PropertyT("enabledAzurePlans"), out var __jsonEnabledAzurePlans) ? If( __jsonEnabledAzurePlans as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan) (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AzurePlan.FromJson(__u) )) ))() : null : EnabledAzurePlan;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._invoiceSectionId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._invoiceSectionId.ToString()) : null, "invoiceSectionId" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._invoiceSectionDisplayName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._invoiceSectionDisplayName.ToString()) : null, "invoiceSectionDisplayName" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._invoiceSectionSystemId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._invoiceSectionSystemId.ToString()) : null, "invoiceSectionSystemId" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._billingProfileId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._billingProfileId.ToString()) : null, "billingProfileId" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._billingProfileDisplayName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._billingProfileDisplayName.ToString()) : null, "billingProfileDisplayName" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._billingProfileStatus)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._billingProfileStatus.ToString()) : null, "billingProfileStatus" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._billingProfileStatusReasonCode)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._billingProfileStatusReasonCode.ToString()) : null, "billingProfileStatusReasonCode" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._billingProfileSpendingLimit)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._billingProfileSpendingLimit.ToString()) : null, "billingProfileSpendingLimit" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._billingProfileSystemId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._billingProfileSystemId.ToString()) : null, "billingProfileSystemId" ,container.Add ); + } + if (null != this._enabledAzurePlan) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(); + foreach( var __x in this._enabledAzurePlan ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("enabledAzurePlans",__w); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionsOnExpand.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionsOnExpand.PowerShell.cs new file mode 100644 index 000000000000..5e436c1a18be --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionsOnExpand.PowerShell.cs @@ -0,0 +1,154 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// The invoice sections associated to the billing profile. By default this is not populated, unless it's specified in $expand. + /// + [System.ComponentModel.TypeConverter(typeof(InvoiceSectionsOnExpandTypeConverter))] + public partial class InvoiceSectionsOnExpand + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionsOnExpand DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new InvoiceSectionsOnExpand(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionsOnExpand DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new InvoiceSectionsOnExpand(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionsOnExpand FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal InvoiceSectionsOnExpand(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("HasMoreResult")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionsOnExpandInternal)this).HasMoreResult = (bool?) content.GetValueForProperty("HasMoreResult",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionsOnExpandInternal)this).HasMoreResult, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionsOnExpandInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionsOnExpandInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionTypeConverter.ConvertFrom)); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal InvoiceSectionsOnExpand(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("HasMoreResult")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionsOnExpandInternal)this).HasMoreResult = (bool?) content.GetValueForProperty("HasMoreResult",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionsOnExpandInternal)this).HasMoreResult, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionsOnExpandInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionsOnExpandInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSectionTypeConverter.ConvertFrom)); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The invoice sections associated to the billing profile. By default this is not populated, unless it's specified in $expand. + [System.ComponentModel.TypeConverter(typeof(InvoiceSectionsOnExpandTypeConverter))] + public partial interface IInvoiceSectionsOnExpand + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionsOnExpand.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionsOnExpand.TypeConverter.cs new file mode 100644 index 000000000000..219256445356 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionsOnExpand.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class InvoiceSectionsOnExpandTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionsOnExpand ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionsOnExpand).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return InvoiceSectionsOnExpand.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return InvoiceSectionsOnExpand.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return InvoiceSectionsOnExpand.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionsOnExpand.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionsOnExpand.cs new file mode 100644 index 000000000000..21fe0fa5ded5 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionsOnExpand.cs @@ -0,0 +1,82 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// + /// The invoice sections associated to the billing profile. By default this is not populated, unless it's specified in $expand. + /// + public partial class InvoiceSectionsOnExpand : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionsOnExpand, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionsOnExpandInternal + { + + /// Backing field for property. + private bool? _hasMoreResult; + + /// + /// Indicates whether there are more invoice sections than the ones listed in this collection. The collection lists a maximum + /// of 50 invoice sections. To get all invoice sections, use the list invoice sections API. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public bool? HasMoreResult { get => this._hasMoreResult; } + + /// Internal Acessors for HasMoreResult + bool? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionsOnExpandInternal.HasMoreResult { get => this._hasMoreResult; set { {_hasMoreResult = value;} } } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection[] _value; + + /// The invoice sections associated to the billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection[] Value { get => this._value; set => this._value = value; } + + /// Creates an new instance. + public InvoiceSectionsOnExpand() + { + + } + } + /// The invoice sections associated to the billing profile. By default this is not populated, unless it's specified in $expand. + public partial interface IInvoiceSectionsOnExpand : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// + /// Indicates whether there are more invoice sections than the ones listed in this collection. The collection lists a maximum + /// of 50 invoice sections. To get all invoice sections, use the list invoice sections API. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Indicates whether there are more invoice sections than the ones listed in this collection. The collection lists a maximum of 50 invoice sections. To get all invoice sections, use the list invoice sections API.", + SerializedName = @"hasMoreResults", + PossibleTypes = new [] { typeof(bool) })] + bool? HasMoreResult { get; } + /// The invoice sections associated to the billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The invoice sections associated to the billing profile.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection[] Value { get; set; } + + } + /// The invoice sections associated to the billing profile. By default this is not populated, unless it's specified in $expand. + internal partial interface IInvoiceSectionsOnExpandInternal + + { + /// + /// Indicates whether there are more invoice sections than the ones listed in this collection. The collection lists a maximum + /// of 50 invoice sections. To get all invoice sections, use the list invoice sections API. + /// + bool? HasMoreResult { get; set; } + /// The invoice sections associated to the billing profile. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection[] Value { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionsOnExpand.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionsOnExpand.json.cs new file mode 100644 index 000000000000..a20587162d5a --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/InvoiceSectionsOnExpand.json.cs @@ -0,0 +1,123 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// + /// The invoice sections associated to the billing profile. By default this is not populated, unless it's specified in $expand. + /// + public partial class InvoiceSectionsOnExpand + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionsOnExpand. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionsOnExpand. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionsOnExpand FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new InvoiceSectionsOnExpand(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal InvoiceSectionsOnExpand(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_hasMoreResult = If( json?.PropertyT("hasMoreResults"), out var __jsonHasMoreResults) ? (bool?)__jsonHasMoreResults : HasMoreResult;} + {_value = If( json?.PropertyT("value"), out var __jsonValue) ? If( __jsonValue as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection) (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSection.FromJson(__u) )) ))() : null : Value;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._hasMoreResult ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonBoolean((bool)this._hasMoreResult) : null, "hasMoreResults" ,container.Add ); + } + if (null != this._value) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(); + foreach( var __x in this._value ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("value",__w); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Operation.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/Operation.PowerShell.cs new file mode 100644 index 000000000000..549f82b5d961 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Operation.PowerShell.cs @@ -0,0 +1,192 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// A Billing REST API operation. + [System.ComponentModel.TypeConverter(typeof(OperationTypeConverter))] + public partial class Operation + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperation DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new Operation(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperation DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new Operation(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperation FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal Operation(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Display")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationInternal)this).Display = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplay) content.GetValueForProperty("Display",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationInternal)this).Display, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.OperationDisplayTypeConverter.ConvertFrom); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("IsDataAction")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationInternal)this).IsDataAction = (bool?) content.GetValueForProperty("IsDataAction",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationInternal)this).IsDataAction, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("DisplayProvider")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationInternal)this).DisplayProvider = (string) content.GetValueForProperty("DisplayProvider",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationInternal)this).DisplayProvider, global::System.Convert.ToString); + } + if (content.Contains("DisplayResource")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationInternal)this).DisplayResource = (string) content.GetValueForProperty("DisplayResource",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationInternal)this).DisplayResource, global::System.Convert.ToString); + } + if (content.Contains("DisplayOperation")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationInternal)this).DisplayOperation = (string) content.GetValueForProperty("DisplayOperation",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationInternal)this).DisplayOperation, global::System.Convert.ToString); + } + if (content.Contains("DisplayDescription")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationInternal)this).DisplayDescription = (string) content.GetValueForProperty("DisplayDescription",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationInternal)this).DisplayDescription, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal Operation(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Display")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationInternal)this).Display = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplay) content.GetValueForProperty("Display",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationInternal)this).Display, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.OperationDisplayTypeConverter.ConvertFrom); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("IsDataAction")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationInternal)this).IsDataAction = (bool?) content.GetValueForProperty("IsDataAction",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationInternal)this).IsDataAction, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("DisplayProvider")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationInternal)this).DisplayProvider = (string) content.GetValueForProperty("DisplayProvider",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationInternal)this).DisplayProvider, global::System.Convert.ToString); + } + if (content.Contains("DisplayResource")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationInternal)this).DisplayResource = (string) content.GetValueForProperty("DisplayResource",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationInternal)this).DisplayResource, global::System.Convert.ToString); + } + if (content.Contains("DisplayOperation")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationInternal)this).DisplayOperation = (string) content.GetValueForProperty("DisplayOperation",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationInternal)this).DisplayOperation, global::System.Convert.ToString); + } + if (content.Contains("DisplayDescription")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationInternal)this).DisplayDescription = (string) content.GetValueForProperty("DisplayDescription",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationInternal)this).DisplayDescription, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// A Billing REST API operation. + [System.ComponentModel.TypeConverter(typeof(OperationTypeConverter))] + public partial interface IOperation + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Operation.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/Operation.TypeConverter.cs new file mode 100644 index 000000000000..f25c548b8ca7 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Operation.TypeConverter.cs @@ -0,0 +1,146 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class OperationTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperation ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperation).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return Operation.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return Operation.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return Operation.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Operation.cs b/swaggerci/billing/generated/api/Models/Api20200501/Operation.cs new file mode 100644 index 000000000000..14df58efb1a2 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Operation.cs @@ -0,0 +1,160 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// A Billing REST API operation. + public partial class Operation : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperation, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationInternal + { + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplay _display; + + /// The object that represents the operation. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplay Display { get => (this._display = this._display ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.OperationDisplay()); set => this._display = value; } + + /// Description of operation. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string DisplayDescription { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplayInternal)Display).Description; } + + /// Operation type such as read, write and delete. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string DisplayOperation { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplayInternal)Display).Operation; } + + /// Service provider: Microsoft.Billing. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string DisplayProvider { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplayInternal)Display).Provider; } + + /// + /// Resource on which the operation is performed such as invoice and billing subscription. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string DisplayResource { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplayInternal)Display).Resource; } + + /// Backing field for property. + private bool? _isDataAction; + + /// Identifies if the operation is a data operation. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public bool? IsDataAction { get => this._isDataAction; } + + /// Internal Acessors for Display + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplay Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationInternal.Display { get => (this._display = this._display ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.OperationDisplay()); set { {_display = value;} } } + + /// Internal Acessors for DisplayDescription + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationInternal.DisplayDescription { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplayInternal)Display).Description; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplayInternal)Display).Description = value; } + + /// Internal Acessors for DisplayOperation + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationInternal.DisplayOperation { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplayInternal)Display).Operation; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplayInternal)Display).Operation = value; } + + /// Internal Acessors for DisplayProvider + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationInternal.DisplayProvider { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplayInternal)Display).Provider; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplayInternal)Display).Provider = value; } + + /// Internal Acessors for DisplayResource + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationInternal.DisplayResource { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplayInternal)Display).Resource; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplayInternal)Display).Resource = value; } + + /// Internal Acessors for IsDataAction + bool? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationInternal.IsDataAction { get => this._isDataAction; set { {_isDataAction = value;} } } + + /// Internal Acessors for Name + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationInternal.Name { get => this._name; set { {_name = value;} } } + + /// Backing field for property. + private string _name; + + /// Operation name: {provider}/{resource}/{operation}. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Name { get => this._name; } + + /// Creates an new instance. + public Operation() + { + + } + } + /// A Billing REST API operation. + public partial interface IOperation : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// Description of operation. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Description of operation.", + SerializedName = @"description", + PossibleTypes = new [] { typeof(string) })] + string DisplayDescription { get; } + /// Operation type such as read, write and delete. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Operation type such as read, write and delete.", + SerializedName = @"operation", + PossibleTypes = new [] { typeof(string) })] + string DisplayOperation { get; } + /// Service provider: Microsoft.Billing. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Service provider: Microsoft.Billing.", + SerializedName = @"provider", + PossibleTypes = new [] { typeof(string) })] + string DisplayProvider { get; } + /// + /// Resource on which the operation is performed such as invoice and billing subscription. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Resource on which the operation is performed such as invoice and billing subscription.", + SerializedName = @"resource", + PossibleTypes = new [] { typeof(string) })] + string DisplayResource { get; } + /// Identifies if the operation is a data operation. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Identifies if the operation is a data operation.", + SerializedName = @"isDataAction", + PossibleTypes = new [] { typeof(bool) })] + bool? IsDataAction { get; } + /// Operation name: {provider}/{resource}/{operation}. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Operation name: {provider}/{resource}/{operation}.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + string Name { get; } + + } + /// A Billing REST API operation. + internal partial interface IOperationInternal + + { + /// The object that represents the operation. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplay Display { get; set; } + /// Description of operation. + string DisplayDescription { get; set; } + /// Operation type such as read, write and delete. + string DisplayOperation { get; set; } + /// Service provider: Microsoft.Billing. + string DisplayProvider { get; set; } + /// + /// Resource on which the operation is performed such as invoice and billing subscription. + /// + string DisplayResource { get; set; } + /// Identifies if the operation is a data operation. + bool? IsDataAction { get; set; } + /// Operation name: {provider}/{resource}/{operation}. + string Name { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Operation.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/Operation.json.cs new file mode 100644 index 000000000000..0f9df70d6eb8 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Operation.json.cs @@ -0,0 +1,118 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// A Billing REST API operation. + public partial class Operation + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperation. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperation. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperation FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new Operation(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal Operation(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_display = If( json?.PropertyT("display"), out var __jsonDisplay) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.OperationDisplay.FromJson(__jsonDisplay) : Display;} + {_name = If( json?.PropertyT("name"), out var __jsonName) ? (string)__jsonName : (string)Name;} + {_isDataAction = If( json?.PropertyT("isDataAction"), out var __jsonIsDataAction) ? (bool?)__jsonIsDataAction : IsDataAction;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != this._display ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._display.ToJson(null,serializationMode) : null, "display" ,container.Add ); + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._name)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._name.ToString()) : null, "name" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._isDataAction ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonBoolean((bool)this._isDataAction) : null, "isDataAction" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/OperationDisplay.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/OperationDisplay.PowerShell.cs new file mode 100644 index 000000000000..e13c9e2ff6e9 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/OperationDisplay.PowerShell.cs @@ -0,0 +1,168 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The object that represents the operation. + [System.ComponentModel.TypeConverter(typeof(OperationDisplayTypeConverter))] + public partial class OperationDisplay + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplay DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new OperationDisplay(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplay DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new OperationDisplay(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplay FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal OperationDisplay(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Provider")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplayInternal)this).Provider = (string) content.GetValueForProperty("Provider",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplayInternal)this).Provider, global::System.Convert.ToString); + } + if (content.Contains("Resource")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplayInternal)this).Resource = (string) content.GetValueForProperty("Resource",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplayInternal)this).Resource, global::System.Convert.ToString); + } + if (content.Contains("Operation")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplayInternal)this).Operation = (string) content.GetValueForProperty("Operation",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplayInternal)this).Operation, global::System.Convert.ToString); + } + if (content.Contains("Description")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplayInternal)this).Description = (string) content.GetValueForProperty("Description",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplayInternal)this).Description, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal OperationDisplay(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Provider")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplayInternal)this).Provider = (string) content.GetValueForProperty("Provider",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplayInternal)this).Provider, global::System.Convert.ToString); + } + if (content.Contains("Resource")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplayInternal)this).Resource = (string) content.GetValueForProperty("Resource",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplayInternal)this).Resource, global::System.Convert.ToString); + } + if (content.Contains("Operation")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplayInternal)this).Operation = (string) content.GetValueForProperty("Operation",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplayInternal)this).Operation, global::System.Convert.ToString); + } + if (content.Contains("Description")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplayInternal)this).Description = (string) content.GetValueForProperty("Description",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplayInternal)this).Description, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The object that represents the operation. + [System.ComponentModel.TypeConverter(typeof(OperationDisplayTypeConverter))] + public partial interface IOperationDisplay + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/OperationDisplay.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/OperationDisplay.TypeConverter.cs new file mode 100644 index 000000000000..4d3cdcba8d6a --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/OperationDisplay.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class OperationDisplayTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplay ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplay).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return OperationDisplay.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return OperationDisplay.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return OperationDisplay.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/OperationDisplay.cs b/swaggerci/billing/generated/api/Models/Api20200501/OperationDisplay.cs new file mode 100644 index 000000000000..301fadf974fc --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/OperationDisplay.cs @@ -0,0 +1,120 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The object that represents the operation. + public partial class OperationDisplay : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplay, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplayInternal + { + + /// Backing field for property. + private string _description; + + /// Description of operation. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Description { get => this._description; } + + /// Internal Acessors for Description + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplayInternal.Description { get => this._description; set { {_description = value;} } } + + /// Internal Acessors for Operation + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplayInternal.Operation { get => this._operation; set { {_operation = value;} } } + + /// Internal Acessors for Provider + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplayInternal.Provider { get => this._provider; set { {_provider = value;} } } + + /// Internal Acessors for Resource + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplayInternal.Resource { get => this._resource; set { {_resource = value;} } } + + /// Backing field for property. + private string _operation; + + /// Operation type such as read, write and delete. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Operation { get => this._operation; } + + /// Backing field for property. + private string _provider; + + /// Service provider: Microsoft.Billing. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Provider { get => this._provider; } + + /// Backing field for property. + private string _resource; + + /// + /// Resource on which the operation is performed such as invoice and billing subscription. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Resource { get => this._resource; } + + /// Creates an new instance. + public OperationDisplay() + { + + } + } + /// The object that represents the operation. + public partial interface IOperationDisplay : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// Description of operation. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Description of operation.", + SerializedName = @"description", + PossibleTypes = new [] { typeof(string) })] + string Description { get; } + /// Operation type such as read, write and delete. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Operation type such as read, write and delete.", + SerializedName = @"operation", + PossibleTypes = new [] { typeof(string) })] + string Operation { get; } + /// Service provider: Microsoft.Billing. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Service provider: Microsoft.Billing.", + SerializedName = @"provider", + PossibleTypes = new [] { typeof(string) })] + string Provider { get; } + /// + /// Resource on which the operation is performed such as invoice and billing subscription. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Resource on which the operation is performed such as invoice and billing subscription.", + SerializedName = @"resource", + PossibleTypes = new [] { typeof(string) })] + string Resource { get; } + + } + /// The object that represents the operation. + internal partial interface IOperationDisplayInternal + + { + /// Description of operation. + string Description { get; set; } + /// Operation type such as read, write and delete. + string Operation { get; set; } + /// Service provider: Microsoft.Billing. + string Provider { get; set; } + /// + /// Resource on which the operation is performed such as invoice and billing subscription. + /// + string Resource { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/OperationDisplay.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/OperationDisplay.json.cs new file mode 100644 index 000000000000..8b3325756f70 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/OperationDisplay.json.cs @@ -0,0 +1,126 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The object that represents the operation. + public partial class OperationDisplay + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplay. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplay. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationDisplay FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new OperationDisplay(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal OperationDisplay(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_provider = If( json?.PropertyT("provider"), out var __jsonProvider) ? (string)__jsonProvider : (string)Provider;} + {_resource = If( json?.PropertyT("resource"), out var __jsonResource) ? (string)__jsonResource : (string)Resource;} + {_operation = If( json?.PropertyT("operation"), out var __jsonOperation) ? (string)__jsonOperation : (string)Operation;} + {_description = If( json?.PropertyT("description"), out var __jsonDescription) ? (string)__jsonDescription : (string)Description;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._provider)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._provider.ToString()) : null, "provider" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._resource)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._resource.ToString()) : null, "resource" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._operation)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._operation.ToString()) : null, "operation" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._description)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._description.ToString()) : null, "description" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/OperationListResult.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/OperationListResult.PowerShell.cs new file mode 100644 index 000000000000..643ee1afa682 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/OperationListResult.PowerShell.cs @@ -0,0 +1,152 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The list of billing operations and a URL link to get the next set of results. + [System.ComponentModel.TypeConverter(typeof(OperationListResultTypeConverter))] + public partial class OperationListResult + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationListResult DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new OperationListResult(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationListResult DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new OperationListResult(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationListResult FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal OperationListResult(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperation[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.OperationTypeConverter.ConvertFrom)); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationListResultInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal OperationListResult(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperation[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.OperationTypeConverter.ConvertFrom)); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationListResultInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The list of billing operations and a URL link to get the next set of results. + [System.ComponentModel.TypeConverter(typeof(OperationListResultTypeConverter))] + public partial interface IOperationListResult + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/OperationListResult.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/OperationListResult.TypeConverter.cs new file mode 100644 index 000000000000..d3053e0ff4ac --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/OperationListResult.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class OperationListResultTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationListResult ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationListResult).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return OperationListResult.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return OperationListResult.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return OperationListResult.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/OperationListResult.cs b/swaggerci/billing/generated/api/Models/Api20200501/OperationListResult.cs new file mode 100644 index 000000000000..5f92bd1a41ef --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/OperationListResult.cs @@ -0,0 +1,80 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The list of billing operations and a URL link to get the next set of results. + public partial class OperationListResult : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationListResult, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationListResultInternal + { + + /// Internal Acessors for NextLink + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationListResultInternal.NextLink { get => this._nextLink; set { {_nextLink = value;} } } + + /// Internal Acessors for Value + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperation[] Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationListResultInternal.Value { get => this._value; set { {_value = value;} } } + + /// Backing field for property. + private string _nextLink; + + /// URL to get the next set of operation list results if there are any. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string NextLink { get => this._nextLink; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperation[] _value; + + /// + /// The list of billing operations supported by the Microsoft.Billing resource provider. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperation[] Value { get => this._value; } + + /// Creates an new instance. + public OperationListResult() + { + + } + } + /// The list of billing operations and a URL link to get the next set of results. + public partial interface IOperationListResult : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// URL to get the next set of operation list results if there are any. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"URL to get the next set of operation list results if there are any.", + SerializedName = @"nextLink", + PossibleTypes = new [] { typeof(string) })] + string NextLink { get; } + /// + /// The list of billing operations supported by the Microsoft.Billing resource provider. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The list of billing operations supported by the Microsoft.Billing resource provider.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperation) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperation[] Value { get; } + + } + /// The list of billing operations and a URL link to get the next set of results. + internal partial interface IOperationListResultInternal + + { + /// URL to get the next set of operation list results if there are any. + string NextLink { get; set; } + /// + /// The list of billing operations supported by the Microsoft.Billing resource provider. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperation[] Value { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/OperationListResult.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/OperationListResult.json.cs new file mode 100644 index 000000000000..5d4e7624372f --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/OperationListResult.json.cs @@ -0,0 +1,124 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The list of billing operations and a URL link to get the next set of results. + public partial class OperationListResult + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationListResult. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationListResult. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationListResult FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new OperationListResult(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal OperationListResult(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_value = If( json?.PropertyT("value"), out var __jsonValue) ? If( __jsonValue as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperation) (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Operation.FromJson(__u) )) ))() : null : Value;} + {_nextLink = If( json?.PropertyT("nextLink"), out var __jsonNextLink) ? (string)__jsonNextLink : (string)NextLink;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + if (null != this._value) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(); + foreach( var __x in this._value ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("value",__w); + } + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._nextLink)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._nextLink.ToString()) : null, "nextLink" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/OperationsErrorDetails.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/OperationsErrorDetails.PowerShell.cs new file mode 100644 index 000000000000..62aa958025a1 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/OperationsErrorDetails.PowerShell.cs @@ -0,0 +1,160 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The details of the error. + [System.ComponentModel.TypeConverter(typeof(OperationsErrorDetailsTypeConverter))] + public partial class OperationsErrorDetails + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorDetails DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new OperationsErrorDetails(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorDetails DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new OperationsErrorDetails(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorDetails FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal OperationsErrorDetails(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Code")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorDetailsInternal)this).Code = (string) content.GetValueForProperty("Code",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorDetailsInternal)this).Code, global::System.Convert.ToString); + } + if (content.Contains("Message")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorDetailsInternal)this).Message = (string) content.GetValueForProperty("Message",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorDetailsInternal)this).Message, global::System.Convert.ToString); + } + if (content.Contains("Target")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorDetailsInternal)this).Target = (string) content.GetValueForProperty("Target",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorDetailsInternal)this).Target, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal OperationsErrorDetails(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Code")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorDetailsInternal)this).Code = (string) content.GetValueForProperty("Code",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorDetailsInternal)this).Code, global::System.Convert.ToString); + } + if (content.Contains("Message")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorDetailsInternal)this).Message = (string) content.GetValueForProperty("Message",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorDetailsInternal)this).Message, global::System.Convert.ToString); + } + if (content.Contains("Target")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorDetailsInternal)this).Target = (string) content.GetValueForProperty("Target",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorDetailsInternal)this).Target, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The details of the error. + [System.ComponentModel.TypeConverter(typeof(OperationsErrorDetailsTypeConverter))] + public partial interface IOperationsErrorDetails + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/OperationsErrorDetails.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/OperationsErrorDetails.TypeConverter.cs new file mode 100644 index 000000000000..b9c1b8b31779 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/OperationsErrorDetails.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class OperationsErrorDetailsTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorDetails ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorDetails).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return OperationsErrorDetails.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return OperationsErrorDetails.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return OperationsErrorDetails.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/OperationsErrorDetails.cs b/swaggerci/billing/generated/api/Models/Api20200501/OperationsErrorDetails.cs new file mode 100644 index 000000000000..62d096983800 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/OperationsErrorDetails.cs @@ -0,0 +1,94 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The details of the error. + public partial class OperationsErrorDetails : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorDetails, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorDetailsInternal + { + + /// Backing field for property. + private string _code; + + /// Error code. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Code { get => this._code; } + + /// Backing field for property. + private string _message; + + /// Error message indicating why the operation failed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Message { get => this._message; } + + /// Internal Acessors for Code + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorDetailsInternal.Code { get => this._code; set { {_code = value;} } } + + /// Internal Acessors for Message + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorDetailsInternal.Message { get => this._message; set { {_message = value;} } } + + /// Internal Acessors for Target + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorDetailsInternal.Target { get => this._target; set { {_target = value;} } } + + /// Backing field for property. + private string _target; + + /// The target of the particular error. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Target { get => this._target; } + + /// Creates an new instance. + public OperationsErrorDetails() + { + + } + } + /// The details of the error. + public partial interface IOperationsErrorDetails : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// Error code. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Error code.", + SerializedName = @"code", + PossibleTypes = new [] { typeof(string) })] + string Code { get; } + /// Error message indicating why the operation failed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Error message indicating why the operation failed.", + SerializedName = @"message", + PossibleTypes = new [] { typeof(string) })] + string Message { get; } + /// The target of the particular error. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The target of the particular error.", + SerializedName = @"target", + PossibleTypes = new [] { typeof(string) })] + string Target { get; } + + } + /// The details of the error. + internal partial interface IOperationsErrorDetailsInternal + + { + /// Error code. + string Code { get; set; } + /// Error message indicating why the operation failed. + string Message { get; set; } + /// The target of the particular error. + string Target { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/OperationsErrorDetails.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/OperationsErrorDetails.json.cs new file mode 100644 index 000000000000..67c3606b794d --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/OperationsErrorDetails.json.cs @@ -0,0 +1,121 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The details of the error. + public partial class OperationsErrorDetails + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorDetails. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorDetails. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorDetails FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new OperationsErrorDetails(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal OperationsErrorDetails(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_code = If( json?.PropertyT("code"), out var __jsonCode) ? (string)__jsonCode : (string)Code;} + {_message = If( json?.PropertyT("message"), out var __jsonMessage) ? (string)__jsonMessage : (string)Message;} + {_target = If( json?.PropertyT("target"), out var __jsonTarget) ? (string)__jsonTarget : (string)Target;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._code)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._code.ToString()) : null, "code" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._message)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._message.ToString()) : null, "message" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._target)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._target.ToString()) : null, "target" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/OperationsErrorResponse.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/OperationsErrorResponse.PowerShell.cs new file mode 100644 index 000000000000..f2791e515647 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/OperationsErrorResponse.PowerShell.cs @@ -0,0 +1,172 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// Error response indicates that the service is not able to process the incoming request. The reason is provided in the error + /// message. + /// + [System.ComponentModel.TypeConverter(typeof(OperationsErrorResponseTypeConverter))] + public partial class OperationsErrorResponse + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorResponse DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new OperationsErrorResponse(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorResponse DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new OperationsErrorResponse(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorResponse FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal OperationsErrorResponse(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Error")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorResponseInternal)this).Error = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorDetails) content.GetValueForProperty("Error",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorResponseInternal)this).Error, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.OperationsErrorDetailsTypeConverter.ConvertFrom); + } + if (content.Contains("Code")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorResponseInternal)this).Code = (string) content.GetValueForProperty("Code",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorResponseInternal)this).Code, global::System.Convert.ToString); + } + if (content.Contains("Message")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorResponseInternal)this).Message = (string) content.GetValueForProperty("Message",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorResponseInternal)this).Message, global::System.Convert.ToString); + } + if (content.Contains("Target")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorResponseInternal)this).Target = (string) content.GetValueForProperty("Target",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorResponseInternal)this).Target, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal OperationsErrorResponse(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Error")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorResponseInternal)this).Error = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorDetails) content.GetValueForProperty("Error",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorResponseInternal)this).Error, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.OperationsErrorDetailsTypeConverter.ConvertFrom); + } + if (content.Contains("Code")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorResponseInternal)this).Code = (string) content.GetValueForProperty("Code",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorResponseInternal)this).Code, global::System.Convert.ToString); + } + if (content.Contains("Message")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorResponseInternal)this).Message = (string) content.GetValueForProperty("Message",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorResponseInternal)this).Message, global::System.Convert.ToString); + } + if (content.Contains("Target")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorResponseInternal)this).Target = (string) content.GetValueForProperty("Target",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorResponseInternal)this).Target, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Error response indicates that the service is not able to process the incoming request. The reason is provided in the error + /// message. + [System.ComponentModel.TypeConverter(typeof(OperationsErrorResponseTypeConverter))] + public partial interface IOperationsErrorResponse + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/OperationsErrorResponse.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/OperationsErrorResponse.TypeConverter.cs new file mode 100644 index 000000000000..be181df9dca7 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/OperationsErrorResponse.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class OperationsErrorResponseTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorResponse ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorResponse).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return OperationsErrorResponse.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return OperationsErrorResponse.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return OperationsErrorResponse.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/OperationsErrorResponse.cs b/swaggerci/billing/generated/api/Models/Api20200501/OperationsErrorResponse.cs new file mode 100644 index 000000000000..cd1142066113 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/OperationsErrorResponse.cs @@ -0,0 +1,102 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// + /// Error response indicates that the service is not able to process the incoming request. The reason is provided in the error + /// message. + /// + public partial class OperationsErrorResponse : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorResponse, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorResponseInternal + { + + /// Error code. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string Code { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorDetailsInternal)Error).Code; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorDetails _error; + + /// The details of the error. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorDetails Error { get => (this._error = this._error ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.OperationsErrorDetails()); set => this._error = value; } + + /// Error message indicating why the operation failed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string Message { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorDetailsInternal)Error).Message; } + + /// Internal Acessors for Code + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorResponseInternal.Code { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorDetailsInternal)Error).Code; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorDetailsInternal)Error).Code = value; } + + /// Internal Acessors for Error + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorDetails Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorResponseInternal.Error { get => (this._error = this._error ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.OperationsErrorDetails()); set { {_error = value;} } } + + /// Internal Acessors for Message + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorResponseInternal.Message { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorDetailsInternal)Error).Message; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorDetailsInternal)Error).Message = value; } + + /// Internal Acessors for Target + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorResponseInternal.Target { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorDetailsInternal)Error).Target; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorDetailsInternal)Error).Target = value; } + + /// The target of the particular error. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string Target { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorDetailsInternal)Error).Target; } + + /// Creates an new instance. + public OperationsErrorResponse() + { + + } + } + /// Error response indicates that the service is not able to process the incoming request. The reason is provided in the error + /// message. + public partial interface IOperationsErrorResponse : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// Error code. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Error code.", + SerializedName = @"code", + PossibleTypes = new [] { typeof(string) })] + string Code { get; } + /// Error message indicating why the operation failed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Error message indicating why the operation failed.", + SerializedName = @"message", + PossibleTypes = new [] { typeof(string) })] + string Message { get; } + /// The target of the particular error. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The target of the particular error.", + SerializedName = @"target", + PossibleTypes = new [] { typeof(string) })] + string Target { get; } + + } + /// Error response indicates that the service is not able to process the incoming request. The reason is provided in the error + /// message. + internal partial interface IOperationsErrorResponseInternal + + { + /// Error code. + string Code { get; set; } + /// The details of the error. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorDetails Error { get; set; } + /// Error message indicating why the operation failed. + string Message { get; set; } + /// The target of the particular error. + string Target { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/OperationsErrorResponse.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/OperationsErrorResponse.json.cs new file mode 100644 index 000000000000..ef3ebf498fe6 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/OperationsErrorResponse.json.cs @@ -0,0 +1,111 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// + /// Error response indicates that the service is not able to process the incoming request. The reason is provided in the error + /// message. + /// + public partial class OperationsErrorResponse + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorResponse. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorResponse. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorResponse FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new OperationsErrorResponse(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal OperationsErrorResponse(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_error = If( json?.PropertyT("error"), out var __jsonError) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.OperationsErrorDetails.FromJson(__jsonError) : Error;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != this._error ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._error.ToJson(null,serializationMode) : null, "error" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Participants.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/Participants.PowerShell.cs new file mode 100644 index 000000000000..3b32e0a6b2a3 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Participants.PowerShell.cs @@ -0,0 +1,160 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The details about a participant. + [System.ComponentModel.TypeConverter(typeof(ParticipantsTypeConverter))] + public partial class Participants + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IParticipants DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new Participants(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IParticipants DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new Participants(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IParticipants FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal Participants(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Status")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IParticipantsInternal)this).Status = (string) content.GetValueForProperty("Status",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IParticipantsInternal)this).Status, global::System.Convert.ToString); + } + if (content.Contains("StatusDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IParticipantsInternal)this).StatusDate = (global::System.DateTime?) content.GetValueForProperty("StatusDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IParticipantsInternal)this).StatusDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("Email")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IParticipantsInternal)this).Email = (string) content.GetValueForProperty("Email",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IParticipantsInternal)this).Email, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal Participants(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Status")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IParticipantsInternal)this).Status = (string) content.GetValueForProperty("Status",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IParticipantsInternal)this).Status, global::System.Convert.ToString); + } + if (content.Contains("StatusDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IParticipantsInternal)this).StatusDate = (global::System.DateTime?) content.GetValueForProperty("StatusDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IParticipantsInternal)this).StatusDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("Email")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IParticipantsInternal)this).Email = (string) content.GetValueForProperty("Email",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IParticipantsInternal)this).Email, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The details about a participant. + [System.ComponentModel.TypeConverter(typeof(ParticipantsTypeConverter))] + public partial interface IParticipants + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Participants.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/Participants.TypeConverter.cs new file mode 100644 index 000000000000..c26a1a977c5a --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Participants.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class ParticipantsTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IParticipants ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IParticipants).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return Participants.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return Participants.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return Participants.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Participants.cs b/swaggerci/billing/generated/api/Models/Api20200501/Participants.cs new file mode 100644 index 000000000000..1045e4f776aa --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Participants.cs @@ -0,0 +1,94 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The details about a participant. + public partial class Participants : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IParticipants, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IParticipantsInternal + { + + /// Backing field for property. + private string _email; + + /// The email address of the participant. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Email { get => this._email; } + + /// Internal Acessors for Email + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IParticipantsInternal.Email { get => this._email; set { {_email = value;} } } + + /// Internal Acessors for Status + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IParticipantsInternal.Status { get => this._status; set { {_status = value;} } } + + /// Internal Acessors for StatusDate + global::System.DateTime? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IParticipantsInternal.StatusDate { get => this._statusDate; set { {_statusDate = value;} } } + + /// Backing field for property. + private string _status; + + /// The acceptance status of the participant. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Status { get => this._status; } + + /// Backing field for property. + private global::System.DateTime? _statusDate; + + /// The date when the status got changed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public global::System.DateTime? StatusDate { get => this._statusDate; } + + /// Creates an new instance. + public Participants() + { + + } + } + /// The details about a participant. + public partial interface IParticipants : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The email address of the participant. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The email address of the participant.", + SerializedName = @"email", + PossibleTypes = new [] { typeof(string) })] + string Email { get; } + /// The acceptance status of the participant. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The acceptance status of the participant.", + SerializedName = @"status", + PossibleTypes = new [] { typeof(string) })] + string Status { get; } + /// The date when the status got changed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The date when the status got changed.", + SerializedName = @"statusDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? StatusDate { get; } + + } + /// The details about a participant. + internal partial interface IParticipantsInternal + + { + /// The email address of the participant. + string Email { get; set; } + /// The acceptance status of the participant. + string Status { get; set; } + /// The date when the status got changed. + global::System.DateTime? StatusDate { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Participants.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/Participants.json.cs new file mode 100644 index 000000000000..94973a899e71 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Participants.json.cs @@ -0,0 +1,121 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The details about a participant. + public partial class Participants + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IParticipants. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IParticipants. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IParticipants FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new Participants(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal Participants(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_status = If( json?.PropertyT("status"), out var __jsonStatus) ? (string)__jsonStatus : (string)Status;} + {_statusDate = If( json?.PropertyT("statusDate"), out var __jsonStatusDate) ? global::System.DateTime.TryParse((string)__jsonStatusDate, global::System.Globalization.CultureInfo.InvariantCulture, global::System.Globalization.DateTimeStyles.AdjustToUniversal, out var __jsonStatusDateValue) ? __jsonStatusDateValue : StatusDate : StatusDate;} + {_email = If( json?.PropertyT("email"), out var __jsonEmail) ? (string)__jsonEmail : (string)Email;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._status)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._status.ToString()) : null, "status" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._statusDate ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._statusDate?.ToString(@"yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK",global::System.Globalization.CultureInfo.InvariantCulture)) : null, "statusDate" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._email)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._email.ToString()) : null, "email" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/PaymentProperties.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/PaymentProperties.PowerShell.cs new file mode 100644 index 000000000000..fca66f68e586 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/PaymentProperties.PowerShell.cs @@ -0,0 +1,192 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The properties of a payment. + [System.ComponentModel.TypeConverter(typeof(PaymentPropertiesTypeConverter))] + public partial class PaymentProperties + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentProperties DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new PaymentProperties(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentProperties DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new PaymentProperties(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentProperties FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal PaymentProperties(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Amount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentPropertiesInternal)this).Amount = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("Amount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentPropertiesInternal)this).Amount, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("PaymentType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentPropertiesInternal)this).PaymentType = (string) content.GetValueForProperty("PaymentType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentPropertiesInternal)this).PaymentType, global::System.Convert.ToString); + } + if (content.Contains("Date")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentPropertiesInternal)this).Date = (global::System.DateTime?) content.GetValueForProperty("Date",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentPropertiesInternal)this).Date, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("PaymentMethodFamily")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentPropertiesInternal)this).PaymentMethodFamily = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.PaymentMethodFamily?) content.GetValueForProperty("PaymentMethodFamily",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentPropertiesInternal)this).PaymentMethodFamily, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.PaymentMethodFamily.CreateFrom); + } + if (content.Contains("PaymentMethodType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentPropertiesInternal)this).PaymentMethodType = (string) content.GetValueForProperty("PaymentMethodType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentPropertiesInternal)this).PaymentMethodType, global::System.Convert.ToString); + } + if (content.Contains("AmountCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentPropertiesInternal)this).AmountCurrency = (string) content.GetValueForProperty("AmountCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentPropertiesInternal)this).AmountCurrency, global::System.Convert.ToString); + } + if (content.Contains("AmountValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentPropertiesInternal)this).AmountValue = (float?) content.GetValueForProperty("AmountValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentPropertiesInternal)this).AmountValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal PaymentProperties(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Amount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentPropertiesInternal)this).Amount = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("Amount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentPropertiesInternal)this).Amount, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("PaymentType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentPropertiesInternal)this).PaymentType = (string) content.GetValueForProperty("PaymentType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentPropertiesInternal)this).PaymentType, global::System.Convert.ToString); + } + if (content.Contains("Date")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentPropertiesInternal)this).Date = (global::System.DateTime?) content.GetValueForProperty("Date",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentPropertiesInternal)this).Date, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("PaymentMethodFamily")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentPropertiesInternal)this).PaymentMethodFamily = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.PaymentMethodFamily?) content.GetValueForProperty("PaymentMethodFamily",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentPropertiesInternal)this).PaymentMethodFamily, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.PaymentMethodFamily.CreateFrom); + } + if (content.Contains("PaymentMethodType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentPropertiesInternal)this).PaymentMethodType = (string) content.GetValueForProperty("PaymentMethodType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentPropertiesInternal)this).PaymentMethodType, global::System.Convert.ToString); + } + if (content.Contains("AmountCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentPropertiesInternal)this).AmountCurrency = (string) content.GetValueForProperty("AmountCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentPropertiesInternal)this).AmountCurrency, global::System.Convert.ToString); + } + if (content.Contains("AmountValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentPropertiesInternal)this).AmountValue = (float?) content.GetValueForProperty("AmountValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentPropertiesInternal)this).AmountValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The properties of a payment. + [System.ComponentModel.TypeConverter(typeof(PaymentPropertiesTypeConverter))] + public partial interface IPaymentProperties + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/PaymentProperties.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/PaymentProperties.TypeConverter.cs new file mode 100644 index 000000000000..87dfa91a4975 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/PaymentProperties.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class PaymentPropertiesTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentProperties ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentProperties).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return PaymentProperties.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return PaymentProperties.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return PaymentProperties.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/PaymentProperties.cs b/swaggerci/billing/generated/api/Models/Api20200501/PaymentProperties.cs new file mode 100644 index 000000000000..ae92c5ed29ce --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/PaymentProperties.cs @@ -0,0 +1,154 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of a payment. + public partial class PaymentProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentProperties, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentPropertiesInternal + { + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount _amount; + + /// The paid amount. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Amount { get => (this._amount = this._amount ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount()); } + + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string AmountCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)Amount).Currency; } + + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? AmountValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)Amount).Value; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)Amount).Value = value ?? default(float); } + + /// Backing field for property. + private global::System.DateTime? _date; + + /// The date when the payment was made. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public global::System.DateTime? Date { get => this._date; } + + /// Internal Acessors for Amount + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentPropertiesInternal.Amount { get => (this._amount = this._amount ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount()); set { {_amount = value;} } } + + /// Internal Acessors for AmountCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentPropertiesInternal.AmountCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)Amount).Currency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)Amount).Currency = value; } + + /// Internal Acessors for Date + global::System.DateTime? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentPropertiesInternal.Date { get => this._date; set { {_date = value;} } } + + /// Internal Acessors for PaymentMethodType + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentPropertiesInternal.PaymentMethodType { get => this._paymentMethodType; set { {_paymentMethodType = value;} } } + + /// Internal Acessors for PaymentType + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentPropertiesInternal.PaymentType { get => this._paymentType; set { {_paymentType = value;} } } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.PaymentMethodFamily? _paymentMethodFamily; + + /// The family of payment method. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.PaymentMethodFamily? PaymentMethodFamily { get => this._paymentMethodFamily; set => this._paymentMethodFamily = value; } + + /// Backing field for property. + private string _paymentMethodType; + + /// The type of payment method. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string PaymentMethodType { get => this._paymentMethodType; } + + /// Backing field for property. + private string _paymentType; + + /// The type of payment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string PaymentType { get => this._paymentType; } + + /// Creates an new instance. + public PaymentProperties() + { + + } + } + /// The properties of a payment. + public partial interface IPaymentProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The currency for the amount value.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string AmountCurrency { get; } + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Amount value.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(float) })] + float? AmountValue { get; set; } + /// The date when the payment was made. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The date when the payment was made.", + SerializedName = @"date", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? Date { get; } + /// The family of payment method. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The family of payment method.", + SerializedName = @"paymentMethodFamily", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.PaymentMethodFamily) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.PaymentMethodFamily? PaymentMethodFamily { get; set; } + /// The type of payment method. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The type of payment method.", + SerializedName = @"paymentMethodType", + PossibleTypes = new [] { typeof(string) })] + string PaymentMethodType { get; } + /// The type of payment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The type of payment.", + SerializedName = @"paymentType", + PossibleTypes = new [] { typeof(string) })] + string PaymentType { get; } + + } + /// The properties of a payment. + internal partial interface IPaymentPropertiesInternal + + { + /// The paid amount. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Amount { get; set; } + /// The currency for the amount value. + string AmountCurrency { get; set; } + /// Amount value. + float? AmountValue { get; set; } + /// The date when the payment was made. + global::System.DateTime? Date { get; set; } + /// The family of payment method. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.PaymentMethodFamily? PaymentMethodFamily { get; set; } + /// The type of payment method. + string PaymentMethodType { get; set; } + /// The type of payment. + string PaymentType { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/PaymentProperties.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/PaymentProperties.json.cs new file mode 100644 index 000000000000..8d236a6223b0 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/PaymentProperties.json.cs @@ -0,0 +1,128 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of a payment. + public partial class PaymentProperties + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentProperties. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentProperties. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPaymentProperties FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new PaymentProperties(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal PaymentProperties(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_amount = If( json?.PropertyT("amount"), out var __jsonAmount) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount.FromJson(__jsonAmount) : Amount;} + {_paymentType = If( json?.PropertyT("paymentType"), out var __jsonPaymentType) ? (string)__jsonPaymentType : (string)PaymentType;} + {_date = If( json?.PropertyT("date"), out var __jsonDate) ? global::System.DateTime.TryParse((string)__jsonDate, global::System.Globalization.CultureInfo.InvariantCulture, global::System.Globalization.DateTimeStyles.AdjustToUniversal, out var __jsonDateValue) ? __jsonDateValue : Date : Date;} + {_paymentMethodFamily = If( json?.PropertyT("paymentMethodFamily"), out var __jsonPaymentMethodFamily) ? (string)__jsonPaymentMethodFamily : (string)PaymentMethodFamily;} + {_paymentMethodType = If( json?.PropertyT("paymentMethodType"), out var __jsonPaymentMethodType) ? (string)__jsonPaymentMethodType : (string)PaymentMethodType;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._amount ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._amount.ToJson(null,serializationMode) : null, "amount" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._paymentType)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._paymentType.ToString()) : null, "paymentType" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._date ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._date?.ToString(@"yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK",global::System.Globalization.CultureInfo.InvariantCulture)) : null, "date" ,container.Add ); + } + AddIf( null != (((object)this._paymentMethodFamily)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._paymentMethodFamily.ToString()) : null, "paymentMethodFamily" ,container.Add ); + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._paymentMethodType)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._paymentMethodType.ToString()) : null, "paymentMethodType" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Policy.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/Policy.PowerShell.cs new file mode 100644 index 000000000000..048e86507856 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Policy.PowerShell.cs @@ -0,0 +1,192 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// A policy. + [System.ComponentModel.TypeConverter(typeof(PolicyTypeConverter))] + public partial class Policy + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicy DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new Policy(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicy DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new Policy(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicy FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal Policy(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.PolicyPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("MarketplacePurchase")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyInternal)this).MarketplacePurchase = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.MarketplacePurchasesPolicy?) content.GetValueForProperty("MarketplacePurchase",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyInternal)this).MarketplacePurchase, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.MarketplacePurchasesPolicy.CreateFrom); + } + if (content.Contains("ReservationPurchase")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyInternal)this).ReservationPurchase = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationPurchasesPolicy?) content.GetValueForProperty("ReservationPurchase",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyInternal)this).ReservationPurchase, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationPurchasesPolicy.CreateFrom); + } + if (content.Contains("ViewCharge")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyInternal)this).ViewCharge = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewChargesPolicy?) content.GetValueForProperty("ViewCharge",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyInternal)this).ViewCharge, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewChargesPolicy.CreateFrom); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal Policy(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.PolicyPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("MarketplacePurchase")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyInternal)this).MarketplacePurchase = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.MarketplacePurchasesPolicy?) content.GetValueForProperty("MarketplacePurchase",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyInternal)this).MarketplacePurchase, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.MarketplacePurchasesPolicy.CreateFrom); + } + if (content.Contains("ReservationPurchase")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyInternal)this).ReservationPurchase = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationPurchasesPolicy?) content.GetValueForProperty("ReservationPurchase",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyInternal)this).ReservationPurchase, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationPurchasesPolicy.CreateFrom); + } + if (content.Contains("ViewCharge")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyInternal)this).ViewCharge = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewChargesPolicy?) content.GetValueForProperty("ViewCharge",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyInternal)this).ViewCharge, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewChargesPolicy.CreateFrom); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// A policy. + [System.ComponentModel.TypeConverter(typeof(PolicyTypeConverter))] + public partial interface IPolicy + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Policy.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/Policy.TypeConverter.cs new file mode 100644 index 000000000000..f4a508ab20bc --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Policy.TypeConverter.cs @@ -0,0 +1,146 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class PolicyTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicy ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicy).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return Policy.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return Policy.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return Policy.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Policy.cs b/swaggerci/billing/generated/api/Models/Api20200501/Policy.cs new file mode 100644 index 000000000000..aaa7ca94a552 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Policy.cs @@ -0,0 +1,146 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// A policy. + public partial class Policy : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicy, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyInternal, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IValidates + { + /// + /// Backing field for Inherited model + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource __resource = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource(); + + /// Resource Id. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id; } + + /// + /// The policy that controls whether Azure marketplace purchases are allowed for a billing profile. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.MarketplacePurchasesPolicy? MarketplacePurchase { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyPropertiesInternal)Property).MarketplacePurchase; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyPropertiesInternal)Property).MarketplacePurchase = value ?? ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.MarketplacePurchasesPolicy)""); } + + /// Internal Acessors for Id + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id = value; } + + /// Internal Acessors for Name + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name = value; } + + /// Internal Acessors for Type + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type = value; } + + /// Internal Acessors for Property + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyProperties Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyInternal.Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.PolicyProperties()); set { {_property = value;} } } + + /// Resource name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyProperties _property; + + /// The properties of a policy. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyProperties Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.PolicyProperties()); set => this._property = value; } + + /// + /// The policy that controls whether Azure reservation purchases are allowed for a billing profile. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationPurchasesPolicy? ReservationPurchase { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyPropertiesInternal)Property).ReservationPurchase; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyPropertiesInternal)Property).ReservationPurchase = value ?? ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationPurchasesPolicy)""); } + + /// Resource type. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type; } + + /// + /// The policy that controls whether users with Azure RBAC access to a subscription can view its charges. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewChargesPolicy? ViewCharge { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyPropertiesInternal)Property).ViewCharge; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyPropertiesInternal)Property).ViewCharge = value ?? ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewChargesPolicy)""); } + + /// Creates an new instance. + public Policy() + { + + } + + /// Validates that this object meets the validation criteria. + /// an instance that will receive validation + /// events. + /// + /// A that will be complete when validation is completed. + /// + public async global::System.Threading.Tasks.Task Validate(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + await eventListener.AssertNotNull(nameof(__resource), __resource); + await eventListener.AssertObjectIsValid(nameof(__resource), __resource); + } + } + /// A policy. + public partial interface IPolicy : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource + { + /// + /// The policy that controls whether Azure marketplace purchases are allowed for a billing profile. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The policy that controls whether Azure marketplace purchases are allowed for a billing profile.", + SerializedName = @"marketplacePurchases", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.MarketplacePurchasesPolicy) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.MarketplacePurchasesPolicy? MarketplacePurchase { get; set; } + /// + /// The policy that controls whether Azure reservation purchases are allowed for a billing profile. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The policy that controls whether Azure reservation purchases are allowed for a billing profile.", + SerializedName = @"reservationPurchases", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationPurchasesPolicy) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationPurchasesPolicy? ReservationPurchase { get; set; } + /// + /// The policy that controls whether users with Azure RBAC access to a subscription can view its charges. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The policy that controls whether users with Azure RBAC access to a subscription can view its charges.", + SerializedName = @"viewCharges", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewChargesPolicy) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewChargesPolicy? ViewCharge { get; set; } + + } + /// A policy. + internal partial interface IPolicyInternal : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal + { + /// + /// The policy that controls whether Azure marketplace purchases are allowed for a billing profile. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.MarketplacePurchasesPolicy? MarketplacePurchase { get; set; } + /// The properties of a policy. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyProperties Property { get; set; } + /// + /// The policy that controls whether Azure reservation purchases are allowed for a billing profile. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationPurchasesPolicy? ReservationPurchase { get; set; } + /// + /// The policy that controls whether users with Azure RBAC access to a subscription can view its charges. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewChargesPolicy? ViewCharge { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Policy.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/Policy.json.cs new file mode 100644 index 000000000000..9d6fbed14ed2 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Policy.json.cs @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// A policy. + public partial class Policy + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicy. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicy. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicy FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new Policy(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal Policy(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + __resource = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource(json); + {_property = If( json?.PropertyT("properties"), out var __jsonProperties) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.PolicyProperties.FromJson(__jsonProperties) : Property;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + __resource?.ToJson(container, serializationMode); + AddIf( null != this._property ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._property.ToJson(null,serializationMode) : null, "properties" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/PolicyProperties.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/PolicyProperties.PowerShell.cs new file mode 100644 index 000000000000..350c66c8fe73 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/PolicyProperties.PowerShell.cs @@ -0,0 +1,160 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The properties of a policy. + [System.ComponentModel.TypeConverter(typeof(PolicyPropertiesTypeConverter))] + public partial class PolicyProperties + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyProperties DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new PolicyProperties(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyProperties DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new PolicyProperties(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyProperties FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal PolicyProperties(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("MarketplacePurchase")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyPropertiesInternal)this).MarketplacePurchase = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.MarketplacePurchasesPolicy?) content.GetValueForProperty("MarketplacePurchase",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyPropertiesInternal)this).MarketplacePurchase, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.MarketplacePurchasesPolicy.CreateFrom); + } + if (content.Contains("ReservationPurchase")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyPropertiesInternal)this).ReservationPurchase = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationPurchasesPolicy?) content.GetValueForProperty("ReservationPurchase",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyPropertiesInternal)this).ReservationPurchase, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationPurchasesPolicy.CreateFrom); + } + if (content.Contains("ViewCharge")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyPropertiesInternal)this).ViewCharge = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewChargesPolicy?) content.GetValueForProperty("ViewCharge",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyPropertiesInternal)this).ViewCharge, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewChargesPolicy.CreateFrom); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal PolicyProperties(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("MarketplacePurchase")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyPropertiesInternal)this).MarketplacePurchase = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.MarketplacePurchasesPolicy?) content.GetValueForProperty("MarketplacePurchase",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyPropertiesInternal)this).MarketplacePurchase, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.MarketplacePurchasesPolicy.CreateFrom); + } + if (content.Contains("ReservationPurchase")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyPropertiesInternal)this).ReservationPurchase = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationPurchasesPolicy?) content.GetValueForProperty("ReservationPurchase",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyPropertiesInternal)this).ReservationPurchase, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationPurchasesPolicy.CreateFrom); + } + if (content.Contains("ViewCharge")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyPropertiesInternal)this).ViewCharge = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewChargesPolicy?) content.GetValueForProperty("ViewCharge",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyPropertiesInternal)this).ViewCharge, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewChargesPolicy.CreateFrom); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The properties of a policy. + [System.ComponentModel.TypeConverter(typeof(PolicyPropertiesTypeConverter))] + public partial interface IPolicyProperties + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/PolicyProperties.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/PolicyProperties.TypeConverter.cs new file mode 100644 index 000000000000..b20985d3ae81 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/PolicyProperties.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class PolicyPropertiesTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyProperties ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyProperties).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return PolicyProperties.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return PolicyProperties.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return PolicyProperties.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/PolicyProperties.cs b/swaggerci/billing/generated/api/Models/Api20200501/PolicyProperties.cs new file mode 100644 index 000000000000..a6adc02ff9ec --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/PolicyProperties.cs @@ -0,0 +1,103 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of a policy. + public partial class PolicyProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyProperties, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyPropertiesInternal + { + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.MarketplacePurchasesPolicy? _marketplacePurchase; + + /// + /// The policy that controls whether Azure marketplace purchases are allowed for a billing profile. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.MarketplacePurchasesPolicy? MarketplacePurchase { get => this._marketplacePurchase; set => this._marketplacePurchase = value; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationPurchasesPolicy? _reservationPurchase; + + /// + /// The policy that controls whether Azure reservation purchases are allowed for a billing profile. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationPurchasesPolicy? ReservationPurchase { get => this._reservationPurchase; set => this._reservationPurchase = value; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewChargesPolicy? _viewCharge; + + /// + /// The policy that controls whether users with Azure RBAC access to a subscription can view its charges. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewChargesPolicy? ViewCharge { get => this._viewCharge; set => this._viewCharge = value; } + + /// Creates an new instance. + public PolicyProperties() + { + + } + } + /// The properties of a policy. + public partial interface IPolicyProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// + /// The policy that controls whether Azure marketplace purchases are allowed for a billing profile. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The policy that controls whether Azure marketplace purchases are allowed for a billing profile.", + SerializedName = @"marketplacePurchases", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.MarketplacePurchasesPolicy) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.MarketplacePurchasesPolicy? MarketplacePurchase { get; set; } + /// + /// The policy that controls whether Azure reservation purchases are allowed for a billing profile. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The policy that controls whether Azure reservation purchases are allowed for a billing profile.", + SerializedName = @"reservationPurchases", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationPurchasesPolicy) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationPurchasesPolicy? ReservationPurchase { get; set; } + /// + /// The policy that controls whether users with Azure RBAC access to a subscription can view its charges. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The policy that controls whether users with Azure RBAC access to a subscription can view its charges.", + SerializedName = @"viewCharges", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewChargesPolicy) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewChargesPolicy? ViewCharge { get; set; } + + } + /// The properties of a policy. + internal partial interface IPolicyPropertiesInternal + + { + /// + /// The policy that controls whether Azure marketplace purchases are allowed for a billing profile. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.MarketplacePurchasesPolicy? MarketplacePurchase { get; set; } + /// + /// The policy that controls whether Azure reservation purchases are allowed for a billing profile. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationPurchasesPolicy? ReservationPurchase { get; set; } + /// + /// The policy that controls whether users with Azure RBAC access to a subscription can view its charges. + /// + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewChargesPolicy? ViewCharge { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/PolicyProperties.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/PolicyProperties.json.cs new file mode 100644 index 000000000000..c80279324de2 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/PolicyProperties.json.cs @@ -0,0 +1,112 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of a policy. + public partial class PolicyProperties + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyProperties. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyProperties. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicyProperties FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new PolicyProperties(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal PolicyProperties(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_marketplacePurchase = If( json?.PropertyT("marketplacePurchases"), out var __jsonMarketplacePurchases) ? (string)__jsonMarketplacePurchases : (string)MarketplacePurchase;} + {_reservationPurchase = If( json?.PropertyT("reservationPurchases"), out var __jsonReservationPurchases) ? (string)__jsonReservationPurchases : (string)ReservationPurchase;} + {_viewCharge = If( json?.PropertyT("viewCharges"), out var __jsonViewCharges) ? (string)__jsonViewCharges : (string)ViewCharge;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != (((object)this._marketplacePurchase)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._marketplacePurchase.ToString()) : null, "marketplacePurchases" ,container.Add ); + AddIf( null != (((object)this._reservationPurchase)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._reservationPurchase.ToString()) : null, "reservationPurchases" ,container.Add ); + AddIf( null != (((object)this._viewCharge)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._viewCharge.ToString()) : null, "viewCharges" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Product.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/Product.PowerShell.cs new file mode 100644 index 000000000000..726f80e291c4 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Product.PowerShell.cs @@ -0,0 +1,376 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// A product. + [System.ComponentModel.TypeConverter(typeof(ProductTypeConverter))] + public partial class Product + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new Product(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new Product(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal Product(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ProductPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("Reseller")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).Reseller = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller) content.GetValueForProperty("Reseller",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).Reseller, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ResellerTypeConverter.ConvertFrom); + } + if (content.Contains("AutoRenew")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).AutoRenew = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AutoRenew?) content.GetValueForProperty("AutoRenew",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).AutoRenew, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AutoRenew.CreateFrom); + } + if (content.Contains("BillingFrequency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).BillingFrequency = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingFrequency?) content.GetValueForProperty("BillingFrequency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).BillingFrequency, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingFrequency.CreateFrom); + } + if (content.Contains("LastCharge")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).LastCharge = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("LastCharge",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).LastCharge, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("DisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).DisplayName = (string) content.GetValueForProperty("DisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).DisplayName, global::System.Convert.ToString); + } + if (content.Contains("PurchaseDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).PurchaseDate = (global::System.DateTime?) content.GetValueForProperty("PurchaseDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).PurchaseDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("TypeId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).TypeId = (string) content.GetValueForProperty("TypeId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).TypeId, global::System.Convert.ToString); + } + if (content.Contains("ProductType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).ProductType = (string) content.GetValueForProperty("ProductType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).ProductType, global::System.Convert.ToString); + } + if (content.Contains("Status")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).Status = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType?) content.GetValueForProperty("Status",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).Status, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType.CreateFrom); + } + if (content.Contains("EndDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).EndDate = (global::System.DateTime?) content.GetValueForProperty("EndDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).EndDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("LastChargeDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).LastChargeDate = (global::System.DateTime?) content.GetValueForProperty("LastChargeDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).LastChargeDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("Quantity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).Quantity = (float?) content.GetValueForProperty("Quantity",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).Quantity, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("SkuId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).SkuId = (string) content.GetValueForProperty("SkuId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).SkuId, global::System.Convert.ToString); + } + if (content.Contains("SkuDescription")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).SkuDescription = (string) content.GetValueForProperty("SkuDescription",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).SkuDescription, global::System.Convert.ToString); + } + if (content.Contains("TenantId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).TenantId = (string) content.GetValueForProperty("TenantId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).TenantId, global::System.Convert.ToString); + } + if (content.Contains("AvailabilityId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).AvailabilityId = (string) content.GetValueForProperty("AvailabilityId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).AvailabilityId, global::System.Convert.ToString); + } + if (content.Contains("InvoiceSectionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).InvoiceSectionId = (string) content.GetValueForProperty("InvoiceSectionId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).InvoiceSectionId, global::System.Convert.ToString); + } + if (content.Contains("InvoiceSectionDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).InvoiceSectionDisplayName = (string) content.GetValueForProperty("InvoiceSectionDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).InvoiceSectionDisplayName, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).BillingProfileId = (string) content.GetValueForProperty("BillingProfileId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).BillingProfileId, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).BillingProfileDisplayName = (string) content.GetValueForProperty("BillingProfileDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).BillingProfileDisplayName, global::System.Convert.ToString); + } + if (content.Contains("CustomerId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).CustomerId = (string) content.GetValueForProperty("CustomerId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).CustomerId, global::System.Convert.ToString); + } + if (content.Contains("CustomerDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).CustomerDisplayName = (string) content.GetValueForProperty("CustomerDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).CustomerDisplayName, global::System.Convert.ToString); + } + if (content.Contains("ResellerId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).ResellerId = (string) content.GetValueForProperty("ResellerId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).ResellerId, global::System.Convert.ToString); + } + if (content.Contains("ResellerDescription")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).ResellerDescription = (string) content.GetValueForProperty("ResellerDescription",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).ResellerDescription, global::System.Convert.ToString); + } + if (content.Contains("LastChargeCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).LastChargeCurrency = (string) content.GetValueForProperty("LastChargeCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).LastChargeCurrency, global::System.Convert.ToString); + } + if (content.Contains("LastChargeValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).LastChargeValue = (float?) content.GetValueForProperty("LastChargeValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).LastChargeValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal Product(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ProductPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("Reseller")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).Reseller = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller) content.GetValueForProperty("Reseller",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).Reseller, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ResellerTypeConverter.ConvertFrom); + } + if (content.Contains("AutoRenew")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).AutoRenew = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AutoRenew?) content.GetValueForProperty("AutoRenew",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).AutoRenew, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AutoRenew.CreateFrom); + } + if (content.Contains("BillingFrequency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).BillingFrequency = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingFrequency?) content.GetValueForProperty("BillingFrequency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).BillingFrequency, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingFrequency.CreateFrom); + } + if (content.Contains("LastCharge")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).LastCharge = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("LastCharge",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).LastCharge, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("DisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).DisplayName = (string) content.GetValueForProperty("DisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).DisplayName, global::System.Convert.ToString); + } + if (content.Contains("PurchaseDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).PurchaseDate = (global::System.DateTime?) content.GetValueForProperty("PurchaseDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).PurchaseDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("TypeId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).TypeId = (string) content.GetValueForProperty("TypeId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).TypeId, global::System.Convert.ToString); + } + if (content.Contains("ProductType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).ProductType = (string) content.GetValueForProperty("ProductType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).ProductType, global::System.Convert.ToString); + } + if (content.Contains("Status")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).Status = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType?) content.GetValueForProperty("Status",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).Status, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType.CreateFrom); + } + if (content.Contains("EndDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).EndDate = (global::System.DateTime?) content.GetValueForProperty("EndDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).EndDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("LastChargeDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).LastChargeDate = (global::System.DateTime?) content.GetValueForProperty("LastChargeDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).LastChargeDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("Quantity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).Quantity = (float?) content.GetValueForProperty("Quantity",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).Quantity, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("SkuId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).SkuId = (string) content.GetValueForProperty("SkuId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).SkuId, global::System.Convert.ToString); + } + if (content.Contains("SkuDescription")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).SkuDescription = (string) content.GetValueForProperty("SkuDescription",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).SkuDescription, global::System.Convert.ToString); + } + if (content.Contains("TenantId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).TenantId = (string) content.GetValueForProperty("TenantId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).TenantId, global::System.Convert.ToString); + } + if (content.Contains("AvailabilityId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).AvailabilityId = (string) content.GetValueForProperty("AvailabilityId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).AvailabilityId, global::System.Convert.ToString); + } + if (content.Contains("InvoiceSectionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).InvoiceSectionId = (string) content.GetValueForProperty("InvoiceSectionId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).InvoiceSectionId, global::System.Convert.ToString); + } + if (content.Contains("InvoiceSectionDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).InvoiceSectionDisplayName = (string) content.GetValueForProperty("InvoiceSectionDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).InvoiceSectionDisplayName, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).BillingProfileId = (string) content.GetValueForProperty("BillingProfileId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).BillingProfileId, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).BillingProfileDisplayName = (string) content.GetValueForProperty("BillingProfileDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).BillingProfileDisplayName, global::System.Convert.ToString); + } + if (content.Contains("CustomerId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).CustomerId = (string) content.GetValueForProperty("CustomerId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).CustomerId, global::System.Convert.ToString); + } + if (content.Contains("CustomerDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).CustomerDisplayName = (string) content.GetValueForProperty("CustomerDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).CustomerDisplayName, global::System.Convert.ToString); + } + if (content.Contains("ResellerId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).ResellerId = (string) content.GetValueForProperty("ResellerId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).ResellerId, global::System.Convert.ToString); + } + if (content.Contains("ResellerDescription")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).ResellerDescription = (string) content.GetValueForProperty("ResellerDescription",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).ResellerDescription, global::System.Convert.ToString); + } + if (content.Contains("LastChargeCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).LastChargeCurrency = (string) content.GetValueForProperty("LastChargeCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).LastChargeCurrency, global::System.Convert.ToString); + } + if (content.Contains("LastChargeValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).LastChargeValue = (float?) content.GetValueForProperty("LastChargeValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal)this).LastChargeValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// A product. + [System.ComponentModel.TypeConverter(typeof(ProductTypeConverter))] + public partial interface IProduct + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Product.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/Product.TypeConverter.cs new file mode 100644 index 000000000000..ecd71e5acab3 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Product.TypeConverter.cs @@ -0,0 +1,146 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class ProductTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return Product.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return Product.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return Product.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Product.cs b/swaggerci/billing/generated/api/Models/Api20200501/Product.cs new file mode 100644 index 000000000000..79ac0f82d376 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Product.cs @@ -0,0 +1,510 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// A product. + public partial class Product : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IValidates + { + /// + /// Backing field for Inherited model + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource __resource = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource(); + + /// Indicates whether auto renewal is turned on or off for a product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AutoRenew? AutoRenew { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).AutoRenew; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).AutoRenew = value ?? ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AutoRenew)""); } + + /// The availability of the product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string AvailabilityId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).AvailabilityId; } + + /// The frequency at which the product will be billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingFrequency? BillingFrequency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).BillingFrequency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).BillingFrequency = value ?? ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingFrequency)""); } + + /// The name of the billing profile to which the product is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillingProfileDisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).BillingProfileDisplayName; } + + /// The ID of the billing profile to which the product is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillingProfileId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).BillingProfileId; } + + /// + /// The name of the customer for whom the product was purchased. The field is applicable only for Microsoft Partner Agreement + /// billing account. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string CustomerDisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).CustomerDisplayName; } + + /// + /// The ID of the customer for whom the product was purchased. The field is applicable only for Microsoft Partner Agreement + /// billing account. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string CustomerId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).CustomerId; } + + /// The display name of the product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string DisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).DisplayName; } + + /// The date when the product will be renewed or canceled. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public global::System.DateTime? EndDate { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).EndDate; } + + /// Resource Id. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id; } + + /// The name of the invoice section to which the product is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string InvoiceSectionDisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).InvoiceSectionDisplayName; } + + /// The ID of the invoice section to which the product is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string InvoiceSectionId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).InvoiceSectionId; } + + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string LastChargeCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).LastChargeCurrency; } + + /// The date of the last charge. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public global::System.DateTime? LastChargeDate { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).LastChargeDate; } + + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? LastChargeValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).LastChargeValue; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).LastChargeValue = value ?? default(float); } + + /// Internal Acessors for Id + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id = value; } + + /// Internal Acessors for Name + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name = value; } + + /// Internal Acessors for Type + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type = value; } + + /// Internal Acessors for AvailabilityId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal.AvailabilityId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).AvailabilityId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).AvailabilityId = value; } + + /// Internal Acessors for BillingProfileDisplayName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal.BillingProfileDisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).BillingProfileDisplayName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).BillingProfileDisplayName = value; } + + /// Internal Acessors for BillingProfileId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal.BillingProfileId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).BillingProfileId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).BillingProfileId = value; } + + /// Internal Acessors for CustomerDisplayName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal.CustomerDisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).CustomerDisplayName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).CustomerDisplayName = value; } + + /// Internal Acessors for CustomerId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal.CustomerId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).CustomerId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).CustomerId = value; } + + /// Internal Acessors for DisplayName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal.DisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).DisplayName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).DisplayName = value; } + + /// Internal Acessors for EndDate + global::System.DateTime? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal.EndDate { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).EndDate; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).EndDate = value; } + + /// Internal Acessors for InvoiceSectionDisplayName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal.InvoiceSectionDisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).InvoiceSectionDisplayName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).InvoiceSectionDisplayName = value; } + + /// Internal Acessors for InvoiceSectionId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal.InvoiceSectionId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).InvoiceSectionId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).InvoiceSectionId = value; } + + /// Internal Acessors for LastCharge + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal.LastCharge { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).LastCharge; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).LastCharge = value; } + + /// Internal Acessors for LastChargeCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal.LastChargeCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).LastChargeCurrency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).LastChargeCurrency = value; } + + /// Internal Acessors for LastChargeDate + global::System.DateTime? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal.LastChargeDate { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).LastChargeDate; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).LastChargeDate = value; } + + /// Internal Acessors for ProductType + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal.ProductType { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).ProductType; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).ProductType = value; } + + /// Internal Acessors for Property + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductProperties Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal.Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ProductProperties()); set { {_property = value;} } } + + /// Internal Acessors for PurchaseDate + global::System.DateTime? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal.PurchaseDate { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).PurchaseDate; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).PurchaseDate = value; } + + /// Internal Acessors for Quantity + float? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal.Quantity { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).Quantity; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).Quantity = value; } + + /// Internal Acessors for Reseller + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal.Reseller { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).Reseller; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).Reseller = value; } + + /// Internal Acessors for ResellerDescription + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal.ResellerDescription { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).ResellerDescription; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).ResellerDescription = value; } + + /// Internal Acessors for ResellerId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal.ResellerId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).ResellerId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).ResellerId = value; } + + /// Internal Acessors for SkuDescription + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal.SkuDescription { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).SkuDescription; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).SkuDescription = value; } + + /// Internal Acessors for SkuId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal.SkuId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).SkuId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).SkuId = value; } + + /// Internal Acessors for TenantId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal.TenantId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).TenantId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).TenantId = value; } + + /// Internal Acessors for TypeId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductInternal.TypeId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).ProductTypeId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).ProductTypeId = value; } + + /// Resource name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name; } + + /// The description of the type of product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string ProductType { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).ProductType; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductProperties _property; + + /// The properties of a product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductProperties Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ProductProperties()); set => this._property = value; } + + /// The date when the product was purchased. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public global::System.DateTime? PurchaseDate { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).PurchaseDate; } + + /// The quantity purchased for the product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? Quantity { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).Quantity; } + + /// The name of the reseller. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string ResellerDescription { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).ResellerDescription; } + + /// The MPN ID of the reseller. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string ResellerId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).ResellerId; } + + /// The sku description of the product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SkuDescription { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).SkuDescription; } + + /// The sku ID of the product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SkuId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).SkuId; } + + /// The current status of the product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType? Status { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).Status; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).Status = value ?? ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType)""); } + + /// The id of the tenant in which the product is used. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string TenantId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).TenantId; } + + /// Resource type. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type; } + + /// The ID of the type of product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string TypeId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)Property).ProductTypeId; } + + /// Creates an new instance. + public Product() + { + + } + + /// Validates that this object meets the validation criteria. + /// an instance that will receive validation + /// events. + /// + /// A that will be complete when validation is completed. + /// + public async global::System.Threading.Tasks.Task Validate(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + await eventListener.AssertNotNull(nameof(__resource), __resource); + await eventListener.AssertObjectIsValid(nameof(__resource), __resource); + } + } + /// A product. + public partial interface IProduct : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource + { + /// Indicates whether auto renewal is turned on or off for a product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Indicates whether auto renewal is turned on or off for a product.", + SerializedName = @"autoRenew", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AutoRenew) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AutoRenew? AutoRenew { get; set; } + /// The availability of the product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The availability of the product.", + SerializedName = @"availabilityId", + PossibleTypes = new [] { typeof(string) })] + string AvailabilityId { get; } + /// The frequency at which the product will be billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The frequency at which the product will be billed.", + SerializedName = @"billingFrequency", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingFrequency) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingFrequency? BillingFrequency { get; set; } + /// The name of the billing profile to which the product is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the billing profile to which the product is billed.", + SerializedName = @"billingProfileDisplayName", + PossibleTypes = new [] { typeof(string) })] + string BillingProfileDisplayName { get; } + /// The ID of the billing profile to which the product is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the billing profile to which the product is billed.", + SerializedName = @"billingProfileId", + PossibleTypes = new [] { typeof(string) })] + string BillingProfileId { get; } + /// + /// The name of the customer for whom the product was purchased. The field is applicable only for Microsoft Partner Agreement + /// billing account. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the customer for whom the product was purchased. The field is applicable only for Microsoft Partner Agreement billing account.", + SerializedName = @"customerDisplayName", + PossibleTypes = new [] { typeof(string) })] + string CustomerDisplayName { get; } + /// + /// The ID of the customer for whom the product was purchased. The field is applicable only for Microsoft Partner Agreement + /// billing account. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the customer for whom the product was purchased. The field is applicable only for Microsoft Partner Agreement billing account.", + SerializedName = @"customerId", + PossibleTypes = new [] { typeof(string) })] + string CustomerId { get; } + /// The display name of the product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The display name of the product.", + SerializedName = @"displayName", + PossibleTypes = new [] { typeof(string) })] + string DisplayName { get; } + /// The date when the product will be renewed or canceled. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The date when the product will be renewed or canceled.", + SerializedName = @"endDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? EndDate { get; } + /// The name of the invoice section to which the product is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the invoice section to which the product is billed.", + SerializedName = @"invoiceSectionDisplayName", + PossibleTypes = new [] { typeof(string) })] + string InvoiceSectionDisplayName { get; } + /// The ID of the invoice section to which the product is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the invoice section to which the product is billed.", + SerializedName = @"invoiceSectionId", + PossibleTypes = new [] { typeof(string) })] + string InvoiceSectionId { get; } + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The currency for the amount value.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string LastChargeCurrency { get; } + /// The date of the last charge. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The date of the last charge.", + SerializedName = @"lastChargeDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? LastChargeDate { get; } + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Amount value.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(float) })] + float? LastChargeValue { get; set; } + /// The description of the type of product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The description of the type of product.", + SerializedName = @"productType", + PossibleTypes = new [] { typeof(string) })] + string ProductType { get; } + /// The date when the product was purchased. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The date when the product was purchased.", + SerializedName = @"purchaseDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? PurchaseDate { get; } + /// The quantity purchased for the product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The quantity purchased for the product.", + SerializedName = @"quantity", + PossibleTypes = new [] { typeof(float) })] + float? Quantity { get; } + /// The name of the reseller. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the reseller.", + SerializedName = @"description", + PossibleTypes = new [] { typeof(string) })] + string ResellerDescription { get; } + /// The MPN ID of the reseller. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The MPN ID of the reseller.", + SerializedName = @"resellerId", + PossibleTypes = new [] { typeof(string) })] + string ResellerId { get; } + /// The sku description of the product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The sku description of the product.", + SerializedName = @"skuDescription", + PossibleTypes = new [] { typeof(string) })] + string SkuDescription { get; } + /// The sku ID of the product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The sku ID of the product.", + SerializedName = @"skuId", + PossibleTypes = new [] { typeof(string) })] + string SkuId { get; } + /// The current status of the product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The current status of the product.", + SerializedName = @"status", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType? Status { get; set; } + /// The id of the tenant in which the product is used. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The id of the tenant in which the product is used.", + SerializedName = @"tenantId", + PossibleTypes = new [] { typeof(string) })] + string TenantId { get; } + /// The ID of the type of product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the type of product.", + SerializedName = @"productTypeId", + PossibleTypes = new [] { typeof(string) })] + string TypeId { get; } + + } + /// A product. + internal partial interface IProductInternal : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal + { + /// Indicates whether auto renewal is turned on or off for a product. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AutoRenew? AutoRenew { get; set; } + /// The availability of the product. + string AvailabilityId { get; set; } + /// The frequency at which the product will be billed. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingFrequency? BillingFrequency { get; set; } + /// The name of the billing profile to which the product is billed. + string BillingProfileDisplayName { get; set; } + /// The ID of the billing profile to which the product is billed. + string BillingProfileId { get; set; } + /// + /// The name of the customer for whom the product was purchased. The field is applicable only for Microsoft Partner Agreement + /// billing account. + /// + string CustomerDisplayName { get; set; } + /// + /// The ID of the customer for whom the product was purchased. The field is applicable only for Microsoft Partner Agreement + /// billing account. + /// + string CustomerId { get; set; } + /// The display name of the product. + string DisplayName { get; set; } + /// The date when the product will be renewed or canceled. + global::System.DateTime? EndDate { get; set; } + /// The name of the invoice section to which the product is billed. + string InvoiceSectionDisplayName { get; set; } + /// The ID of the invoice section to which the product is billed. + string InvoiceSectionId { get; set; } + /// The last month charges. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount LastCharge { get; set; } + /// The currency for the amount value. + string LastChargeCurrency { get; set; } + /// The date of the last charge. + global::System.DateTime? LastChargeDate { get; set; } + /// Amount value. + float? LastChargeValue { get; set; } + /// The description of the type of product. + string ProductType { get; set; } + /// The properties of a product. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductProperties Property { get; set; } + /// The date when the product was purchased. + global::System.DateTime? PurchaseDate { get; set; } + /// The quantity purchased for the product. + float? Quantity { get; set; } + /// Reseller for this product. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller Reseller { get; set; } + /// The name of the reseller. + string ResellerDescription { get; set; } + /// The MPN ID of the reseller. + string ResellerId { get; set; } + /// The sku description of the product. + string SkuDescription { get; set; } + /// The sku ID of the product. + string SkuId { get; set; } + /// The current status of the product. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType? Status { get; set; } + /// The id of the tenant in which the product is used. + string TenantId { get; set; } + /// The ID of the type of product. + string TypeId { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Product.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/Product.json.cs new file mode 100644 index 000000000000..294322b106bb --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Product.json.cs @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// A product. + public partial class Product + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new Product(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal Product(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + __resource = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource(json); + {_property = If( json?.PropertyT("properties"), out var __jsonProperties) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ProductProperties.FromJson(__jsonProperties) : Property;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + __resource?.ToJson(container, serializationMode); + AddIf( null != this._property ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._property.ToJson(null,serializationMode) : null, "properties" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ProductProperties.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/ProductProperties.PowerShell.cs new file mode 100644 index 000000000000..5cfb0b0a6f69 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ProductProperties.PowerShell.cs @@ -0,0 +1,344 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The properties of a product. + [System.ComponentModel.TypeConverter(typeof(ProductPropertiesTypeConverter))] + public partial class ProductProperties + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductProperties DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new ProductProperties(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductProperties DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new ProductProperties(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductProperties FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal ProductProperties(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("LastCharge")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).LastCharge = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("LastCharge",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).LastCharge, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("Reseller")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).Reseller = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller) content.GetValueForProperty("Reseller",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).Reseller, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ResellerTypeConverter.ConvertFrom); + } + if (content.Contains("AutoRenew")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).AutoRenew = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AutoRenew?) content.GetValueForProperty("AutoRenew",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).AutoRenew, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AutoRenew.CreateFrom); + } + if (content.Contains("DisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).DisplayName = (string) content.GetValueForProperty("DisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).DisplayName, global::System.Convert.ToString); + } + if (content.Contains("PurchaseDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).PurchaseDate = (global::System.DateTime?) content.GetValueForProperty("PurchaseDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).PurchaseDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("ProductTypeId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).ProductTypeId = (string) content.GetValueForProperty("ProductTypeId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).ProductTypeId, global::System.Convert.ToString); + } + if (content.Contains("ProductType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).ProductType = (string) content.GetValueForProperty("ProductType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).ProductType, global::System.Convert.ToString); + } + if (content.Contains("Status")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).Status = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType?) content.GetValueForProperty("Status",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).Status, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType.CreateFrom); + } + if (content.Contains("EndDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).EndDate = (global::System.DateTime?) content.GetValueForProperty("EndDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).EndDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("BillingFrequency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).BillingFrequency = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingFrequency?) content.GetValueForProperty("BillingFrequency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).BillingFrequency, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingFrequency.CreateFrom); + } + if (content.Contains("LastChargeDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).LastChargeDate = (global::System.DateTime?) content.GetValueForProperty("LastChargeDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).LastChargeDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("Quantity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).Quantity = (float?) content.GetValueForProperty("Quantity",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).Quantity, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("SkuId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).SkuId = (string) content.GetValueForProperty("SkuId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).SkuId, global::System.Convert.ToString); + } + if (content.Contains("SkuDescription")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).SkuDescription = (string) content.GetValueForProperty("SkuDescription",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).SkuDescription, global::System.Convert.ToString); + } + if (content.Contains("TenantId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).TenantId = (string) content.GetValueForProperty("TenantId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).TenantId, global::System.Convert.ToString); + } + if (content.Contains("AvailabilityId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).AvailabilityId = (string) content.GetValueForProperty("AvailabilityId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).AvailabilityId, global::System.Convert.ToString); + } + if (content.Contains("InvoiceSectionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).InvoiceSectionId = (string) content.GetValueForProperty("InvoiceSectionId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).InvoiceSectionId, global::System.Convert.ToString); + } + if (content.Contains("InvoiceSectionDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).InvoiceSectionDisplayName = (string) content.GetValueForProperty("InvoiceSectionDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).InvoiceSectionDisplayName, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).BillingProfileId = (string) content.GetValueForProperty("BillingProfileId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).BillingProfileId, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).BillingProfileDisplayName = (string) content.GetValueForProperty("BillingProfileDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).BillingProfileDisplayName, global::System.Convert.ToString); + } + if (content.Contains("CustomerId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).CustomerId = (string) content.GetValueForProperty("CustomerId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).CustomerId, global::System.Convert.ToString); + } + if (content.Contains("CustomerDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).CustomerDisplayName = (string) content.GetValueForProperty("CustomerDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).CustomerDisplayName, global::System.Convert.ToString); + } + if (content.Contains("ResellerId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).ResellerId = (string) content.GetValueForProperty("ResellerId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).ResellerId, global::System.Convert.ToString); + } + if (content.Contains("ResellerDescription")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).ResellerDescription = (string) content.GetValueForProperty("ResellerDescription",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).ResellerDescription, global::System.Convert.ToString); + } + if (content.Contains("LastChargeCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).LastChargeCurrency = (string) content.GetValueForProperty("LastChargeCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).LastChargeCurrency, global::System.Convert.ToString); + } + if (content.Contains("LastChargeValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).LastChargeValue = (float?) content.GetValueForProperty("LastChargeValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).LastChargeValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal ProductProperties(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("LastCharge")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).LastCharge = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("LastCharge",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).LastCharge, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("Reseller")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).Reseller = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller) content.GetValueForProperty("Reseller",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).Reseller, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ResellerTypeConverter.ConvertFrom); + } + if (content.Contains("AutoRenew")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).AutoRenew = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AutoRenew?) content.GetValueForProperty("AutoRenew",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).AutoRenew, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AutoRenew.CreateFrom); + } + if (content.Contains("DisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).DisplayName = (string) content.GetValueForProperty("DisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).DisplayName, global::System.Convert.ToString); + } + if (content.Contains("PurchaseDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).PurchaseDate = (global::System.DateTime?) content.GetValueForProperty("PurchaseDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).PurchaseDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("ProductTypeId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).ProductTypeId = (string) content.GetValueForProperty("ProductTypeId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).ProductTypeId, global::System.Convert.ToString); + } + if (content.Contains("ProductType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).ProductType = (string) content.GetValueForProperty("ProductType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).ProductType, global::System.Convert.ToString); + } + if (content.Contains("Status")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).Status = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType?) content.GetValueForProperty("Status",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).Status, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType.CreateFrom); + } + if (content.Contains("EndDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).EndDate = (global::System.DateTime?) content.GetValueForProperty("EndDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).EndDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("BillingFrequency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).BillingFrequency = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingFrequency?) content.GetValueForProperty("BillingFrequency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).BillingFrequency, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingFrequency.CreateFrom); + } + if (content.Contains("LastChargeDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).LastChargeDate = (global::System.DateTime?) content.GetValueForProperty("LastChargeDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).LastChargeDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("Quantity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).Quantity = (float?) content.GetValueForProperty("Quantity",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).Quantity, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("SkuId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).SkuId = (string) content.GetValueForProperty("SkuId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).SkuId, global::System.Convert.ToString); + } + if (content.Contains("SkuDescription")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).SkuDescription = (string) content.GetValueForProperty("SkuDescription",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).SkuDescription, global::System.Convert.ToString); + } + if (content.Contains("TenantId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).TenantId = (string) content.GetValueForProperty("TenantId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).TenantId, global::System.Convert.ToString); + } + if (content.Contains("AvailabilityId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).AvailabilityId = (string) content.GetValueForProperty("AvailabilityId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).AvailabilityId, global::System.Convert.ToString); + } + if (content.Contains("InvoiceSectionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).InvoiceSectionId = (string) content.GetValueForProperty("InvoiceSectionId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).InvoiceSectionId, global::System.Convert.ToString); + } + if (content.Contains("InvoiceSectionDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).InvoiceSectionDisplayName = (string) content.GetValueForProperty("InvoiceSectionDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).InvoiceSectionDisplayName, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).BillingProfileId = (string) content.GetValueForProperty("BillingProfileId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).BillingProfileId, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).BillingProfileDisplayName = (string) content.GetValueForProperty("BillingProfileDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).BillingProfileDisplayName, global::System.Convert.ToString); + } + if (content.Contains("CustomerId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).CustomerId = (string) content.GetValueForProperty("CustomerId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).CustomerId, global::System.Convert.ToString); + } + if (content.Contains("CustomerDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).CustomerDisplayName = (string) content.GetValueForProperty("CustomerDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).CustomerDisplayName, global::System.Convert.ToString); + } + if (content.Contains("ResellerId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).ResellerId = (string) content.GetValueForProperty("ResellerId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).ResellerId, global::System.Convert.ToString); + } + if (content.Contains("ResellerDescription")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).ResellerDescription = (string) content.GetValueForProperty("ResellerDescription",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).ResellerDescription, global::System.Convert.ToString); + } + if (content.Contains("LastChargeCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).LastChargeCurrency = (string) content.GetValueForProperty("LastChargeCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).LastChargeCurrency, global::System.Convert.ToString); + } + if (content.Contains("LastChargeValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).LastChargeValue = (float?) content.GetValueForProperty("LastChargeValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal)this).LastChargeValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The properties of a product. + [System.ComponentModel.TypeConverter(typeof(ProductPropertiesTypeConverter))] + public partial interface IProductProperties + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ProductProperties.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/ProductProperties.TypeConverter.cs new file mode 100644 index 000000000000..d0f20ed50717 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ProductProperties.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class ProductPropertiesTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductProperties ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductProperties).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return ProductProperties.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return ProductProperties.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return ProductProperties.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ProductProperties.cs b/swaggerci/billing/generated/api/Models/Api20200501/ProductProperties.cs new file mode 100644 index 000000000000..164bbbd8f70f --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ProductProperties.cs @@ -0,0 +1,532 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of a product. + public partial class ProductProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductProperties, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal + { + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AutoRenew? _autoRenew; + + /// Indicates whether auto renewal is turned on or off for a product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AutoRenew? AutoRenew { get => this._autoRenew; set => this._autoRenew = value; } + + /// Backing field for property. + private string _availabilityId; + + /// The availability of the product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string AvailabilityId { get => this._availabilityId; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingFrequency? _billingFrequency; + + /// The frequency at which the product will be billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingFrequency? BillingFrequency { get => this._billingFrequency; set => this._billingFrequency = value; } + + /// Backing field for property. + private string _billingProfileDisplayName; + + /// The name of the billing profile to which the product is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string BillingProfileDisplayName { get => this._billingProfileDisplayName; } + + /// Backing field for property. + private string _billingProfileId; + + /// The ID of the billing profile to which the product is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string BillingProfileId { get => this._billingProfileId; } + + /// Backing field for property. + private string _customerDisplayName; + + /// + /// The name of the customer for whom the product was purchased. The field is applicable only for Microsoft Partner Agreement + /// billing account. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string CustomerDisplayName { get => this._customerDisplayName; } + + /// Backing field for property. + private string _customerId; + + /// + /// The ID of the customer for whom the product was purchased. The field is applicable only for Microsoft Partner Agreement + /// billing account. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string CustomerId { get => this._customerId; } + + /// Backing field for property. + private string _displayName; + + /// The display name of the product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string DisplayName { get => this._displayName; } + + /// Backing field for property. + private global::System.DateTime? _endDate; + + /// The date when the product will be renewed or canceled. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public global::System.DateTime? EndDate { get => this._endDate; } + + /// Backing field for property. + private string _invoiceSectionDisplayName; + + /// The name of the invoice section to which the product is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string InvoiceSectionDisplayName { get => this._invoiceSectionDisplayName; } + + /// Backing field for property. + private string _invoiceSectionId; + + /// The ID of the invoice section to which the product is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string InvoiceSectionId { get => this._invoiceSectionId; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount _lastCharge; + + /// The last month charges. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount LastCharge { get => (this._lastCharge = this._lastCharge ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount()); } + + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string LastChargeCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)LastCharge).Currency; } + + /// Backing field for property. + private global::System.DateTime? _lastChargeDate; + + /// The date of the last charge. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public global::System.DateTime? LastChargeDate { get => this._lastChargeDate; } + + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? LastChargeValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)LastCharge).Value; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)LastCharge).Value = value ?? default(float); } + + /// Internal Acessors for AvailabilityId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal.AvailabilityId { get => this._availabilityId; set { {_availabilityId = value;} } } + + /// Internal Acessors for BillingProfileDisplayName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal.BillingProfileDisplayName { get => this._billingProfileDisplayName; set { {_billingProfileDisplayName = value;} } } + + /// Internal Acessors for BillingProfileId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal.BillingProfileId { get => this._billingProfileId; set { {_billingProfileId = value;} } } + + /// Internal Acessors for CustomerDisplayName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal.CustomerDisplayName { get => this._customerDisplayName; set { {_customerDisplayName = value;} } } + + /// Internal Acessors for CustomerId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal.CustomerId { get => this._customerId; set { {_customerId = value;} } } + + /// Internal Acessors for DisplayName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal.DisplayName { get => this._displayName; set { {_displayName = value;} } } + + /// Internal Acessors for EndDate + global::System.DateTime? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal.EndDate { get => this._endDate; set { {_endDate = value;} } } + + /// Internal Acessors for InvoiceSectionDisplayName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal.InvoiceSectionDisplayName { get => this._invoiceSectionDisplayName; set { {_invoiceSectionDisplayName = value;} } } + + /// Internal Acessors for InvoiceSectionId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal.InvoiceSectionId { get => this._invoiceSectionId; set { {_invoiceSectionId = value;} } } + + /// Internal Acessors for LastCharge + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal.LastCharge { get => (this._lastCharge = this._lastCharge ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount()); set { {_lastCharge = value;} } } + + /// Internal Acessors for LastChargeCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal.LastChargeCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)LastCharge).Currency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)LastCharge).Currency = value; } + + /// Internal Acessors for LastChargeDate + global::System.DateTime? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal.LastChargeDate { get => this._lastChargeDate; set { {_lastChargeDate = value;} } } + + /// Internal Acessors for ProductType + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal.ProductType { get => this._productType; set { {_productType = value;} } } + + /// Internal Acessors for ProductTypeId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal.ProductTypeId { get => this._productTypeId; set { {_productTypeId = value;} } } + + /// Internal Acessors for PurchaseDate + global::System.DateTime? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal.PurchaseDate { get => this._purchaseDate; set { {_purchaseDate = value;} } } + + /// Internal Acessors for Quantity + float? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal.Quantity { get => this._quantity; set { {_quantity = value;} } } + + /// Internal Acessors for Reseller + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal.Reseller { get => (this._reseller = this._reseller ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Reseller()); set { {_reseller = value;} } } + + /// Internal Acessors for ResellerDescription + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal.ResellerDescription { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IResellerInternal)Reseller).Description; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IResellerInternal)Reseller).Description = value; } + + /// Internal Acessors for ResellerId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal.ResellerId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IResellerInternal)Reseller).Id; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IResellerInternal)Reseller).Id = value; } + + /// Internal Acessors for SkuDescription + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal.SkuDescription { get => this._skuDescription; set { {_skuDescription = value;} } } + + /// Internal Acessors for SkuId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal.SkuId { get => this._skuId; set { {_skuId = value;} } } + + /// Internal Acessors for TenantId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductPropertiesInternal.TenantId { get => this._tenantId; set { {_tenantId = value;} } } + + /// Backing field for property. + private string _productType; + + /// The description of the type of product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string ProductType { get => this._productType; } + + /// Backing field for property. + private string _productTypeId; + + /// The ID of the type of product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string ProductTypeId { get => this._productTypeId; } + + /// Backing field for property. + private global::System.DateTime? _purchaseDate; + + /// The date when the product was purchased. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public global::System.DateTime? PurchaseDate { get => this._purchaseDate; } + + /// Backing field for property. + private float? _quantity; + + /// The quantity purchased for the product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public float? Quantity { get => this._quantity; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller _reseller; + + /// Reseller for this product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller Reseller { get => (this._reseller = this._reseller ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Reseller()); } + + /// The name of the reseller. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string ResellerDescription { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IResellerInternal)Reseller).Description; } + + /// The MPN ID of the reseller. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string ResellerId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IResellerInternal)Reseller).Id; } + + /// Backing field for property. + private string _skuDescription; + + /// The sku description of the product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string SkuDescription { get => this._skuDescription; } + + /// Backing field for property. + private string _skuId; + + /// The sku ID of the product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string SkuId { get => this._skuId; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType? _status; + + /// The current status of the product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType? Status { get => this._status; set => this._status = value; } + + /// Backing field for property. + private string _tenantId; + + /// The id of the tenant in which the product is used. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string TenantId { get => this._tenantId; } + + /// Creates an new instance. + public ProductProperties() + { + + } + } + /// The properties of a product. + public partial interface IProductProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// Indicates whether auto renewal is turned on or off for a product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Indicates whether auto renewal is turned on or off for a product.", + SerializedName = @"autoRenew", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AutoRenew) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AutoRenew? AutoRenew { get; set; } + /// The availability of the product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The availability of the product.", + SerializedName = @"availabilityId", + PossibleTypes = new [] { typeof(string) })] + string AvailabilityId { get; } + /// The frequency at which the product will be billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The frequency at which the product will be billed.", + SerializedName = @"billingFrequency", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingFrequency) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingFrequency? BillingFrequency { get; set; } + /// The name of the billing profile to which the product is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the billing profile to which the product is billed.", + SerializedName = @"billingProfileDisplayName", + PossibleTypes = new [] { typeof(string) })] + string BillingProfileDisplayName { get; } + /// The ID of the billing profile to which the product is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the billing profile to which the product is billed.", + SerializedName = @"billingProfileId", + PossibleTypes = new [] { typeof(string) })] + string BillingProfileId { get; } + /// + /// The name of the customer for whom the product was purchased. The field is applicable only for Microsoft Partner Agreement + /// billing account. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the customer for whom the product was purchased. The field is applicable only for Microsoft Partner Agreement billing account.", + SerializedName = @"customerDisplayName", + PossibleTypes = new [] { typeof(string) })] + string CustomerDisplayName { get; } + /// + /// The ID of the customer for whom the product was purchased. The field is applicable only for Microsoft Partner Agreement + /// billing account. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the customer for whom the product was purchased. The field is applicable only for Microsoft Partner Agreement billing account.", + SerializedName = @"customerId", + PossibleTypes = new [] { typeof(string) })] + string CustomerId { get; } + /// The display name of the product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The display name of the product.", + SerializedName = @"displayName", + PossibleTypes = new [] { typeof(string) })] + string DisplayName { get; } + /// The date when the product will be renewed or canceled. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The date when the product will be renewed or canceled.", + SerializedName = @"endDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? EndDate { get; } + /// The name of the invoice section to which the product is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the invoice section to which the product is billed.", + SerializedName = @"invoiceSectionDisplayName", + PossibleTypes = new [] { typeof(string) })] + string InvoiceSectionDisplayName { get; } + /// The ID of the invoice section to which the product is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the invoice section to which the product is billed.", + SerializedName = @"invoiceSectionId", + PossibleTypes = new [] { typeof(string) })] + string InvoiceSectionId { get; } + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The currency for the amount value.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string LastChargeCurrency { get; } + /// The date of the last charge. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The date of the last charge.", + SerializedName = @"lastChargeDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? LastChargeDate { get; } + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Amount value.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(float) })] + float? LastChargeValue { get; set; } + /// The description of the type of product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The description of the type of product.", + SerializedName = @"productType", + PossibleTypes = new [] { typeof(string) })] + string ProductType { get; } + /// The ID of the type of product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the type of product.", + SerializedName = @"productTypeId", + PossibleTypes = new [] { typeof(string) })] + string ProductTypeId { get; } + /// The date when the product was purchased. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The date when the product was purchased.", + SerializedName = @"purchaseDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? PurchaseDate { get; } + /// The quantity purchased for the product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The quantity purchased for the product.", + SerializedName = @"quantity", + PossibleTypes = new [] { typeof(float) })] + float? Quantity { get; } + /// The name of the reseller. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the reseller.", + SerializedName = @"description", + PossibleTypes = new [] { typeof(string) })] + string ResellerDescription { get; } + /// The MPN ID of the reseller. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The MPN ID of the reseller.", + SerializedName = @"resellerId", + PossibleTypes = new [] { typeof(string) })] + string ResellerId { get; } + /// The sku description of the product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The sku description of the product.", + SerializedName = @"skuDescription", + PossibleTypes = new [] { typeof(string) })] + string SkuDescription { get; } + /// The sku ID of the product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The sku ID of the product.", + SerializedName = @"skuId", + PossibleTypes = new [] { typeof(string) })] + string SkuId { get; } + /// The current status of the product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The current status of the product.", + SerializedName = @"status", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType? Status { get; set; } + /// The id of the tenant in which the product is used. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The id of the tenant in which the product is used.", + SerializedName = @"tenantId", + PossibleTypes = new [] { typeof(string) })] + string TenantId { get; } + + } + /// The properties of a product. + internal partial interface IProductPropertiesInternal + + { + /// Indicates whether auto renewal is turned on or off for a product. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AutoRenew? AutoRenew { get; set; } + /// The availability of the product. + string AvailabilityId { get; set; } + /// The frequency at which the product will be billed. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingFrequency? BillingFrequency { get; set; } + /// The name of the billing profile to which the product is billed. + string BillingProfileDisplayName { get; set; } + /// The ID of the billing profile to which the product is billed. + string BillingProfileId { get; set; } + /// + /// The name of the customer for whom the product was purchased. The field is applicable only for Microsoft Partner Agreement + /// billing account. + /// + string CustomerDisplayName { get; set; } + /// + /// The ID of the customer for whom the product was purchased. The field is applicable only for Microsoft Partner Agreement + /// billing account. + /// + string CustomerId { get; set; } + /// The display name of the product. + string DisplayName { get; set; } + /// The date when the product will be renewed or canceled. + global::System.DateTime? EndDate { get; set; } + /// The name of the invoice section to which the product is billed. + string InvoiceSectionDisplayName { get; set; } + /// The ID of the invoice section to which the product is billed. + string InvoiceSectionId { get; set; } + /// The last month charges. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount LastCharge { get; set; } + /// The currency for the amount value. + string LastChargeCurrency { get; set; } + /// The date of the last charge. + global::System.DateTime? LastChargeDate { get; set; } + /// Amount value. + float? LastChargeValue { get; set; } + /// The description of the type of product. + string ProductType { get; set; } + /// The ID of the type of product. + string ProductTypeId { get; set; } + /// The date when the product was purchased. + global::System.DateTime? PurchaseDate { get; set; } + /// The quantity purchased for the product. + float? Quantity { get; set; } + /// Reseller for this product. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller Reseller { get; set; } + /// The name of the reseller. + string ResellerDescription { get; set; } + /// The MPN ID of the reseller. + string ResellerId { get; set; } + /// The sku description of the product. + string SkuDescription { get; set; } + /// The sku ID of the product. + string SkuId { get; set; } + /// The current status of the product. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType? Status { get; set; } + /// The id of the tenant in which the product is used. + string TenantId { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ProductProperties.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/ProductProperties.json.cs new file mode 100644 index 000000000000..82dd598f4b48 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ProductProperties.json.cs @@ -0,0 +1,207 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of a product. + public partial class ProductProperties + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductProperties. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductProperties. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductProperties FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new ProductProperties(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal ProductProperties(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_lastCharge = If( json?.PropertyT("lastCharge"), out var __jsonLastCharge) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount.FromJson(__jsonLastCharge) : LastCharge;} + {_reseller = If( json?.PropertyT("reseller"), out var __jsonReseller) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Reseller.FromJson(__jsonReseller) : Reseller;} + {_autoRenew = If( json?.PropertyT("autoRenew"), out var __jsonAutoRenew) ? (string)__jsonAutoRenew : (string)AutoRenew;} + {_displayName = If( json?.PropertyT("displayName"), out var __jsonDisplayName) ? (string)__jsonDisplayName : (string)DisplayName;} + {_purchaseDate = If( json?.PropertyT("purchaseDate"), out var __jsonPurchaseDate) ? global::System.DateTime.TryParse((string)__jsonPurchaseDate, global::System.Globalization.CultureInfo.InvariantCulture, global::System.Globalization.DateTimeStyles.AdjustToUniversal, out var __jsonPurchaseDateValue) ? __jsonPurchaseDateValue : PurchaseDate : PurchaseDate;} + {_productTypeId = If( json?.PropertyT("productTypeId"), out var __jsonProductTypeId) ? (string)__jsonProductTypeId : (string)ProductTypeId;} + {_productType = If( json?.PropertyT("productType"), out var __jsonProductType) ? (string)__jsonProductType : (string)ProductType;} + {_status = If( json?.PropertyT("status"), out var __jsonStatus) ? (string)__jsonStatus : (string)Status;} + {_endDate = If( json?.PropertyT("endDate"), out var __jsonEndDate) ? global::System.DateTime.TryParse((string)__jsonEndDate, global::System.Globalization.CultureInfo.InvariantCulture, global::System.Globalization.DateTimeStyles.AdjustToUniversal, out var __jsonEndDateValue) ? __jsonEndDateValue : EndDate : EndDate;} + {_billingFrequency = If( json?.PropertyT("billingFrequency"), out var __jsonBillingFrequency) ? (string)__jsonBillingFrequency : (string)BillingFrequency;} + {_lastChargeDate = If( json?.PropertyT("lastChargeDate"), out var __jsonLastChargeDate) ? global::System.DateTime.TryParse((string)__jsonLastChargeDate, global::System.Globalization.CultureInfo.InvariantCulture, global::System.Globalization.DateTimeStyles.AdjustToUniversal, out var __jsonLastChargeDateValue) ? __jsonLastChargeDateValue : LastChargeDate : LastChargeDate;} + {_quantity = If( json?.PropertyT("quantity"), out var __jsonQuantity) ? (float?)__jsonQuantity : Quantity;} + {_skuId = If( json?.PropertyT("skuId"), out var __jsonSkuId) ? (string)__jsonSkuId : (string)SkuId;} + {_skuDescription = If( json?.PropertyT("skuDescription"), out var __jsonSkuDescription) ? (string)__jsonSkuDescription : (string)SkuDescription;} + {_tenantId = If( json?.PropertyT("tenantId"), out var __jsonTenantId) ? (string)__jsonTenantId : (string)TenantId;} + {_availabilityId = If( json?.PropertyT("availabilityId"), out var __jsonAvailabilityId) ? (string)__jsonAvailabilityId : (string)AvailabilityId;} + {_invoiceSectionId = If( json?.PropertyT("invoiceSectionId"), out var __jsonInvoiceSectionId) ? (string)__jsonInvoiceSectionId : (string)InvoiceSectionId;} + {_invoiceSectionDisplayName = If( json?.PropertyT("invoiceSectionDisplayName"), out var __jsonInvoiceSectionDisplayName) ? (string)__jsonInvoiceSectionDisplayName : (string)InvoiceSectionDisplayName;} + {_billingProfileId = If( json?.PropertyT("billingProfileId"), out var __jsonBillingProfileId) ? (string)__jsonBillingProfileId : (string)BillingProfileId;} + {_billingProfileDisplayName = If( json?.PropertyT("billingProfileDisplayName"), out var __jsonBillingProfileDisplayName) ? (string)__jsonBillingProfileDisplayName : (string)BillingProfileDisplayName;} + {_customerId = If( json?.PropertyT("customerId"), out var __jsonCustomerId) ? (string)__jsonCustomerId : (string)CustomerId;} + {_customerDisplayName = If( json?.PropertyT("customerDisplayName"), out var __jsonCustomerDisplayName) ? (string)__jsonCustomerDisplayName : (string)CustomerDisplayName;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._lastCharge ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._lastCharge.ToJson(null,serializationMode) : null, "lastCharge" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._reseller ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._reseller.ToJson(null,serializationMode) : null, "reseller" ,container.Add ); + } + AddIf( null != (((object)this._autoRenew)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._autoRenew.ToString()) : null, "autoRenew" ,container.Add ); + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._displayName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._displayName.ToString()) : null, "displayName" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._purchaseDate ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._purchaseDate?.ToString(@"yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK",global::System.Globalization.CultureInfo.InvariantCulture)) : null, "purchaseDate" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._productTypeId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._productTypeId.ToString()) : null, "productTypeId" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._productType)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._productType.ToString()) : null, "productType" ,container.Add ); + } + AddIf( null != (((object)this._status)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._status.ToString()) : null, "status" ,container.Add ); + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._endDate ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._endDate?.ToString(@"yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK",global::System.Globalization.CultureInfo.InvariantCulture)) : null, "endDate" ,container.Add ); + } + AddIf( null != (((object)this._billingFrequency)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._billingFrequency.ToString()) : null, "billingFrequency" ,container.Add ); + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._lastChargeDate ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._lastChargeDate?.ToString(@"yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK",global::System.Globalization.CultureInfo.InvariantCulture)) : null, "lastChargeDate" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._quantity ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNumber((float)this._quantity) : null, "quantity" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._skuId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._skuId.ToString()) : null, "skuId" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._skuDescription)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._skuDescription.ToString()) : null, "skuDescription" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._tenantId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._tenantId.ToString()) : null, "tenantId" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._availabilityId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._availabilityId.ToString()) : null, "availabilityId" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._invoiceSectionId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._invoiceSectionId.ToString()) : null, "invoiceSectionId" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._invoiceSectionDisplayName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._invoiceSectionDisplayName.ToString()) : null, "invoiceSectionDisplayName" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._billingProfileId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._billingProfileId.ToString()) : null, "billingProfileId" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._billingProfileDisplayName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._billingProfileDisplayName.ToString()) : null, "billingProfileDisplayName" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._customerId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._customerId.ToString()) : null, "customerId" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._customerDisplayName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._customerDisplayName.ToString()) : null, "customerDisplayName" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ProductsListResult.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/ProductsListResult.PowerShell.cs new file mode 100644 index 000000000000..e572421485ab --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ProductsListResult.PowerShell.cs @@ -0,0 +1,162 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// The list of products. It contains a list of available product summaries in reverse chronological order by purchase date. + /// + [System.ComponentModel.TypeConverter(typeof(ProductsListResultTypeConverter))] + public partial class ProductsListResult + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductsListResult DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new ProductsListResult(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductsListResult DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new ProductsListResult(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductsListResult FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal ProductsListResult(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductsListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductsListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ProductTypeConverter.ConvertFrom)); + } + if (content.Contains("TotalCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductsListResultInternal)this).TotalCount = (int?) content.GetValueForProperty("TotalCount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductsListResultInternal)this).TotalCount, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductsListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductsListResultInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal ProductsListResult(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductsListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductsListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ProductTypeConverter.ConvertFrom)); + } + if (content.Contains("TotalCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductsListResultInternal)this).TotalCount = (int?) content.GetValueForProperty("TotalCount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductsListResultInternal)this).TotalCount, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductsListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductsListResultInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The list of products. It contains a list of available product summaries in reverse chronological order by purchase date. + [System.ComponentModel.TypeConverter(typeof(ProductsListResultTypeConverter))] + public partial interface IProductsListResult + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ProductsListResult.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/ProductsListResult.TypeConverter.cs new file mode 100644 index 000000000000..5378fa58549b --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ProductsListResult.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class ProductsListResultTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductsListResult ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductsListResult).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return ProductsListResult.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return ProductsListResult.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return ProductsListResult.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ProductsListResult.cs b/swaggerci/billing/generated/api/Models/Api20200501/ProductsListResult.cs new file mode 100644 index 000000000000..297758fa6a41 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ProductsListResult.cs @@ -0,0 +1,96 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// + /// The list of products. It contains a list of available product summaries in reverse chronological order by purchase date. + /// + public partial class ProductsListResult : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductsListResult, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductsListResultInternal + { + + /// Internal Acessors for NextLink + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductsListResultInternal.NextLink { get => this._nextLink; set { {_nextLink = value;} } } + + /// Internal Acessors for TotalCount + int? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductsListResultInternal.TotalCount { get => this._totalCount; set { {_totalCount = value;} } } + + /// Internal Acessors for Value + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct[] Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductsListResultInternal.Value { get => this._value; set { {_value = value;} } } + + /// Backing field for property. + private string _nextLink; + + /// The link (url) to the next page of results. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string NextLink { get => this._nextLink; } + + /// Backing field for property. + private int? _totalCount; + + /// Total number of records. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public int? TotalCount { get => this._totalCount; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct[] _value; + + /// The list of products. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct[] Value { get => this._value; } + + /// Creates an new instance. + public ProductsListResult() + { + + } + } + /// The list of products. It contains a list of available product summaries in reverse chronological order by purchase date. + public partial interface IProductsListResult : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The link (url) to the next page of results. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The link (url) to the next page of results.", + SerializedName = @"nextLink", + PossibleTypes = new [] { typeof(string) })] + string NextLink { get; } + /// Total number of records. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Total number of records.", + SerializedName = @"totalCount", + PossibleTypes = new [] { typeof(int) })] + int? TotalCount { get; } + /// The list of products. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The list of products.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct[] Value { get; } + + } + /// The list of products. It contains a list of available product summaries in reverse chronological order by purchase date. + internal partial interface IProductsListResultInternal + + { + /// The link (url) to the next page of results. + string NextLink { get; set; } + /// Total number of records. + int? TotalCount { get; set; } + /// The list of products. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct[] Value { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ProductsListResult.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/ProductsListResult.json.cs new file mode 100644 index 000000000000..eb9f546f15d4 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ProductsListResult.json.cs @@ -0,0 +1,131 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// + /// The list of products. It contains a list of available product summaries in reverse chronological order by purchase date. + /// + public partial class ProductsListResult + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductsListResult. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductsListResult. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductsListResult FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new ProductsListResult(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal ProductsListResult(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_value = If( json?.PropertyT("value"), out var __jsonValue) ? If( __jsonValue as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct) (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Product.FromJson(__u) )) ))() : null : Value;} + {_totalCount = If( json?.PropertyT("totalCount"), out var __jsonTotalCount) ? (int?)__jsonTotalCount : TotalCount;} + {_nextLink = If( json?.PropertyT("nextLink"), out var __jsonNextLink) ? (string)__jsonNextLink : (string)NextLink;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + if (null != this._value) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(); + foreach( var __x in this._value ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("value",__w); + } + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._totalCount ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNumber((int)this._totalCount) : null, "totalCount" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._nextLink)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._nextLink.ToString()) : null, "nextLink" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/RebillDetails.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/RebillDetails.PowerShell.cs new file mode 100644 index 000000000000..1a3f729d7c20 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/RebillDetails.PowerShell.cs @@ -0,0 +1,140 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// Rebill details for an invoice. + [System.ComponentModel.TypeConverter(typeof(RebillDetailsTypeConverter))] + public partial class RebillDetails + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new RebillDetails(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new RebillDetails(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal RebillDetails(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + // this type is a dictionary; copy elements from source to here. + CopyFrom(content); + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal RebillDetails(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + // this type is a dictionary; copy elements from source to here. + CopyFrom(content); + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Rebill details for an invoice. + [System.ComponentModel.TypeConverter(typeof(RebillDetailsTypeConverter))] + public partial interface IRebillDetails + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/RebillDetails.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/RebillDetails.TypeConverter.cs new file mode 100644 index 000000000000..8bf3970432f5 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/RebillDetails.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class RebillDetailsTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return RebillDetails.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return RebillDetails.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return RebillDetails.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/RebillDetails.cs b/swaggerci/billing/generated/api/Models/Api20200501/RebillDetails.cs new file mode 100644 index 000000000000..94424fb9a424 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/RebillDetails.cs @@ -0,0 +1,35 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// Rebill details for an invoice. + public partial class RebillDetails : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetailsInternal + { + + /// Creates an new instance. + public RebillDetails() + { + + } + } + /// Rebill details for an invoice. + public partial interface IRebillDetails : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IAssociativeArray + { + + } + /// Rebill details for an invoice. + internal partial interface IRebillDetailsInternal + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/RebillDetails.dictionary.cs b/swaggerci/billing/generated/api/Models/Api20200501/RebillDetails.dictionary.cs new file mode 100644 index 000000000000..4ff9f7809147 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/RebillDetails.dictionary.cs @@ -0,0 +1,75 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + public partial class RebillDetails : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IAssociativeArray + { + protected global::System.Collections.Generic.Dictionary __additionalProperties = new global::System.Collections.Generic.Dictionary(); + + global::System.Collections.Generic.IDictionary Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IAssociativeArray.AdditionalProperties { get => __additionalProperties; } + + int Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IAssociativeArray.Count { get => __additionalProperties.Count; } + + global::System.Collections.Generic.IEnumerable Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IAssociativeArray.Keys { get => __additionalProperties.Keys; } + + global::System.Collections.Generic.IEnumerable Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IAssociativeArray.Values { get => __additionalProperties.Values; } + + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails1 this[global::System.String index] { get => __additionalProperties[index]; set => __additionalProperties[index] = value; } + + /// + /// + public void Add(global::System.String key, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails1 value) => __additionalProperties.Add( key, value); + + public void Clear() => __additionalProperties.Clear(); + + /// + public bool ContainsKey(global::System.String key) => __additionalProperties.ContainsKey( key); + + /// + public void CopyFrom(global::System.Collections.IDictionary source) + { + if (null != source) + { + foreach( var property in Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.TypeConverterExtensions.GetFilteredProperties(source, new global::System.Collections.Generic.HashSet() { } ) ) + { + if ((null != property.Key && null != property.Value)) + { + this.__additionalProperties.Add(property.Key.ToString(), global::System.Management.Automation.LanguagePrimitives.ConvertTo( property.Value)); + } + } + } + } + + /// + public void CopyFrom(global::System.Management.Automation.PSObject source) + { + if (null != source) + { + foreach( var property in Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.TypeConverterExtensions.GetFilteredProperties(source, new global::System.Collections.Generic.HashSet() { } ) ) + { + if ((null != property.Key && null != property.Value)) + { + this.__additionalProperties.Add(property.Key.ToString(), global::System.Management.Automation.LanguagePrimitives.ConvertTo( property.Value)); + } + } + } + } + + /// + public bool Remove(global::System.String key) => __additionalProperties.Remove( key); + + /// + /// + public bool TryGetValue(global::System.String key, out Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails1 value) => __additionalProperties.TryGetValue( key, out value); + + /// + + public static implicit operator global::System.Collections.Generic.Dictionary(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.RebillDetails source) => source.__additionalProperties; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/RebillDetails.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/RebillDetails.json.cs new file mode 100644 index 000000000000..e39bdee58b04 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/RebillDetails.json.cs @@ -0,0 +1,109 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// Rebill details for an invoice. + public partial class RebillDetails + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new RebillDetails(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + /// + internal RebillDetails(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, global::System.Collections.Generic.HashSet exclusions = null) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.JsonSerializable.FromJson( json, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IAssociativeArray)this).AdditionalProperties, (j) => Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.RebillDetails1.FromJson(j) ,exclusions ); + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.JsonSerializable.ToJson( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IAssociativeArray)this).AdditionalProperties, container); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/RebillDetails1.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/RebillDetails1.PowerShell.cs new file mode 100644 index 000000000000..f9cfe12cafe7 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/RebillDetails1.PowerShell.cs @@ -0,0 +1,160 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The rebill details of an invoice. + [System.ComponentModel.TypeConverter(typeof(RebillDetails1TypeConverter))] + public partial class RebillDetails1 + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails1 DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new RebillDetails1(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails1 DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new RebillDetails1(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails1 FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal RebillDetails1(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("CreditNoteDocumentId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails1Internal)this).CreditNoteDocumentId = (string) content.GetValueForProperty("CreditNoteDocumentId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails1Internal)this).CreditNoteDocumentId, global::System.Convert.ToString); + } + if (content.Contains("InvoiceDocumentId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails1Internal)this).InvoiceDocumentId = (string) content.GetValueForProperty("InvoiceDocumentId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails1Internal)this).InvoiceDocumentId, global::System.Convert.ToString); + } + if (content.Contains("RebillDetail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails1Internal)this).RebillDetail = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails) content.GetValueForProperty("RebillDetail",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails1Internal)this).RebillDetail, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.RebillDetailsTypeConverter.ConvertFrom); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal RebillDetails1(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("CreditNoteDocumentId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails1Internal)this).CreditNoteDocumentId = (string) content.GetValueForProperty("CreditNoteDocumentId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails1Internal)this).CreditNoteDocumentId, global::System.Convert.ToString); + } + if (content.Contains("InvoiceDocumentId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails1Internal)this).InvoiceDocumentId = (string) content.GetValueForProperty("InvoiceDocumentId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails1Internal)this).InvoiceDocumentId, global::System.Convert.ToString); + } + if (content.Contains("RebillDetail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails1Internal)this).RebillDetail = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails) content.GetValueForProperty("RebillDetail",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails1Internal)this).RebillDetail, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.RebillDetailsTypeConverter.ConvertFrom); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The rebill details of an invoice. + [System.ComponentModel.TypeConverter(typeof(RebillDetails1TypeConverter))] + public partial interface IRebillDetails1 + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/RebillDetails1.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/RebillDetails1.TypeConverter.cs new file mode 100644 index 000000000000..67aebb090bb5 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/RebillDetails1.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class RebillDetails1TypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails1 ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails1).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return RebillDetails1.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return RebillDetails1.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return RebillDetails1.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/RebillDetails1.cs b/swaggerci/billing/generated/api/Models/Api20200501/RebillDetails1.cs new file mode 100644 index 000000000000..e3ddfa0eb449 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/RebillDetails1.cs @@ -0,0 +1,94 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The rebill details of an invoice. + public partial class RebillDetails1 : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails1, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails1Internal + { + + /// Backing field for property. + private string _creditNoteDocumentId; + + /// The ID of credit note. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string CreditNoteDocumentId { get => this._creditNoteDocumentId; } + + /// Backing field for property. + private string _invoiceDocumentId; + + /// The ID of invoice. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string InvoiceDocumentId { get => this._invoiceDocumentId; } + + /// Internal Acessors for CreditNoteDocumentId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails1Internal.CreditNoteDocumentId { get => this._creditNoteDocumentId; set { {_creditNoteDocumentId = value;} } } + + /// Internal Acessors for InvoiceDocumentId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails1Internal.InvoiceDocumentId { get => this._invoiceDocumentId; set { {_invoiceDocumentId = value;} } } + + /// Internal Acessors for RebillDetail + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails1Internal.RebillDetail { get => (this._rebillDetail = this._rebillDetail ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.RebillDetails()); set { {_rebillDetail = value;} } } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails _rebillDetail; + + /// Rebill details for an invoice. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails RebillDetail { get => (this._rebillDetail = this._rebillDetail ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.RebillDetails()); } + + /// Creates an new instance. + public RebillDetails1() + { + + } + } + /// The rebill details of an invoice. + public partial interface IRebillDetails1 : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The ID of credit note. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of credit note.", + SerializedName = @"creditNoteDocumentId", + PossibleTypes = new [] { typeof(string) })] + string CreditNoteDocumentId { get; } + /// The ID of invoice. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of invoice.", + SerializedName = @"invoiceDocumentId", + PossibleTypes = new [] { typeof(string) })] + string InvoiceDocumentId { get; } + /// Rebill details for an invoice. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Rebill details for an invoice.", + SerializedName = @"rebillDetails", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails RebillDetail { get; } + + } + /// The rebill details of an invoice. + internal partial interface IRebillDetails1Internal + + { + /// The ID of credit note. + string CreditNoteDocumentId { get; set; } + /// The ID of invoice. + string InvoiceDocumentId { get; set; } + /// Rebill details for an invoice. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails RebillDetail { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/RebillDetails1.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/RebillDetails1.json.cs new file mode 100644 index 000000000000..8bc7c06d6ab8 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/RebillDetails1.json.cs @@ -0,0 +1,121 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The rebill details of an invoice. + public partial class RebillDetails1 + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails1. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails1. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IRebillDetails1 FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new RebillDetails1(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal RebillDetails1(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_creditNoteDocumentId = If( json?.PropertyT("creditNoteDocumentId"), out var __jsonCreditNoteDocumentId) ? (string)__jsonCreditNoteDocumentId : (string)CreditNoteDocumentId;} + {_invoiceDocumentId = If( json?.PropertyT("invoiceDocumentId"), out var __jsonInvoiceDocumentId) ? (string)__jsonInvoiceDocumentId : (string)InvoiceDocumentId;} + {_rebillDetail = If( json?.PropertyT("rebillDetails"), out var __jsonRebillDetails) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.RebillDetails.FromJson(__jsonRebillDetails) : RebillDetail;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._creditNoteDocumentId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._creditNoteDocumentId.ToString()) : null, "creditNoteDocumentId" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._invoiceDocumentId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._invoiceDocumentId.ToString()) : null, "invoiceDocumentId" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._rebillDetail ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._rebillDetail.ToJson(null,serializationMode) : null, "rebillDetails" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Reseller.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/Reseller.PowerShell.cs new file mode 100644 index 000000000000..bf64fe2773a8 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Reseller.PowerShell.cs @@ -0,0 +1,152 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// Details of the reseller. + [System.ComponentModel.TypeConverter(typeof(ResellerTypeConverter))] + public partial class Reseller + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new Reseller(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new Reseller(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal Reseller(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IResellerInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IResellerInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Description")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IResellerInternal)this).Description = (string) content.GetValueForProperty("Description",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IResellerInternal)this).Description, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal Reseller(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IResellerInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IResellerInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Description")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IResellerInternal)this).Description = (string) content.GetValueForProperty("Description",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IResellerInternal)this).Description, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Details of the reseller. + [System.ComponentModel.TypeConverter(typeof(ResellerTypeConverter))] + public partial interface IReseller + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Reseller.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/Reseller.TypeConverter.cs new file mode 100644 index 000000000000..c96393fe25e6 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Reseller.TypeConverter.cs @@ -0,0 +1,146 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class ResellerTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return Reseller.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return Reseller.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return Reseller.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Reseller.cs b/swaggerci/billing/generated/api/Models/Api20200501/Reseller.cs new file mode 100644 index 000000000000..f8f6269c2ca8 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Reseller.cs @@ -0,0 +1,74 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// Details of the reseller. + public partial class Reseller : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IResellerInternal + { + + /// Backing field for property. + private string _description; + + /// The name of the reseller. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Description { get => this._description; } + + /// Backing field for property. + private string _id; + + /// The MPN ID of the reseller. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Id { get => this._id; } + + /// Internal Acessors for Description + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IResellerInternal.Description { get => this._description; set { {_description = value;} } } + + /// Internal Acessors for Id + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IResellerInternal.Id { get => this._id; set { {_id = value;} } } + + /// Creates an new instance. + public Reseller() + { + + } + } + /// Details of the reseller. + public partial interface IReseller : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The name of the reseller. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the reseller.", + SerializedName = @"description", + PossibleTypes = new [] { typeof(string) })] + string Description { get; } + /// The MPN ID of the reseller. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The MPN ID of the reseller.", + SerializedName = @"resellerId", + PossibleTypes = new [] { typeof(string) })] + string Id { get; } + + } + /// Details of the reseller. + internal partial interface IResellerInternal + + { + /// The name of the reseller. + string Description { get; set; } + /// The MPN ID of the reseller. + string Id { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Reseller.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/Reseller.json.cs new file mode 100644 index 000000000000..8cb8f3235ab4 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Reseller.json.cs @@ -0,0 +1,116 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// Details of the reseller. + public partial class Reseller + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReseller FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new Reseller(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal Reseller(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_id = If( json?.PropertyT("resellerId"), out var __jsonResellerId) ? (string)__jsonResellerId : (string)Id;} + {_description = If( json?.PropertyT("description"), out var __jsonDescription) ? (string)__jsonDescription : (string)Description;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._id)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._id.ToString()) : null, "resellerId" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._description)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._description.ToString()) : null, "description" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Reservation.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/Reservation.PowerShell.cs new file mode 100644 index 000000000000..0bd02b9b410c --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Reservation.PowerShell.cs @@ -0,0 +1,344 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The definition of the reservation. + [System.ComponentModel.TypeConverter(typeof(ReservationTypeConverter))] + public partial class Reservation + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservation DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new Reservation(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservation DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new Reservation(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservation FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal Reservation(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Sku")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).Sku = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSkuProperty) content.GetValueForProperty("Sku",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).Sku, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationSkuPropertyTypeConverter.ConvertFrom); + } + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationProperty) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationPropertyTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("Location")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).Location = (string) content.GetValueForProperty("Location",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).Location, global::System.Convert.ToString); + } + if (content.Contains("SkuName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).SkuName = (string) content.GetValueForProperty("SkuName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).SkuName, global::System.Convert.ToString); + } + if (content.Contains("Utilization")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).Utilization = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyUtilization) content.GetValueForProperty("Utilization",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).Utilization, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationPropertyUtilizationTypeConverter.ConvertFrom); + } + if (content.Contains("AppliedScope")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).AppliedScope = (string[]) content.GetValueForProperty("AppliedScope",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).AppliedScope, __y => TypeConverterExtensions.SelectToArray(__y, global::System.Convert.ToString)); + } + if (content.Contains("AppliedScopeType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).AppliedScopeType = (string) content.GetValueForProperty("AppliedScopeType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).AppliedScopeType, global::System.Convert.ToString); + } + if (content.Contains("ReservedResourceType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).ReservedResourceType = (string) content.GetValueForProperty("ReservedResourceType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).ReservedResourceType, global::System.Convert.ToString); + } + if (content.Contains("Quantity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).Quantity = (float?) content.GetValueForProperty("Quantity",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).Quantity, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("ProvisioningState")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).ProvisioningState = (string) content.GetValueForProperty("ProvisioningState",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).ProvisioningState, global::System.Convert.ToString); + } + if (content.Contains("ExpiryDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).ExpiryDate = (string) content.GetValueForProperty("ExpiryDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).ExpiryDate, global::System.Convert.ToString); + } + if (content.Contains("ProvisioningSubState")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).ProvisioningSubState = (string) content.GetValueForProperty("ProvisioningSubState",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).ProvisioningSubState, global::System.Convert.ToString); + } + if (content.Contains("DisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).DisplayName = (string) content.GetValueForProperty("DisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).DisplayName, global::System.Convert.ToString); + } + if (content.Contains("DisplayProvisioningState")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).DisplayProvisioningState = (string) content.GetValueForProperty("DisplayProvisioningState",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).DisplayProvisioningState, global::System.Convert.ToString); + } + if (content.Contains("UserFriendlyRenewState")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).UserFriendlyRenewState = (string) content.GetValueForProperty("UserFriendlyRenewState",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).UserFriendlyRenewState, global::System.Convert.ToString); + } + if (content.Contains("UserFriendlyAppliedScopeType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).UserFriendlyAppliedScopeType = (string) content.GetValueForProperty("UserFriendlyAppliedScopeType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).UserFriendlyAppliedScopeType, global::System.Convert.ToString); + } + if (content.Contains("EffectiveDateTime")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).EffectiveDateTime = (string) content.GetValueForProperty("EffectiveDateTime",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).EffectiveDateTime, global::System.Convert.ToString); + } + if (content.Contains("SkuDescription")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).SkuDescription = (string) content.GetValueForProperty("SkuDescription",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).SkuDescription, global::System.Convert.ToString); + } + if (content.Contains("Term")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).Term = (string) content.GetValueForProperty("Term",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).Term, global::System.Convert.ToString); + } + if (content.Contains("Renew")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).Renew = (bool?) content.GetValueForProperty("Renew",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).Renew, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("RenewSource")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).RenewSource = (string) content.GetValueForProperty("RenewSource",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).RenewSource, global::System.Convert.ToString); + } + if (content.Contains("UtilizationTrend")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).UtilizationTrend = (string) content.GetValueForProperty("UtilizationTrend",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).UtilizationTrend, global::System.Convert.ToString); + } + if (content.Contains("UtilizationAggregate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).UtilizationAggregate = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregates[]) content.GetValueForProperty("UtilizationAggregate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).UtilizationAggregate, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationUtilizationAggregatesTypeConverter.ConvertFrom)); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal Reservation(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Sku")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).Sku = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSkuProperty) content.GetValueForProperty("Sku",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).Sku, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationSkuPropertyTypeConverter.ConvertFrom); + } + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationProperty) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationPropertyTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("Location")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).Location = (string) content.GetValueForProperty("Location",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).Location, global::System.Convert.ToString); + } + if (content.Contains("SkuName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).SkuName = (string) content.GetValueForProperty("SkuName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).SkuName, global::System.Convert.ToString); + } + if (content.Contains("Utilization")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).Utilization = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyUtilization) content.GetValueForProperty("Utilization",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).Utilization, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationPropertyUtilizationTypeConverter.ConvertFrom); + } + if (content.Contains("AppliedScope")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).AppliedScope = (string[]) content.GetValueForProperty("AppliedScope",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).AppliedScope, __y => TypeConverterExtensions.SelectToArray(__y, global::System.Convert.ToString)); + } + if (content.Contains("AppliedScopeType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).AppliedScopeType = (string) content.GetValueForProperty("AppliedScopeType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).AppliedScopeType, global::System.Convert.ToString); + } + if (content.Contains("ReservedResourceType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).ReservedResourceType = (string) content.GetValueForProperty("ReservedResourceType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).ReservedResourceType, global::System.Convert.ToString); + } + if (content.Contains("Quantity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).Quantity = (float?) content.GetValueForProperty("Quantity",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).Quantity, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("ProvisioningState")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).ProvisioningState = (string) content.GetValueForProperty("ProvisioningState",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).ProvisioningState, global::System.Convert.ToString); + } + if (content.Contains("ExpiryDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).ExpiryDate = (string) content.GetValueForProperty("ExpiryDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).ExpiryDate, global::System.Convert.ToString); + } + if (content.Contains("ProvisioningSubState")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).ProvisioningSubState = (string) content.GetValueForProperty("ProvisioningSubState",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).ProvisioningSubState, global::System.Convert.ToString); + } + if (content.Contains("DisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).DisplayName = (string) content.GetValueForProperty("DisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).DisplayName, global::System.Convert.ToString); + } + if (content.Contains("DisplayProvisioningState")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).DisplayProvisioningState = (string) content.GetValueForProperty("DisplayProvisioningState",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).DisplayProvisioningState, global::System.Convert.ToString); + } + if (content.Contains("UserFriendlyRenewState")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).UserFriendlyRenewState = (string) content.GetValueForProperty("UserFriendlyRenewState",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).UserFriendlyRenewState, global::System.Convert.ToString); + } + if (content.Contains("UserFriendlyAppliedScopeType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).UserFriendlyAppliedScopeType = (string) content.GetValueForProperty("UserFriendlyAppliedScopeType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).UserFriendlyAppliedScopeType, global::System.Convert.ToString); + } + if (content.Contains("EffectiveDateTime")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).EffectiveDateTime = (string) content.GetValueForProperty("EffectiveDateTime",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).EffectiveDateTime, global::System.Convert.ToString); + } + if (content.Contains("SkuDescription")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).SkuDescription = (string) content.GetValueForProperty("SkuDescription",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).SkuDescription, global::System.Convert.ToString); + } + if (content.Contains("Term")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).Term = (string) content.GetValueForProperty("Term",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).Term, global::System.Convert.ToString); + } + if (content.Contains("Renew")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).Renew = (bool?) content.GetValueForProperty("Renew",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).Renew, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("RenewSource")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).RenewSource = (string) content.GetValueForProperty("RenewSource",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).RenewSource, global::System.Convert.ToString); + } + if (content.Contains("UtilizationTrend")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).UtilizationTrend = (string) content.GetValueForProperty("UtilizationTrend",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).UtilizationTrend, global::System.Convert.ToString); + } + if (content.Contains("UtilizationAggregate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).UtilizationAggregate = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregates[]) content.GetValueForProperty("UtilizationAggregate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal)this).UtilizationAggregate, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationUtilizationAggregatesTypeConverter.ConvertFrom)); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The definition of the reservation. + [System.ComponentModel.TypeConverter(typeof(ReservationTypeConverter))] + public partial interface IReservation + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Reservation.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/Reservation.TypeConverter.cs new file mode 100644 index 000000000000..610ea32f860b --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Reservation.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class ReservationTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservation ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservation).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return Reservation.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return Reservation.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return Reservation.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Reservation.cs b/swaggerci/billing/generated/api/Models/Api20200501/Reservation.cs new file mode 100644 index 000000000000..9228e8e0d719 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Reservation.cs @@ -0,0 +1,466 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The definition of the reservation. + public partial class Reservation : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservation, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal + { + + /// + /// The array of applied scopes of a reservation. Will be null if the reservation is in Shared scope + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string[] AppliedScope { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).AppliedScope; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).AppliedScope = value ?? null /* arrayOf */; } + + /// The applied scope type of the reservation. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string AppliedScopeType { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).AppliedScopeType; } + + /// The display name of the reservation + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string DisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).DisplayName; } + + /// The provisioning state of the reservation for display, e.g. Succeeded + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string DisplayProvisioningState { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).DisplayProvisioningState; } + + /// The effective date time of the reservation + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string EffectiveDateTime { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).EffectiveDateTime; } + + /// The expiry date of the reservation + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string ExpiryDate { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).ExpiryDate; } + + /// Backing field for property. + private string _id; + + /// The id of the reservation. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Id { get => this._id; } + + /// Backing field for property. + private string _location; + + /// The location of the reservation. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Location { get => this._location; } + + /// Internal Acessors for AppliedScopeType + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal.AppliedScopeType { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).AppliedScopeType; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).AppliedScopeType = value; } + + /// Internal Acessors for DisplayName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal.DisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).DisplayName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).DisplayName = value; } + + /// Internal Acessors for DisplayProvisioningState + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal.DisplayProvisioningState { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).DisplayProvisioningState; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).DisplayProvisioningState = value; } + + /// Internal Acessors for EffectiveDateTime + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal.EffectiveDateTime { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).EffectiveDateTime; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).EffectiveDateTime = value; } + + /// Internal Acessors for ExpiryDate + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal.ExpiryDate { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).ExpiryDate; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).ExpiryDate = value; } + + /// Internal Acessors for Id + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal.Id { get => this._id; set { {_id = value;} } } + + /// Internal Acessors for Location + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal.Location { get => this._location; set { {_location = value;} } } + + /// Internal Acessors for Name + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal.Name { get => this._name; set { {_name = value;} } } + + /// Internal Acessors for Property + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationProperty Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal.Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationProperty()); set { {_property = value;} } } + + /// Internal Acessors for ProvisioningState + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal.ProvisioningState { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).ProvisioningState; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).ProvisioningState = value; } + + /// Internal Acessors for ProvisioningSubState + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal.ProvisioningSubState { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).ProvisioningSubState; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).ProvisioningSubState = value; } + + /// Internal Acessors for Quantity + float? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal.Quantity { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).Quantity; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).Quantity = value; } + + /// Internal Acessors for Renew + bool? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal.Renew { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).Renew; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).Renew = value; } + + /// Internal Acessors for RenewSource + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal.RenewSource { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).RenewSource; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).RenewSource = value; } + + /// Internal Acessors for ReservedResourceType + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal.ReservedResourceType { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).ReservedResourceType; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).ReservedResourceType = value; } + + /// Internal Acessors for Sku + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSkuProperty Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal.Sku { get => (this._sku = this._sku ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationSkuProperty()); set { {_sku = value;} } } + + /// Internal Acessors for SkuDescription + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal.SkuDescription { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).SkuDescription; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).SkuDescription = value; } + + /// Internal Acessors for SkuName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal.SkuName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSkuPropertyInternal)Sku).Name; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSkuPropertyInternal)Sku).Name = value; } + + /// Internal Acessors for Term + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal.Term { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).Term; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).Term = value; } + + /// Internal Acessors for Type + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal.Type { get => this._type; set { {_type = value;} } } + + /// Internal Acessors for UserFriendlyAppliedScopeType + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal.UserFriendlyAppliedScopeType { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).UserFriendlyAppliedScopeType; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).UserFriendlyAppliedScopeType = value; } + + /// Internal Acessors for UserFriendlyRenewState + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal.UserFriendlyRenewState { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).UserFriendlyRenewState; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).UserFriendlyRenewState = value; } + + /// Internal Acessors for Utilization + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyUtilization Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal.Utilization { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).Utilization; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).Utilization = value; } + + /// Internal Acessors for UtilizationTrend + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationInternal.UtilizationTrend { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).UtilizationTrend; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).UtilizationTrend = value; } + + /// Backing field for property. + private string _name; + + /// The name of the reservation. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Name { get => this._name; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationProperty _property; + + /// The properties associated to this reservation + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationProperty Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationProperty()); set => this._property = value; } + + /// The provisioning state of the reservation, e.g. Succeeded + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string ProvisioningState { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).ProvisioningState; } + + /// The provisioning state of the reservation, e.g. Succeeded + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string ProvisioningSubState { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).ProvisioningSubState; } + + /// The number of the reservation. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? Quantity { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).Quantity; } + + /// The renew state of the reservation + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public bool? Renew { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).Renew; } + + /// The renew source of the reservation + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string RenewSource { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).RenewSource; } + + /// The reserved source type of the reservation, e.g. virtual machine. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string ReservedResourceType { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).ReservedResourceType; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSkuProperty _sku; + + /// The sku information associated to this reservation + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSkuProperty Sku { get => (this._sku = this._sku ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationSkuProperty()); set => this._sku = value; } + + /// The sku description of the reservation + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SkuDescription { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).SkuDescription; } + + /// The name of the reservation sku. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SkuName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSkuPropertyInternal)Sku).Name; } + + /// The term of the reservation, e.g. P1Y + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string Term { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).Term; } + + /// Backing field for property. + private string _type; + + /// The type of the reservation. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Type { get => this._type; } + + /// The applied scope type of the reservation for display, e.g. Shared + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string UserFriendlyAppliedScopeType { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).UserFriendlyAppliedScopeType; } + + /// The renew state of the reservation for display, e.g. On + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string UserFriendlyRenewState { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).UserFriendlyRenewState; } + + /// The array of aggregates of a reservation's utilization + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregates[] UtilizationAggregate { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).UtilizationAggregate; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).UtilizationAggregate = value ?? null /* arrayOf */; } + + /// The number of days trend for a reservation + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string UtilizationTrend { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)Property).UtilizationTrend; } + + /// Creates an new instance. + public Reservation() + { + + } + } + /// The definition of the reservation. + public partial interface IReservation : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// + /// The array of applied scopes of a reservation. Will be null if the reservation is in Shared scope + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The array of applied scopes of a reservation. Will be null if the reservation is in Shared scope", + SerializedName = @"appliedScopes", + PossibleTypes = new [] { typeof(string) })] + string[] AppliedScope { get; set; } + /// The applied scope type of the reservation. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The applied scope type of the reservation.", + SerializedName = @"appliedScopeType", + PossibleTypes = new [] { typeof(string) })] + string AppliedScopeType { get; } + /// The display name of the reservation + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The display name of the reservation", + SerializedName = @"displayName", + PossibleTypes = new [] { typeof(string) })] + string DisplayName { get; } + /// The provisioning state of the reservation for display, e.g. Succeeded + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The provisioning state of the reservation for display, e.g. Succeeded", + SerializedName = @"displayProvisioningState", + PossibleTypes = new [] { typeof(string) })] + string DisplayProvisioningState { get; } + /// The effective date time of the reservation + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The effective date time of the reservation", + SerializedName = @"effectiveDateTime", + PossibleTypes = new [] { typeof(string) })] + string EffectiveDateTime { get; } + /// The expiry date of the reservation + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The expiry date of the reservation", + SerializedName = @"expiryDate", + PossibleTypes = new [] { typeof(string) })] + string ExpiryDate { get; } + /// The id of the reservation. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The id of the reservation.", + SerializedName = @"id", + PossibleTypes = new [] { typeof(string) })] + string Id { get; } + /// The location of the reservation. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The location of the reservation.", + SerializedName = @"location", + PossibleTypes = new [] { typeof(string) })] + string Location { get; } + /// The name of the reservation. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the reservation.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + string Name { get; } + /// The provisioning state of the reservation, e.g. Succeeded + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The provisioning state of the reservation, e.g. Succeeded", + SerializedName = @"provisioningState", + PossibleTypes = new [] { typeof(string) })] + string ProvisioningState { get; } + /// The provisioning state of the reservation, e.g. Succeeded + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The provisioning state of the reservation, e.g. Succeeded", + SerializedName = @"provisioningSubState", + PossibleTypes = new [] { typeof(string) })] + string ProvisioningSubState { get; } + /// The number of the reservation. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The number of the reservation.", + SerializedName = @"quantity", + PossibleTypes = new [] { typeof(float) })] + float? Quantity { get; } + /// The renew state of the reservation + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The renew state of the reservation", + SerializedName = @"renew", + PossibleTypes = new [] { typeof(bool) })] + bool? Renew { get; } + /// The renew source of the reservation + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The renew source of the reservation", + SerializedName = @"renewSource", + PossibleTypes = new [] { typeof(string) })] + string RenewSource { get; } + /// The reserved source type of the reservation, e.g. virtual machine. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The reserved source type of the reservation, e.g. virtual machine.", + SerializedName = @"reservedResourceType", + PossibleTypes = new [] { typeof(string) })] + string ReservedResourceType { get; } + /// The sku description of the reservation + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The sku description of the reservation", + SerializedName = @"skuDescription", + PossibleTypes = new [] { typeof(string) })] + string SkuDescription { get; } + /// The name of the reservation sku. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the reservation sku.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + string SkuName { get; } + /// The term of the reservation, e.g. P1Y + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The term of the reservation, e.g. P1Y", + SerializedName = @"term", + PossibleTypes = new [] { typeof(string) })] + string Term { get; } + /// The type of the reservation. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The type of the reservation.", + SerializedName = @"type", + PossibleTypes = new [] { typeof(string) })] + string Type { get; } + /// The applied scope type of the reservation for display, e.g. Shared + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The applied scope type of the reservation for display, e.g. Shared", + SerializedName = @"userFriendlyAppliedScopeType", + PossibleTypes = new [] { typeof(string) })] + string UserFriendlyAppliedScopeType { get; } + /// The renew state of the reservation for display, e.g. On + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The renew state of the reservation for display, e.g. On", + SerializedName = @"userFriendlyRenewState", + PossibleTypes = new [] { typeof(string) })] + string UserFriendlyRenewState { get; } + /// The array of aggregates of a reservation's utilization + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The array of aggregates of a reservation's utilization", + SerializedName = @"aggregates", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregates) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregates[] UtilizationAggregate { get; set; } + /// The number of days trend for a reservation + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The number of days trend for a reservation", + SerializedName = @"trend", + PossibleTypes = new [] { typeof(string) })] + string UtilizationTrend { get; } + + } + /// The definition of the reservation. + internal partial interface IReservationInternal + + { + /// + /// The array of applied scopes of a reservation. Will be null if the reservation is in Shared scope + /// + string[] AppliedScope { get; set; } + /// The applied scope type of the reservation. + string AppliedScopeType { get; set; } + /// The display name of the reservation + string DisplayName { get; set; } + /// The provisioning state of the reservation for display, e.g. Succeeded + string DisplayProvisioningState { get; set; } + /// The effective date time of the reservation + string EffectiveDateTime { get; set; } + /// The expiry date of the reservation + string ExpiryDate { get; set; } + /// The id of the reservation. + string Id { get; set; } + /// The location of the reservation. + string Location { get; set; } + /// The name of the reservation. + string Name { get; set; } + /// The properties associated to this reservation + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationProperty Property { get; set; } + /// The provisioning state of the reservation, e.g. Succeeded + string ProvisioningState { get; set; } + /// The provisioning state of the reservation, e.g. Succeeded + string ProvisioningSubState { get; set; } + /// The number of the reservation. + float? Quantity { get; set; } + /// The renew state of the reservation + bool? Renew { get; set; } + /// The renew source of the reservation + string RenewSource { get; set; } + /// The reserved source type of the reservation, e.g. virtual machine. + string ReservedResourceType { get; set; } + /// The sku information associated to this reservation + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSkuProperty Sku { get; set; } + /// The sku description of the reservation + string SkuDescription { get; set; } + /// The name of the reservation sku. + string SkuName { get; set; } + /// The term of the reservation, e.g. P1Y + string Term { get; set; } + /// The type of the reservation. + string Type { get; set; } + /// The applied scope type of the reservation for display, e.g. Shared + string UserFriendlyAppliedScopeType { get; set; } + /// The renew state of the reservation for display, e.g. On + string UserFriendlyRenewState { get; set; } + /// Reservation utilization + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyUtilization Utilization { get; set; } + /// The array of aggregates of a reservation's utilization + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregates[] UtilizationAggregate { get; set; } + /// The number of days trend for a reservation + string UtilizationTrend { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Reservation.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/Reservation.json.cs new file mode 100644 index 000000000000..df8f18b26bc7 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Reservation.json.cs @@ -0,0 +1,130 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The definition of the reservation. + public partial class Reservation + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservation. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservation. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservation FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new Reservation(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal Reservation(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_sku = If( json?.PropertyT("sku"), out var __jsonSku) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationSkuProperty.FromJson(__jsonSku) : Sku;} + {_property = If( json?.PropertyT("properties"), out var __jsonProperties) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationProperty.FromJson(__jsonProperties) : Property;} + {_id = If( json?.PropertyT("id"), out var __jsonId) ? (string)__jsonId : (string)Id;} + {_name = If( json?.PropertyT("name"), out var __jsonName) ? (string)__jsonName : (string)Name;} + {_type = If( json?.PropertyT("type"), out var __jsonType) ? (string)__jsonType : (string)Type;} + {_location = If( json?.PropertyT("location"), out var __jsonLocation) ? (string)__jsonLocation : (string)Location;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != this._sku ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._sku.ToJson(null,serializationMode) : null, "sku" ,container.Add ); + AddIf( null != this._property ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._property.ToJson(null,serializationMode) : null, "properties" ,container.Add ); + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._id)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._id.ToString()) : null, "id" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._name)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._name.ToString()) : null, "name" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._type)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._type.ToString()) : null, "type" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._location)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._location.ToString()) : null, "location" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ReservationProperty.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/ReservationProperty.PowerShell.cs new file mode 100644 index 000000000000..36005b6b6e56 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ReservationProperty.PowerShell.cs @@ -0,0 +1,288 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The property of reservation object. + [System.ComponentModel.TypeConverter(typeof(ReservationPropertyTypeConverter))] + public partial class ReservationProperty + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationProperty DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new ReservationProperty(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationProperty DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new ReservationProperty(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationProperty FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal ReservationProperty(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Utilization")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).Utilization = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyUtilization) content.GetValueForProperty("Utilization",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).Utilization, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationPropertyUtilizationTypeConverter.ConvertFrom); + } + if (content.Contains("AppliedScope")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).AppliedScope = (string[]) content.GetValueForProperty("AppliedScope",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).AppliedScope, __y => TypeConverterExtensions.SelectToArray(__y, global::System.Convert.ToString)); + } + if (content.Contains("AppliedScopeType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).AppliedScopeType = (string) content.GetValueForProperty("AppliedScopeType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).AppliedScopeType, global::System.Convert.ToString); + } + if (content.Contains("ReservedResourceType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).ReservedResourceType = (string) content.GetValueForProperty("ReservedResourceType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).ReservedResourceType, global::System.Convert.ToString); + } + if (content.Contains("Quantity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).Quantity = (float?) content.GetValueForProperty("Quantity",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).Quantity, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("ProvisioningState")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).ProvisioningState = (string) content.GetValueForProperty("ProvisioningState",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).ProvisioningState, global::System.Convert.ToString); + } + if (content.Contains("ExpiryDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).ExpiryDate = (string) content.GetValueForProperty("ExpiryDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).ExpiryDate, global::System.Convert.ToString); + } + if (content.Contains("ProvisioningSubState")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).ProvisioningSubState = (string) content.GetValueForProperty("ProvisioningSubState",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).ProvisioningSubState, global::System.Convert.ToString); + } + if (content.Contains("DisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).DisplayName = (string) content.GetValueForProperty("DisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).DisplayName, global::System.Convert.ToString); + } + if (content.Contains("DisplayProvisioningState")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).DisplayProvisioningState = (string) content.GetValueForProperty("DisplayProvisioningState",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).DisplayProvisioningState, global::System.Convert.ToString); + } + if (content.Contains("UserFriendlyRenewState")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).UserFriendlyRenewState = (string) content.GetValueForProperty("UserFriendlyRenewState",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).UserFriendlyRenewState, global::System.Convert.ToString); + } + if (content.Contains("UserFriendlyAppliedScopeType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).UserFriendlyAppliedScopeType = (string) content.GetValueForProperty("UserFriendlyAppliedScopeType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).UserFriendlyAppliedScopeType, global::System.Convert.ToString); + } + if (content.Contains("EffectiveDateTime")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).EffectiveDateTime = (string) content.GetValueForProperty("EffectiveDateTime",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).EffectiveDateTime, global::System.Convert.ToString); + } + if (content.Contains("SkuDescription")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).SkuDescription = (string) content.GetValueForProperty("SkuDescription",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).SkuDescription, global::System.Convert.ToString); + } + if (content.Contains("Term")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).Term = (string) content.GetValueForProperty("Term",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).Term, global::System.Convert.ToString); + } + if (content.Contains("Renew")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).Renew = (bool?) content.GetValueForProperty("Renew",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).Renew, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("RenewSource")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).RenewSource = (string) content.GetValueForProperty("RenewSource",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).RenewSource, global::System.Convert.ToString); + } + if (content.Contains("UtilizationTrend")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).UtilizationTrend = (string) content.GetValueForProperty("UtilizationTrend",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).UtilizationTrend, global::System.Convert.ToString); + } + if (content.Contains("UtilizationAggregate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).UtilizationAggregate = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregates[]) content.GetValueForProperty("UtilizationAggregate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).UtilizationAggregate, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationUtilizationAggregatesTypeConverter.ConvertFrom)); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal ReservationProperty(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Utilization")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).Utilization = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyUtilization) content.GetValueForProperty("Utilization",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).Utilization, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationPropertyUtilizationTypeConverter.ConvertFrom); + } + if (content.Contains("AppliedScope")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).AppliedScope = (string[]) content.GetValueForProperty("AppliedScope",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).AppliedScope, __y => TypeConverterExtensions.SelectToArray(__y, global::System.Convert.ToString)); + } + if (content.Contains("AppliedScopeType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).AppliedScopeType = (string) content.GetValueForProperty("AppliedScopeType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).AppliedScopeType, global::System.Convert.ToString); + } + if (content.Contains("ReservedResourceType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).ReservedResourceType = (string) content.GetValueForProperty("ReservedResourceType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).ReservedResourceType, global::System.Convert.ToString); + } + if (content.Contains("Quantity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).Quantity = (float?) content.GetValueForProperty("Quantity",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).Quantity, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("ProvisioningState")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).ProvisioningState = (string) content.GetValueForProperty("ProvisioningState",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).ProvisioningState, global::System.Convert.ToString); + } + if (content.Contains("ExpiryDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).ExpiryDate = (string) content.GetValueForProperty("ExpiryDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).ExpiryDate, global::System.Convert.ToString); + } + if (content.Contains("ProvisioningSubState")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).ProvisioningSubState = (string) content.GetValueForProperty("ProvisioningSubState",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).ProvisioningSubState, global::System.Convert.ToString); + } + if (content.Contains("DisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).DisplayName = (string) content.GetValueForProperty("DisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).DisplayName, global::System.Convert.ToString); + } + if (content.Contains("DisplayProvisioningState")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).DisplayProvisioningState = (string) content.GetValueForProperty("DisplayProvisioningState",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).DisplayProvisioningState, global::System.Convert.ToString); + } + if (content.Contains("UserFriendlyRenewState")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).UserFriendlyRenewState = (string) content.GetValueForProperty("UserFriendlyRenewState",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).UserFriendlyRenewState, global::System.Convert.ToString); + } + if (content.Contains("UserFriendlyAppliedScopeType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).UserFriendlyAppliedScopeType = (string) content.GetValueForProperty("UserFriendlyAppliedScopeType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).UserFriendlyAppliedScopeType, global::System.Convert.ToString); + } + if (content.Contains("EffectiveDateTime")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).EffectiveDateTime = (string) content.GetValueForProperty("EffectiveDateTime",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).EffectiveDateTime, global::System.Convert.ToString); + } + if (content.Contains("SkuDescription")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).SkuDescription = (string) content.GetValueForProperty("SkuDescription",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).SkuDescription, global::System.Convert.ToString); + } + if (content.Contains("Term")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).Term = (string) content.GetValueForProperty("Term",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).Term, global::System.Convert.ToString); + } + if (content.Contains("Renew")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).Renew = (bool?) content.GetValueForProperty("Renew",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).Renew, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("RenewSource")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).RenewSource = (string) content.GetValueForProperty("RenewSource",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).RenewSource, global::System.Convert.ToString); + } + if (content.Contains("UtilizationTrend")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).UtilizationTrend = (string) content.GetValueForProperty("UtilizationTrend",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).UtilizationTrend, global::System.Convert.ToString); + } + if (content.Contains("UtilizationAggregate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).UtilizationAggregate = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregates[]) content.GetValueForProperty("UtilizationAggregate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal)this).UtilizationAggregate, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationUtilizationAggregatesTypeConverter.ConvertFrom)); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The property of reservation object. + [System.ComponentModel.TypeConverter(typeof(ReservationPropertyTypeConverter))] + public partial interface IReservationProperty + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ReservationProperty.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/ReservationProperty.TypeConverter.cs new file mode 100644 index 000000000000..f14b91dd1684 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ReservationProperty.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class ReservationPropertyTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationProperty ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationProperty).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return ReservationProperty.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return ReservationProperty.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return ReservationProperty.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ReservationProperty.cs b/swaggerci/billing/generated/api/Models/Api20200501/ReservationProperty.cs new file mode 100644 index 000000000000..f53c466015fc --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ReservationProperty.cs @@ -0,0 +1,400 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The property of reservation object. + public partial class ReservationProperty : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationProperty, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal + { + + /// Backing field for property. + private string[] _appliedScope; + + /// + /// The array of applied scopes of a reservation. Will be null if the reservation is in Shared scope + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string[] AppliedScope { get => this._appliedScope; set => this._appliedScope = value; } + + /// Backing field for property. + private string _appliedScopeType; + + /// The applied scope type of the reservation. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string AppliedScopeType { get => this._appliedScopeType; } + + /// Backing field for property. + private string _displayName; + + /// The display name of the reservation + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string DisplayName { get => this._displayName; } + + /// Backing field for property. + private string _displayProvisioningState; + + /// The provisioning state of the reservation for display, e.g. Succeeded + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string DisplayProvisioningState { get => this._displayProvisioningState; } + + /// Backing field for property. + private string _effectiveDateTime; + + /// The effective date time of the reservation + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string EffectiveDateTime { get => this._effectiveDateTime; } + + /// Backing field for property. + private string _expiryDate; + + /// The expiry date of the reservation + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string ExpiryDate { get => this._expiryDate; } + + /// Internal Acessors for AppliedScopeType + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal.AppliedScopeType { get => this._appliedScopeType; set { {_appliedScopeType = value;} } } + + /// Internal Acessors for DisplayName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal.DisplayName { get => this._displayName; set { {_displayName = value;} } } + + /// Internal Acessors for DisplayProvisioningState + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal.DisplayProvisioningState { get => this._displayProvisioningState; set { {_displayProvisioningState = value;} } } + + /// Internal Acessors for EffectiveDateTime + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal.EffectiveDateTime { get => this._effectiveDateTime; set { {_effectiveDateTime = value;} } } + + /// Internal Acessors for ExpiryDate + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal.ExpiryDate { get => this._expiryDate; set { {_expiryDate = value;} } } + + /// Internal Acessors for ProvisioningState + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal.ProvisioningState { get => this._provisioningState; set { {_provisioningState = value;} } } + + /// Internal Acessors for ProvisioningSubState + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal.ProvisioningSubState { get => this._provisioningSubState; set { {_provisioningSubState = value;} } } + + /// Internal Acessors for Quantity + float? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal.Quantity { get => this._quantity; set { {_quantity = value;} } } + + /// Internal Acessors for Renew + bool? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal.Renew { get => this._renew; set { {_renew = value;} } } + + /// Internal Acessors for RenewSource + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal.RenewSource { get => this._renewSource; set { {_renewSource = value;} } } + + /// Internal Acessors for ReservedResourceType + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal.ReservedResourceType { get => this._reservedResourceType; set { {_reservedResourceType = value;} } } + + /// Internal Acessors for SkuDescription + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal.SkuDescription { get => this._skuDescription; set { {_skuDescription = value;} } } + + /// Internal Acessors for Term + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal.Term { get => this._term; set { {_term = value;} } } + + /// Internal Acessors for UserFriendlyAppliedScopeType + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal.UserFriendlyAppliedScopeType { get => this._userFriendlyAppliedScopeType; set { {_userFriendlyAppliedScopeType = value;} } } + + /// Internal Acessors for UserFriendlyRenewState + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal.UserFriendlyRenewState { get => this._userFriendlyRenewState; set { {_userFriendlyRenewState = value;} } } + + /// Internal Acessors for Utilization + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyUtilization Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal.Utilization { get => (this._utilization = this._utilization ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationPropertyUtilization()); set { {_utilization = value;} } } + + /// Internal Acessors for UtilizationTrend + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyInternal.UtilizationTrend { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyUtilizationInternal)Utilization).Trend; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyUtilizationInternal)Utilization).Trend = value; } + + /// Backing field for property. + private string _provisioningState; + + /// The provisioning state of the reservation, e.g. Succeeded + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string ProvisioningState { get => this._provisioningState; } + + /// Backing field for property. + private string _provisioningSubState; + + /// The provisioning state of the reservation, e.g. Succeeded + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string ProvisioningSubState { get => this._provisioningSubState; } + + /// Backing field for property. + private float? _quantity; + + /// The number of the reservation. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public float? Quantity { get => this._quantity; } + + /// Backing field for property. + private bool? _renew; + + /// The renew state of the reservation + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public bool? Renew { get => this._renew; } + + /// Backing field for property. + private string _renewSource; + + /// The renew source of the reservation + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string RenewSource { get => this._renewSource; } + + /// Backing field for property. + private string _reservedResourceType; + + /// The reserved source type of the reservation, e.g. virtual machine. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string ReservedResourceType { get => this._reservedResourceType; } + + /// Backing field for property. + private string _skuDescription; + + /// The sku description of the reservation + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string SkuDescription { get => this._skuDescription; } + + /// Backing field for property. + private string _term; + + /// The term of the reservation, e.g. P1Y + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Term { get => this._term; } + + /// Backing field for property. + private string _userFriendlyAppliedScopeType; + + /// The applied scope type of the reservation for display, e.g. Shared + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string UserFriendlyAppliedScopeType { get => this._userFriendlyAppliedScopeType; } + + /// Backing field for property. + private string _userFriendlyRenewState; + + /// The renew state of the reservation for display, e.g. On + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string UserFriendlyRenewState { get => this._userFriendlyRenewState; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyUtilization _utilization; + + /// Reservation utilization + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyUtilization Utilization { get => (this._utilization = this._utilization ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationPropertyUtilization()); } + + /// The array of aggregates of a reservation's utilization + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregates[] UtilizationAggregate { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyUtilizationInternal)Utilization).Aggregate; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyUtilizationInternal)Utilization).Aggregate = value ?? null /* arrayOf */; } + + /// The number of days trend for a reservation + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string UtilizationTrend { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyUtilizationInternal)Utilization).Trend; } + + /// Creates an new instance. + public ReservationProperty() + { + + } + } + /// The property of reservation object. + public partial interface IReservationProperty : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// + /// The array of applied scopes of a reservation. Will be null if the reservation is in Shared scope + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The array of applied scopes of a reservation. Will be null if the reservation is in Shared scope", + SerializedName = @"appliedScopes", + PossibleTypes = new [] { typeof(string) })] + string[] AppliedScope { get; set; } + /// The applied scope type of the reservation. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The applied scope type of the reservation.", + SerializedName = @"appliedScopeType", + PossibleTypes = new [] { typeof(string) })] + string AppliedScopeType { get; } + /// The display name of the reservation + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The display name of the reservation", + SerializedName = @"displayName", + PossibleTypes = new [] { typeof(string) })] + string DisplayName { get; } + /// The provisioning state of the reservation for display, e.g. Succeeded + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The provisioning state of the reservation for display, e.g. Succeeded", + SerializedName = @"displayProvisioningState", + PossibleTypes = new [] { typeof(string) })] + string DisplayProvisioningState { get; } + /// The effective date time of the reservation + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The effective date time of the reservation", + SerializedName = @"effectiveDateTime", + PossibleTypes = new [] { typeof(string) })] + string EffectiveDateTime { get; } + /// The expiry date of the reservation + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The expiry date of the reservation", + SerializedName = @"expiryDate", + PossibleTypes = new [] { typeof(string) })] + string ExpiryDate { get; } + /// The provisioning state of the reservation, e.g. Succeeded + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The provisioning state of the reservation, e.g. Succeeded", + SerializedName = @"provisioningState", + PossibleTypes = new [] { typeof(string) })] + string ProvisioningState { get; } + /// The provisioning state of the reservation, e.g. Succeeded + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The provisioning state of the reservation, e.g. Succeeded", + SerializedName = @"provisioningSubState", + PossibleTypes = new [] { typeof(string) })] + string ProvisioningSubState { get; } + /// The number of the reservation. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The number of the reservation.", + SerializedName = @"quantity", + PossibleTypes = new [] { typeof(float) })] + float? Quantity { get; } + /// The renew state of the reservation + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The renew state of the reservation", + SerializedName = @"renew", + PossibleTypes = new [] { typeof(bool) })] + bool? Renew { get; } + /// The renew source of the reservation + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The renew source of the reservation", + SerializedName = @"renewSource", + PossibleTypes = new [] { typeof(string) })] + string RenewSource { get; } + /// The reserved source type of the reservation, e.g. virtual machine. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The reserved source type of the reservation, e.g. virtual machine.", + SerializedName = @"reservedResourceType", + PossibleTypes = new [] { typeof(string) })] + string ReservedResourceType { get; } + /// The sku description of the reservation + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The sku description of the reservation", + SerializedName = @"skuDescription", + PossibleTypes = new [] { typeof(string) })] + string SkuDescription { get; } + /// The term of the reservation, e.g. P1Y + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The term of the reservation, e.g. P1Y", + SerializedName = @"term", + PossibleTypes = new [] { typeof(string) })] + string Term { get; } + /// The applied scope type of the reservation for display, e.g. Shared + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The applied scope type of the reservation for display, e.g. Shared", + SerializedName = @"userFriendlyAppliedScopeType", + PossibleTypes = new [] { typeof(string) })] + string UserFriendlyAppliedScopeType { get; } + /// The renew state of the reservation for display, e.g. On + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The renew state of the reservation for display, e.g. On", + SerializedName = @"userFriendlyRenewState", + PossibleTypes = new [] { typeof(string) })] + string UserFriendlyRenewState { get; } + /// The array of aggregates of a reservation's utilization + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The array of aggregates of a reservation's utilization", + SerializedName = @"aggregates", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregates) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregates[] UtilizationAggregate { get; set; } + /// The number of days trend for a reservation + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The number of days trend for a reservation", + SerializedName = @"trend", + PossibleTypes = new [] { typeof(string) })] + string UtilizationTrend { get; } + + } + /// The property of reservation object. + internal partial interface IReservationPropertyInternal + + { + /// + /// The array of applied scopes of a reservation. Will be null if the reservation is in Shared scope + /// + string[] AppliedScope { get; set; } + /// The applied scope type of the reservation. + string AppliedScopeType { get; set; } + /// The display name of the reservation + string DisplayName { get; set; } + /// The provisioning state of the reservation for display, e.g. Succeeded + string DisplayProvisioningState { get; set; } + /// The effective date time of the reservation + string EffectiveDateTime { get; set; } + /// The expiry date of the reservation + string ExpiryDate { get; set; } + /// The provisioning state of the reservation, e.g. Succeeded + string ProvisioningState { get; set; } + /// The provisioning state of the reservation, e.g. Succeeded + string ProvisioningSubState { get; set; } + /// The number of the reservation. + float? Quantity { get; set; } + /// The renew state of the reservation + bool? Renew { get; set; } + /// The renew source of the reservation + string RenewSource { get; set; } + /// The reserved source type of the reservation, e.g. virtual machine. + string ReservedResourceType { get; set; } + /// The sku description of the reservation + string SkuDescription { get; set; } + /// The term of the reservation, e.g. P1Y + string Term { get; set; } + /// The applied scope type of the reservation for display, e.g. Shared + string UserFriendlyAppliedScopeType { get; set; } + /// The renew state of the reservation for display, e.g. On + string UserFriendlyRenewState { get; set; } + /// Reservation utilization + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyUtilization Utilization { get; set; } + /// The array of aggregates of a reservation's utilization + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregates[] UtilizationAggregate { get; set; } + /// The number of days trend for a reservation + string UtilizationTrend { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ReservationProperty.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/ReservationProperty.json.cs new file mode 100644 index 000000000000..28b7f0fc5ffa --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ReservationProperty.json.cs @@ -0,0 +1,196 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The property of reservation object. + public partial class ReservationProperty + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationProperty. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationProperty. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationProperty FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new ReservationProperty(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal ReservationProperty(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_utilization = If( json?.PropertyT("utilization"), out var __jsonUtilization) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationPropertyUtilization.FromJson(__jsonUtilization) : Utilization;} + {_appliedScope = If( json?.PropertyT("appliedScopes"), out var __jsonAppliedScopes) ? If( __jsonAppliedScopes as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(string) (__u is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString __t ? (string)(__t.ToString()) : null)) ))() : null : AppliedScope;} + {_appliedScopeType = If( json?.PropertyT("appliedScopeType"), out var __jsonAppliedScopeType) ? (string)__jsonAppliedScopeType : (string)AppliedScopeType;} + {_reservedResourceType = If( json?.PropertyT("reservedResourceType"), out var __jsonReservedResourceType) ? (string)__jsonReservedResourceType : (string)ReservedResourceType;} + {_quantity = If( json?.PropertyT("quantity"), out var __jsonQuantity) ? (float?)__jsonQuantity : Quantity;} + {_provisioningState = If( json?.PropertyT("provisioningState"), out var __jsonProvisioningState) ? (string)__jsonProvisioningState : (string)ProvisioningState;} + {_expiryDate = If( json?.PropertyT("expiryDate"), out var __jsonExpiryDate) ? (string)__jsonExpiryDate : (string)ExpiryDate;} + {_provisioningSubState = If( json?.PropertyT("provisioningSubState"), out var __jsonProvisioningSubState) ? (string)__jsonProvisioningSubState : (string)ProvisioningSubState;} + {_displayName = If( json?.PropertyT("displayName"), out var __jsonDisplayName) ? (string)__jsonDisplayName : (string)DisplayName;} + {_displayProvisioningState = If( json?.PropertyT("displayProvisioningState"), out var __jsonDisplayProvisioningState) ? (string)__jsonDisplayProvisioningState : (string)DisplayProvisioningState;} + {_userFriendlyRenewState = If( json?.PropertyT("userFriendlyRenewState"), out var __jsonUserFriendlyRenewState) ? (string)__jsonUserFriendlyRenewState : (string)UserFriendlyRenewState;} + {_userFriendlyAppliedScopeType = If( json?.PropertyT("userFriendlyAppliedScopeType"), out var __jsonUserFriendlyAppliedScopeType) ? (string)__jsonUserFriendlyAppliedScopeType : (string)UserFriendlyAppliedScopeType;} + {_effectiveDateTime = If( json?.PropertyT("effectiveDateTime"), out var __jsonEffectiveDateTime) ? (string)__jsonEffectiveDateTime : (string)EffectiveDateTime;} + {_skuDescription = If( json?.PropertyT("skuDescription"), out var __jsonSkuDescription) ? (string)__jsonSkuDescription : (string)SkuDescription;} + {_term = If( json?.PropertyT("term"), out var __jsonTerm) ? (string)__jsonTerm : (string)Term;} + {_renew = If( json?.PropertyT("renew"), out var __jsonRenew) ? (bool?)__jsonRenew : Renew;} + {_renewSource = If( json?.PropertyT("renewSource"), out var __jsonRenewSource) ? (string)__jsonRenewSource : (string)RenewSource;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._utilization ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._utilization.ToJson(null,serializationMode) : null, "utilization" ,container.Add ); + } + if (null != this._appliedScope) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(); + foreach( var __x in this._appliedScope ) + { + AddIf(null != (((object)__x)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(__x.ToString()) : null ,__w.Add); + } + container.Add("appliedScopes",__w); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._appliedScopeType)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._appliedScopeType.ToString()) : null, "appliedScopeType" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._reservedResourceType)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._reservedResourceType.ToString()) : null, "reservedResourceType" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._quantity ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNumber((float)this._quantity) : null, "quantity" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._provisioningState)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._provisioningState.ToString()) : null, "provisioningState" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._expiryDate)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._expiryDate.ToString()) : null, "expiryDate" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._provisioningSubState)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._provisioningSubState.ToString()) : null, "provisioningSubState" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._displayName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._displayName.ToString()) : null, "displayName" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._displayProvisioningState)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._displayProvisioningState.ToString()) : null, "displayProvisioningState" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._userFriendlyRenewState)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._userFriendlyRenewState.ToString()) : null, "userFriendlyRenewState" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._userFriendlyAppliedScopeType)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._userFriendlyAppliedScopeType.ToString()) : null, "userFriendlyAppliedScopeType" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._effectiveDateTime)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._effectiveDateTime.ToString()) : null, "effectiveDateTime" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._skuDescription)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._skuDescription.ToString()) : null, "skuDescription" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._term)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._term.ToString()) : null, "term" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._renew ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonBoolean((bool)this._renew) : null, "renew" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._renewSource)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._renewSource.ToString()) : null, "renewSource" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ReservationPropertyUtilization.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/ReservationPropertyUtilization.PowerShell.cs new file mode 100644 index 000000000000..057ad4c1fdb1 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ReservationPropertyUtilization.PowerShell.cs @@ -0,0 +1,154 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// Reservation utilization + [System.ComponentModel.TypeConverter(typeof(ReservationPropertyUtilizationTypeConverter))] + public partial class ReservationPropertyUtilization + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyUtilization DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new ReservationPropertyUtilization(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyUtilization DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new ReservationPropertyUtilization(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyUtilization FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal ReservationPropertyUtilization(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Trend")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyUtilizationInternal)this).Trend = (string) content.GetValueForProperty("Trend",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyUtilizationInternal)this).Trend, global::System.Convert.ToString); + } + if (content.Contains("Aggregate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyUtilizationInternal)this).Aggregate = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregates[]) content.GetValueForProperty("Aggregate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyUtilizationInternal)this).Aggregate, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationUtilizationAggregatesTypeConverter.ConvertFrom)); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal ReservationPropertyUtilization(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Trend")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyUtilizationInternal)this).Trend = (string) content.GetValueForProperty("Trend",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyUtilizationInternal)this).Trend, global::System.Convert.ToString); + } + if (content.Contains("Aggregate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyUtilizationInternal)this).Aggregate = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregates[]) content.GetValueForProperty("Aggregate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyUtilizationInternal)this).Aggregate, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationUtilizationAggregatesTypeConverter.ConvertFrom)); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// Reservation utilization + [System.ComponentModel.TypeConverter(typeof(ReservationPropertyUtilizationTypeConverter))] + public partial interface IReservationPropertyUtilization + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ReservationPropertyUtilization.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/ReservationPropertyUtilization.TypeConverter.cs new file mode 100644 index 000000000000..c779b7ae4a4b --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ReservationPropertyUtilization.TypeConverter.cs @@ -0,0 +1,148 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class ReservationPropertyUtilizationTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyUtilization ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyUtilization).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return ReservationPropertyUtilization.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return ReservationPropertyUtilization.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return ReservationPropertyUtilization.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ReservationPropertyUtilization.cs b/swaggerci/billing/generated/api/Models/Api20200501/ReservationPropertyUtilization.cs new file mode 100644 index 000000000000..ed5a6342b69c --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ReservationPropertyUtilization.cs @@ -0,0 +1,71 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// Reservation utilization + public partial class ReservationPropertyUtilization : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyUtilization, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyUtilizationInternal + { + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregates[] _aggregate; + + /// The array of aggregates of a reservation's utilization + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregates[] Aggregate { get => this._aggregate; set => this._aggregate = value; } + + /// Internal Acessors for Trend + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyUtilizationInternal.Trend { get => this._trend; set { {_trend = value;} } } + + /// Backing field for property. + private string _trend; + + /// The number of days trend for a reservation + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Trend { get => this._trend; } + + /// Creates an new instance. + public ReservationPropertyUtilization() + { + + } + } + /// Reservation utilization + public partial interface IReservationPropertyUtilization : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The array of aggregates of a reservation's utilization + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The array of aggregates of a reservation's utilization", + SerializedName = @"aggregates", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregates) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregates[] Aggregate { get; set; } + /// The number of days trend for a reservation + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The number of days trend for a reservation", + SerializedName = @"trend", + PossibleTypes = new [] { typeof(string) })] + string Trend { get; } + + } + /// Reservation utilization + internal partial interface IReservationPropertyUtilizationInternal + + { + /// The array of aggregates of a reservation's utilization + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregates[] Aggregate { get; set; } + /// The number of days trend for a reservation + string Trend { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ReservationPropertyUtilization.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/ReservationPropertyUtilization.json.cs new file mode 100644 index 000000000000..515dc3d2b4e6 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ReservationPropertyUtilization.json.cs @@ -0,0 +1,121 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// Reservation utilization + public partial class ReservationPropertyUtilization + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyUtilization. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyUtilization. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationPropertyUtilization FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new ReservationPropertyUtilization(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal ReservationPropertyUtilization(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_trend = If( json?.PropertyT("trend"), out var __jsonTrend) ? (string)__jsonTrend : (string)Trend;} + {_aggregate = If( json?.PropertyT("aggregates"), out var __jsonAggregates) ? If( __jsonAggregates as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregates) (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationUtilizationAggregates.FromJson(__u) )) ))() : null : Aggregate;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._trend)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._trend.ToString()) : null, "trend" ,container.Add ); + } + if (null != this._aggregate) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(); + foreach( var __x in this._aggregate ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("aggregates",__w); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ReservationSkuProperty.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/ReservationSkuProperty.PowerShell.cs new file mode 100644 index 000000000000..74fa592047a4 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ReservationSkuProperty.PowerShell.cs @@ -0,0 +1,144 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The property of reservation sku object. + [System.ComponentModel.TypeConverter(typeof(ReservationSkuPropertyTypeConverter))] + public partial class ReservationSkuProperty + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSkuProperty DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new ReservationSkuProperty(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSkuProperty DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new ReservationSkuProperty(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSkuProperty FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal ReservationSkuProperty(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSkuPropertyInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSkuPropertyInternal)this).Name, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal ReservationSkuProperty(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSkuPropertyInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSkuPropertyInternal)this).Name, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The property of reservation sku object. + [System.ComponentModel.TypeConverter(typeof(ReservationSkuPropertyTypeConverter))] + public partial interface IReservationSkuProperty + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ReservationSkuProperty.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/ReservationSkuProperty.TypeConverter.cs new file mode 100644 index 000000000000..3518c4d8b4a4 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ReservationSkuProperty.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class ReservationSkuPropertyTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSkuProperty ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSkuProperty).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return ReservationSkuProperty.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return ReservationSkuProperty.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return ReservationSkuProperty.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ReservationSkuProperty.cs b/swaggerci/billing/generated/api/Models/Api20200501/ReservationSkuProperty.cs new file mode 100644 index 000000000000..8a9aba1540cf --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ReservationSkuProperty.cs @@ -0,0 +1,54 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The property of reservation sku object. + public partial class ReservationSkuProperty : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSkuProperty, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSkuPropertyInternal + { + + /// Internal Acessors for Name + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSkuPropertyInternal.Name { get => this._name; set { {_name = value;} } } + + /// Backing field for property. + private string _name; + + /// The name of the reservation sku. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Name { get => this._name; } + + /// Creates an new instance. + public ReservationSkuProperty() + { + + } + } + /// The property of reservation sku object. + public partial interface IReservationSkuProperty : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The name of the reservation sku. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the reservation sku.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + string Name { get; } + + } + /// The property of reservation sku object. + internal partial interface IReservationSkuPropertyInternal + + { + /// The name of the reservation sku. + string Name { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ReservationSkuProperty.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/ReservationSkuProperty.json.cs new file mode 100644 index 000000000000..b54af01b9cc5 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ReservationSkuProperty.json.cs @@ -0,0 +1,111 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The property of reservation sku object. + public partial class ReservationSkuProperty + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSkuProperty. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSkuProperty. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSkuProperty FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new ReservationSkuProperty(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal ReservationSkuProperty(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_name = If( json?.PropertyT("name"), out var __jsonName) ? (string)__jsonName : (string)Name;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._name)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._name.ToString()) : null, "name" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ReservationSummary.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/ReservationSummary.PowerShell.cs new file mode 100644 index 000000000000..bc10c1fb8063 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ReservationSummary.PowerShell.cs @@ -0,0 +1,184 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The roll up count summary of reservations in each state + [System.ComponentModel.TypeConverter(typeof(ReservationSummaryTypeConverter))] + public partial class ReservationSummary + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummary DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new ReservationSummary(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummary DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new ReservationSummary(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummary FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal ReservationSummary(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("SucceededCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)this).SucceededCount = (float?) content.GetValueForProperty("SucceededCount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)this).SucceededCount, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("FailedCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)this).FailedCount = (float?) content.GetValueForProperty("FailedCount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)this).FailedCount, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("ExpiringCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)this).ExpiringCount = (float?) content.GetValueForProperty("ExpiringCount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)this).ExpiringCount, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("ExpiredCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)this).ExpiredCount = (float?) content.GetValueForProperty("ExpiredCount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)this).ExpiredCount, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("PendingCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)this).PendingCount = (float?) content.GetValueForProperty("PendingCount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)this).PendingCount, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("CancelledCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)this).CancelledCount = (float?) content.GetValueForProperty("CancelledCount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)this).CancelledCount, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal ReservationSummary(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("SucceededCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)this).SucceededCount = (float?) content.GetValueForProperty("SucceededCount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)this).SucceededCount, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("FailedCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)this).FailedCount = (float?) content.GetValueForProperty("FailedCount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)this).FailedCount, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("ExpiringCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)this).ExpiringCount = (float?) content.GetValueForProperty("ExpiringCount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)this).ExpiringCount, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("ExpiredCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)this).ExpiredCount = (float?) content.GetValueForProperty("ExpiredCount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)this).ExpiredCount, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("PendingCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)this).PendingCount = (float?) content.GetValueForProperty("PendingCount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)this).PendingCount, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("CancelledCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)this).CancelledCount = (float?) content.GetValueForProperty("CancelledCount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)this).CancelledCount, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The roll up count summary of reservations in each state + [System.ComponentModel.TypeConverter(typeof(ReservationSummaryTypeConverter))] + public partial interface IReservationSummary + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ReservationSummary.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/ReservationSummary.TypeConverter.cs new file mode 100644 index 000000000000..44b0d9f7adb6 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ReservationSummary.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class ReservationSummaryTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummary ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummary).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return ReservationSummary.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return ReservationSummary.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return ReservationSummary.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ReservationSummary.cs b/swaggerci/billing/generated/api/Models/Api20200501/ReservationSummary.cs new file mode 100644 index 000000000000..9c733bd79635 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ReservationSummary.cs @@ -0,0 +1,154 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The roll up count summary of reservations in each state + public partial class ReservationSummary : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummary, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal + { + + /// Backing field for property. + private float? _cancelledCount; + + /// The number of reservation in Cancelled state + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public float? CancelledCount { get => this._cancelledCount; } + + /// Backing field for property. + private float? _expiredCount; + + /// The number of reservation in Expired state + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public float? ExpiredCount { get => this._expiredCount; } + + /// Backing field for property. + private float? _expiringCount; + + /// The number of reservation in Expiring state + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public float? ExpiringCount { get => this._expiringCount; } + + /// Backing field for property. + private float? _failedCount; + + /// The number of reservation in Failed state + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public float? FailedCount { get => this._failedCount; } + + /// Internal Acessors for CancelledCount + float? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal.CancelledCount { get => this._cancelledCount; set { {_cancelledCount = value;} } } + + /// Internal Acessors for ExpiredCount + float? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal.ExpiredCount { get => this._expiredCount; set { {_expiredCount = value;} } } + + /// Internal Acessors for ExpiringCount + float? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal.ExpiringCount { get => this._expiringCount; set { {_expiringCount = value;} } } + + /// Internal Acessors for FailedCount + float? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal.FailedCount { get => this._failedCount; set { {_failedCount = value;} } } + + /// Internal Acessors for PendingCount + float? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal.PendingCount { get => this._pendingCount; set { {_pendingCount = value;} } } + + /// Internal Acessors for SucceededCount + float? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal.SucceededCount { get => this._succeededCount; set { {_succeededCount = value;} } } + + /// Backing field for property. + private float? _pendingCount; + + /// The number of reservation in Pending state + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public float? PendingCount { get => this._pendingCount; } + + /// Backing field for property. + private float? _succeededCount; + + /// The number of reservation in Succeeded state + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public float? SucceededCount { get => this._succeededCount; } + + /// Creates an new instance. + public ReservationSummary() + { + + } + } + /// The roll up count summary of reservations in each state + public partial interface IReservationSummary : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The number of reservation in Cancelled state + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The number of reservation in Cancelled state", + SerializedName = @"cancelledCount", + PossibleTypes = new [] { typeof(float) })] + float? CancelledCount { get; } + /// The number of reservation in Expired state + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The number of reservation in Expired state", + SerializedName = @"expiredCount", + PossibleTypes = new [] { typeof(float) })] + float? ExpiredCount { get; } + /// The number of reservation in Expiring state + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The number of reservation in Expiring state", + SerializedName = @"expiringCount", + PossibleTypes = new [] { typeof(float) })] + float? ExpiringCount { get; } + /// The number of reservation in Failed state + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The number of reservation in Failed state", + SerializedName = @"failedCount", + PossibleTypes = new [] { typeof(float) })] + float? FailedCount { get; } + /// The number of reservation in Pending state + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The number of reservation in Pending state", + SerializedName = @"pendingCount", + PossibleTypes = new [] { typeof(float) })] + float? PendingCount { get; } + /// The number of reservation in Succeeded state + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The number of reservation in Succeeded state", + SerializedName = @"succeededCount", + PossibleTypes = new [] { typeof(float) })] + float? SucceededCount { get; } + + } + /// The roll up count summary of reservations in each state + internal partial interface IReservationSummaryInternal + + { + /// The number of reservation in Cancelled state + float? CancelledCount { get; set; } + /// The number of reservation in Expired state + float? ExpiredCount { get; set; } + /// The number of reservation in Expiring state + float? ExpiringCount { get; set; } + /// The number of reservation in Failed state + float? FailedCount { get; set; } + /// The number of reservation in Pending state + float? PendingCount { get; set; } + /// The number of reservation in Succeeded state + float? SucceededCount { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ReservationSummary.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/ReservationSummary.json.cs new file mode 100644 index 000000000000..5a3db8567155 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ReservationSummary.json.cs @@ -0,0 +1,136 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The roll up count summary of reservations in each state + public partial class ReservationSummary + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummary. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummary. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummary FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new ReservationSummary(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal ReservationSummary(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_succeededCount = If( json?.PropertyT("succeededCount"), out var __jsonSucceededCount) ? (float?)__jsonSucceededCount : SucceededCount;} + {_failedCount = If( json?.PropertyT("failedCount"), out var __jsonFailedCount) ? (float?)__jsonFailedCount : FailedCount;} + {_expiringCount = If( json?.PropertyT("expiringCount"), out var __jsonExpiringCount) ? (float?)__jsonExpiringCount : ExpiringCount;} + {_expiredCount = If( json?.PropertyT("expiredCount"), out var __jsonExpiredCount) ? (float?)__jsonExpiredCount : ExpiredCount;} + {_pendingCount = If( json?.PropertyT("pendingCount"), out var __jsonPendingCount) ? (float?)__jsonPendingCount : PendingCount;} + {_cancelledCount = If( json?.PropertyT("cancelledCount"), out var __jsonCancelledCount) ? (float?)__jsonCancelledCount : CancelledCount;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._succeededCount ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNumber((float)this._succeededCount) : null, "succeededCount" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._failedCount ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNumber((float)this._failedCount) : null, "failedCount" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._expiringCount ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNumber((float)this._expiringCount) : null, "expiringCount" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._expiredCount ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNumber((float)this._expiredCount) : null, "expiredCount" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._pendingCount ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNumber((float)this._pendingCount) : null, "pendingCount" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._cancelledCount ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNumber((float)this._cancelledCount) : null, "cancelledCount" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ReservationUtilizationAggregates.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/ReservationUtilizationAggregates.PowerShell.cs new file mode 100644 index 000000000000..d00cc062363e --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ReservationUtilizationAggregates.PowerShell.cs @@ -0,0 +1,170 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The aggregate values of reservation utilization + [System.ComponentModel.TypeConverter(typeof(ReservationUtilizationAggregatesTypeConverter))] + public partial class ReservationUtilizationAggregates + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregates DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new ReservationUtilizationAggregates(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregates DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new ReservationUtilizationAggregates(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregates FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal ReservationUtilizationAggregates(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Grain")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregatesInternal)this).Grain = (float?) content.GetValueForProperty("Grain",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregatesInternal)this).Grain, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("GrainUnit")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregatesInternal)this).GrainUnit = (string) content.GetValueForProperty("GrainUnit",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregatesInternal)this).GrainUnit, global::System.Convert.ToString); + } + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregatesInternal)this).Value = (float?) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregatesInternal)this).Value, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("ValueUnit")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregatesInternal)this).ValueUnit = (string) content.GetValueForProperty("ValueUnit",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregatesInternal)this).ValueUnit, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal ReservationUtilizationAggregates(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Grain")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregatesInternal)this).Grain = (float?) content.GetValueForProperty("Grain",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregatesInternal)this).Grain, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("GrainUnit")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregatesInternal)this).GrainUnit = (string) content.GetValueForProperty("GrainUnit",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregatesInternal)this).GrainUnit, global::System.Convert.ToString); + } + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregatesInternal)this).Value = (float?) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregatesInternal)this).Value, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("ValueUnit")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregatesInternal)this).ValueUnit = (string) content.GetValueForProperty("ValueUnit",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregatesInternal)this).ValueUnit, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The aggregate values of reservation utilization + [System.ComponentModel.TypeConverter(typeof(ReservationUtilizationAggregatesTypeConverter))] + public partial interface IReservationUtilizationAggregates + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ReservationUtilizationAggregates.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/ReservationUtilizationAggregates.TypeConverter.cs new file mode 100644 index 000000000000..ef09b3250b35 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ReservationUtilizationAggregates.TypeConverter.cs @@ -0,0 +1,148 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class ReservationUtilizationAggregatesTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregates ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregates).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return ReservationUtilizationAggregates.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return ReservationUtilizationAggregates.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return ReservationUtilizationAggregates.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ReservationUtilizationAggregates.cs b/swaggerci/billing/generated/api/Models/Api20200501/ReservationUtilizationAggregates.cs new file mode 100644 index 000000000000..3a0a5a03f684 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ReservationUtilizationAggregates.cs @@ -0,0 +1,114 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The aggregate values of reservation utilization + public partial class ReservationUtilizationAggregates : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregates, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregatesInternal + { + + /// Backing field for property. + private float? _grain; + + /// The grain of the aggregate + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public float? Grain { get => this._grain; } + + /// Backing field for property. + private string _grainUnit; + + /// The grain unit of the aggregate + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string GrainUnit { get => this._grainUnit; } + + /// Internal Acessors for Grain + float? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregatesInternal.Grain { get => this._grain; set { {_grain = value;} } } + + /// Internal Acessors for GrainUnit + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregatesInternal.GrainUnit { get => this._grainUnit; set { {_grainUnit = value;} } } + + /// Internal Acessors for Value + float? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregatesInternal.Value { get => this._value; set { {_value = value;} } } + + /// Internal Acessors for ValueUnit + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregatesInternal.ValueUnit { get => this._valueUnit; set { {_valueUnit = value;} } } + + /// Backing field for property. + private float? _value; + + /// The aggregate value + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public float? Value { get => this._value; } + + /// Backing field for property. + private string _valueUnit; + + /// The aggregate value unit + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string ValueUnit { get => this._valueUnit; } + + /// Creates an new instance. + public ReservationUtilizationAggregates() + { + + } + } + /// The aggregate values of reservation utilization + public partial interface IReservationUtilizationAggregates : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The grain of the aggregate + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The grain of the aggregate", + SerializedName = @"grain", + PossibleTypes = new [] { typeof(float) })] + float? Grain { get; } + /// The grain unit of the aggregate + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The grain unit of the aggregate", + SerializedName = @"grainUnit", + PossibleTypes = new [] { typeof(string) })] + string GrainUnit { get; } + /// The aggregate value + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The aggregate value", + SerializedName = @"value", + PossibleTypes = new [] { typeof(float) })] + float? Value { get; } + /// The aggregate value unit + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The aggregate value unit", + SerializedName = @"valueUnit", + PossibleTypes = new [] { typeof(string) })] + string ValueUnit { get; } + + } + /// The aggregate values of reservation utilization + internal partial interface IReservationUtilizationAggregatesInternal + + { + /// The grain of the aggregate + float? Grain { get; set; } + /// The grain unit of the aggregate + string GrainUnit { get; set; } + /// The aggregate value + float? Value { get; set; } + /// The aggregate value unit + string ValueUnit { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ReservationUtilizationAggregates.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/ReservationUtilizationAggregates.json.cs new file mode 100644 index 000000000000..c9f4be181b59 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ReservationUtilizationAggregates.json.cs @@ -0,0 +1,126 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The aggregate values of reservation utilization + public partial class ReservationUtilizationAggregates + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregates. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregates. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationUtilizationAggregates FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new ReservationUtilizationAggregates(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal ReservationUtilizationAggregates(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_grain = If( json?.PropertyT("grain"), out var __jsonGrain) ? (float?)__jsonGrain : Grain;} + {_grainUnit = If( json?.PropertyT("grainUnit"), out var __jsonGrainUnit) ? (string)__jsonGrainUnit : (string)GrainUnit;} + {_value = If( json?.PropertyT("value"), out var __jsonValue) ? (float?)__jsonValue : Value;} + {_valueUnit = If( json?.PropertyT("valueUnit"), out var __jsonValueUnit) ? (string)__jsonValueUnit : (string)ValueUnit;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._grain ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNumber((float)this._grain) : null, "grain" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._grainUnit)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._grainUnit.ToString()) : null, "grainUnit" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._value ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNumber((float)this._value) : null, "value" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._valueUnit)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._valueUnit.ToString()) : null, "valueUnit" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ReservationsListResult.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/ReservationsListResult.PowerShell.cs new file mode 100644 index 000000000000..96a506f50b5e --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ReservationsListResult.PowerShell.cs @@ -0,0 +1,210 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// The list of reservations and summary of roll out count of reservations in each state. + /// + [System.ComponentModel.TypeConverter(typeof(ReservationsListResultTypeConverter))] + public partial class ReservationsListResult + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResult DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new ReservationsListResult(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResult DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new ReservationsListResult(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResult FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal ReservationsListResult(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Summary")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal)this).Summary = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummary) content.GetValueForProperty("Summary",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal)this).Summary, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationSummaryTypeConverter.ConvertFrom); + } + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservation[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationTypeConverter.ConvertFrom)); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal)this).NextLink, global::System.Convert.ToString); + } + if (content.Contains("SummarySucceededCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal)this).SummarySucceededCount = (float?) content.GetValueForProperty("SummarySucceededCount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal)this).SummarySucceededCount, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("SummaryFailedCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal)this).SummaryFailedCount = (float?) content.GetValueForProperty("SummaryFailedCount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal)this).SummaryFailedCount, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("SummaryExpiringCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal)this).SummaryExpiringCount = (float?) content.GetValueForProperty("SummaryExpiringCount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal)this).SummaryExpiringCount, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("SummaryExpiredCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal)this).SummaryExpiredCount = (float?) content.GetValueForProperty("SummaryExpiredCount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal)this).SummaryExpiredCount, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("SummaryPendingCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal)this).SummaryPendingCount = (float?) content.GetValueForProperty("SummaryPendingCount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal)this).SummaryPendingCount, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("SummaryCancelledCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal)this).SummaryCancelledCount = (float?) content.GetValueForProperty("SummaryCancelledCount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal)this).SummaryCancelledCount, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal ReservationsListResult(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Summary")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal)this).Summary = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummary) content.GetValueForProperty("Summary",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal)this).Summary, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationSummaryTypeConverter.ConvertFrom); + } + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservation[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationTypeConverter.ConvertFrom)); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal)this).NextLink, global::System.Convert.ToString); + } + if (content.Contains("SummarySucceededCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal)this).SummarySucceededCount = (float?) content.GetValueForProperty("SummarySucceededCount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal)this).SummarySucceededCount, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("SummaryFailedCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal)this).SummaryFailedCount = (float?) content.GetValueForProperty("SummaryFailedCount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal)this).SummaryFailedCount, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("SummaryExpiringCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal)this).SummaryExpiringCount = (float?) content.GetValueForProperty("SummaryExpiringCount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal)this).SummaryExpiringCount, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("SummaryExpiredCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal)this).SummaryExpiredCount = (float?) content.GetValueForProperty("SummaryExpiredCount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal)this).SummaryExpiredCount, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("SummaryPendingCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal)this).SummaryPendingCount = (float?) content.GetValueForProperty("SummaryPendingCount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal)this).SummaryPendingCount, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("SummaryCancelledCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal)this).SummaryCancelledCount = (float?) content.GetValueForProperty("SummaryCancelledCount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal)this).SummaryCancelledCount, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + /// The list of reservations and summary of roll out count of reservations in each state. + [System.ComponentModel.TypeConverter(typeof(ReservationsListResultTypeConverter))] + public partial interface IReservationsListResult + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ReservationsListResult.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/ReservationsListResult.TypeConverter.cs new file mode 100644 index 000000000000..5d6ebb8f1942 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ReservationsListResult.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class ReservationsListResultTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResult ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResult).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return ReservationsListResult.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return ReservationsListResult.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return ReservationsListResult.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ReservationsListResult.cs b/swaggerci/billing/generated/api/Models/Api20200501/ReservationsListResult.cs new file mode 100644 index 000000000000..b55bfeab25e8 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ReservationsListResult.cs @@ -0,0 +1,190 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// + /// The list of reservations and summary of roll out count of reservations in each state. + /// + public partial class ReservationsListResult : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResult, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal + { + + /// Internal Acessors for NextLink + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal.NextLink { get => this._nextLink; set { {_nextLink = value;} } } + + /// Internal Acessors for Summary + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummary Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal.Summary { get => (this._summary = this._summary ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationSummary()); set { {_summary = value;} } } + + /// Internal Acessors for SummaryCancelledCount + float? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal.SummaryCancelledCount { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)Summary).CancelledCount; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)Summary).CancelledCount = value; } + + /// Internal Acessors for SummaryExpiredCount + float? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal.SummaryExpiredCount { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)Summary).ExpiredCount; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)Summary).ExpiredCount = value; } + + /// Internal Acessors for SummaryExpiringCount + float? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal.SummaryExpiringCount { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)Summary).ExpiringCount; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)Summary).ExpiringCount = value; } + + /// Internal Acessors for SummaryFailedCount + float? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal.SummaryFailedCount { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)Summary).FailedCount; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)Summary).FailedCount = value; } + + /// Internal Acessors for SummaryPendingCount + float? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal.SummaryPendingCount { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)Summary).PendingCount; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)Summary).PendingCount = value; } + + /// Internal Acessors for SummarySucceededCount + float? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal.SummarySucceededCount { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)Summary).SucceededCount; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)Summary).SucceededCount = value; } + + /// Internal Acessors for Value + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservation[] Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResultInternal.Value { get => this._value; set { {_value = value;} } } + + /// Backing field for property. + private string _nextLink; + + /// The link (url) to the next page of results. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string NextLink { get => this._nextLink; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummary _summary; + + /// The roll out count summary of the reservations + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummary Summary { get => (this._summary = this._summary ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationSummary()); set => this._summary = value; } + + /// The number of reservation in Cancelled state + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? SummaryCancelledCount { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)Summary).CancelledCount; } + + /// The number of reservation in Expired state + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? SummaryExpiredCount { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)Summary).ExpiredCount; } + + /// The number of reservation in Expiring state + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? SummaryExpiringCount { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)Summary).ExpiringCount; } + + /// The number of reservation in Failed state + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? SummaryFailedCount { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)Summary).FailedCount; } + + /// The number of reservation in Pending state + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? SummaryPendingCount { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)Summary).PendingCount; } + + /// The number of reservation in Succeeded state + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? SummarySucceededCount { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummaryInternal)Summary).SucceededCount; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservation[] _value; + + /// The list of reservations. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservation[] Value { get => this._value; } + + /// Creates an new instance. + public ReservationsListResult() + { + + } + } + /// The list of reservations and summary of roll out count of reservations in each state. + public partial interface IReservationsListResult : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The link (url) to the next page of results. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The link (url) to the next page of results.", + SerializedName = @"nextLink", + PossibleTypes = new [] { typeof(string) })] + string NextLink { get; } + /// The number of reservation in Cancelled state + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The number of reservation in Cancelled state", + SerializedName = @"cancelledCount", + PossibleTypes = new [] { typeof(float) })] + float? SummaryCancelledCount { get; } + /// The number of reservation in Expired state + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The number of reservation in Expired state", + SerializedName = @"expiredCount", + PossibleTypes = new [] { typeof(float) })] + float? SummaryExpiredCount { get; } + /// The number of reservation in Expiring state + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The number of reservation in Expiring state", + SerializedName = @"expiringCount", + PossibleTypes = new [] { typeof(float) })] + float? SummaryExpiringCount { get; } + /// The number of reservation in Failed state + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The number of reservation in Failed state", + SerializedName = @"failedCount", + PossibleTypes = new [] { typeof(float) })] + float? SummaryFailedCount { get; } + /// The number of reservation in Pending state + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The number of reservation in Pending state", + SerializedName = @"pendingCount", + PossibleTypes = new [] { typeof(float) })] + float? SummaryPendingCount { get; } + /// The number of reservation in Succeeded state + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The number of reservation in Succeeded state", + SerializedName = @"succeededCount", + PossibleTypes = new [] { typeof(float) })] + float? SummarySucceededCount { get; } + /// The list of reservations. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The list of reservations.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservation) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservation[] Value { get; } + + } + /// The list of reservations and summary of roll out count of reservations in each state. + internal partial interface IReservationsListResultInternal + + { + /// The link (url) to the next page of results. + string NextLink { get; set; } + /// The roll out count summary of the reservations + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationSummary Summary { get; set; } + /// The number of reservation in Cancelled state + float? SummaryCancelledCount { get; set; } + /// The number of reservation in Expired state + float? SummaryExpiredCount { get; set; } + /// The number of reservation in Expiring state + float? SummaryExpiringCount { get; set; } + /// The number of reservation in Failed state + float? SummaryFailedCount { get; set; } + /// The number of reservation in Pending state + float? SummaryPendingCount { get; set; } + /// The number of reservation in Succeeded state + float? SummarySucceededCount { get; set; } + /// The list of reservations. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservation[] Value { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ReservationsListResult.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/ReservationsListResult.json.cs new file mode 100644 index 000000000000..b5442b046bc1 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ReservationsListResult.json.cs @@ -0,0 +1,128 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// + /// The list of reservations and summary of roll out count of reservations in each state. + /// + public partial class ReservationsListResult + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResult. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResult. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResult FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new ReservationsListResult(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal ReservationsListResult(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_summary = If( json?.PropertyT("summary"), out var __jsonSummary) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ReservationSummary.FromJson(__jsonSummary) : Summary;} + {_value = If( json?.PropertyT("value"), out var __jsonValue) ? If( __jsonValue as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservation) (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Reservation.FromJson(__u) )) ))() : null : Value;} + {_nextLink = If( json?.PropertyT("nextLink"), out var __jsonNextLink) ? (string)__jsonNextLink : (string)NextLink;} + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != this._summary ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._summary.ToJson(null,serializationMode) : null, "summary" ,container.Add ); + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + if (null != this._value) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(); + foreach( var __x in this._value ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("value",__w); + } + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._nextLink)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._nextLink.ToString()) : null, "nextLink" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Transaction.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/Transaction.PowerShell.cs new file mode 100644 index 000000000000..bbba08a0e191 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Transaction.PowerShell.cs @@ -0,0 +1,552 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// A transaction. + [System.ComponentModel.TypeConverter(typeof(TransactionTypeConverter))] + public partial class Transaction + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransaction DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new Transaction(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransaction DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new Transaction(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransaction FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal Transaction(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.TransactionPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("Amount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).Amount = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("Amount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).Amount, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("AzureCreditApplied")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).AzureCreditApplied = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("AzureCreditApplied",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).AzureCreditApplied, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("EffectivePrice")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).EffectivePrice = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("EffectivePrice",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).EffectivePrice, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("MarketPrice")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).MarketPrice = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("MarketPrice",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).MarketPrice, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("SubTotal")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).SubTotal = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("SubTotal",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).SubTotal, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("Tax")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).Tax = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("Tax",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).Tax, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("Kind")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).Kind = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TransactionTypeKind?) content.GetValueForProperty("Kind",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).Kind, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TransactionTypeKind.CreateFrom); + } + if (content.Contains("Date")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).Date = (global::System.DateTime?) content.GetValueForProperty("Date",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).Date, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("Invoice")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).Invoice = (string) content.GetValueForProperty("Invoice",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).Invoice, global::System.Convert.ToString); + } + if (content.Contains("InvoiceId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).InvoiceId = (string) content.GetValueForProperty("InvoiceId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).InvoiceId, global::System.Convert.ToString); + } + if (content.Contains("OrderId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).OrderId = (string) content.GetValueForProperty("OrderId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).OrderId, global::System.Convert.ToString); + } + if (content.Contains("OrderName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).OrderName = (string) content.GetValueForProperty("OrderName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).OrderName, global::System.Convert.ToString); + } + if (content.Contains("ProductFamily")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).ProductFamily = (string) content.GetValueForProperty("ProductFamily",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).ProductFamily, global::System.Convert.ToString); + } + if (content.Contains("ProductTypeId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).ProductTypeId = (string) content.GetValueForProperty("ProductTypeId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).ProductTypeId, global::System.Convert.ToString); + } + if (content.Contains("ProductType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).ProductType = (string) content.GetValueForProperty("ProductType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).ProductType, global::System.Convert.ToString); + } + if (content.Contains("ProductDescription")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).ProductDescription = (string) content.GetValueForProperty("ProductDescription",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).ProductDescription, global::System.Convert.ToString); + } + if (content.Contains("TransactionType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).TransactionType = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationType?) content.GetValueForProperty("TransactionType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).TransactionType, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationType.CreateFrom); + } + if (content.Contains("Quantity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).Quantity = (int?) content.GetValueForProperty("Quantity",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).Quantity, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("InvoiceSectionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).InvoiceSectionId = (string) content.GetValueForProperty("InvoiceSectionId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).InvoiceSectionId, global::System.Convert.ToString); + } + if (content.Contains("InvoiceSectionDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).InvoiceSectionDisplayName = (string) content.GetValueForProperty("InvoiceSectionDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).InvoiceSectionDisplayName, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).BillingProfileId = (string) content.GetValueForProperty("BillingProfileId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).BillingProfileId, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).BillingProfileDisplayName = (string) content.GetValueForProperty("BillingProfileDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).BillingProfileDisplayName, global::System.Convert.ToString); + } + if (content.Contains("CustomerId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).CustomerId = (string) content.GetValueForProperty("CustomerId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).CustomerId, global::System.Convert.ToString); + } + if (content.Contains("CustomerDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).CustomerDisplayName = (string) content.GetValueForProperty("CustomerDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).CustomerDisplayName, global::System.Convert.ToString); + } + if (content.Contains("SubscriptionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).SubscriptionId = (string) content.GetValueForProperty("SubscriptionId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).SubscriptionId, global::System.Convert.ToString); + } + if (content.Contains("SubscriptionName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).SubscriptionName = (string) content.GetValueForProperty("SubscriptionName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).SubscriptionName, global::System.Convert.ToString); + } + if (content.Contains("AzurePlan")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).AzurePlan = (string) content.GetValueForProperty("AzurePlan",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).AzurePlan, global::System.Convert.ToString); + } + if (content.Contains("BillingCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).BillingCurrency = (string) content.GetValueForProperty("BillingCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).BillingCurrency, global::System.Convert.ToString); + } + if (content.Contains("Discount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).Discount = (float?) content.GetValueForProperty("Discount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).Discount, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("ExchangeRate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).ExchangeRate = (float?) content.GetValueForProperty("ExchangeRate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).ExchangeRate, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("PricingCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).PricingCurrency = (string) content.GetValueForProperty("PricingCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).PricingCurrency, global::System.Convert.ToString); + } + if (content.Contains("ServicePeriodStartDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).ServicePeriodStartDate = (global::System.DateTime?) content.GetValueForProperty("ServicePeriodStartDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).ServicePeriodStartDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("ServicePeriodEndDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).ServicePeriodEndDate = (global::System.DateTime?) content.GetValueForProperty("ServicePeriodEndDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).ServicePeriodEndDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("UnitOfMeasure")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).UnitOfMeasure = (string) content.GetValueForProperty("UnitOfMeasure",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).UnitOfMeasure, global::System.Convert.ToString); + } + if (content.Contains("Unit")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).Unit = (float?) content.GetValueForProperty("Unit",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).Unit, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("UnitType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).UnitType = (string) content.GetValueForProperty("UnitType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).UnitType, global::System.Convert.ToString); + } + if (content.Contains("AmountCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).AmountCurrency = (string) content.GetValueForProperty("AmountCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).AmountCurrency, global::System.Convert.ToString); + } + if (content.Contains("AmountValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).AmountValue = (float?) content.GetValueForProperty("AmountValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).AmountValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("AzureCreditAppliedCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).AzureCreditAppliedCurrency = (string) content.GetValueForProperty("AzureCreditAppliedCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).AzureCreditAppliedCurrency, global::System.Convert.ToString); + } + if (content.Contains("AzureCreditAppliedValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).AzureCreditAppliedValue = (float?) content.GetValueForProperty("AzureCreditAppliedValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).AzureCreditAppliedValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("EffectivePriceCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).EffectivePriceCurrency = (string) content.GetValueForProperty("EffectivePriceCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).EffectivePriceCurrency, global::System.Convert.ToString); + } + if (content.Contains("EffectivePriceValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).EffectivePriceValue = (float?) content.GetValueForProperty("EffectivePriceValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).EffectivePriceValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("MarketPriceCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).MarketPriceCurrency = (string) content.GetValueForProperty("MarketPriceCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).MarketPriceCurrency, global::System.Convert.ToString); + } + if (content.Contains("MarketPriceValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).MarketPriceValue = (float?) content.GetValueForProperty("MarketPriceValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).MarketPriceValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("SubTotalCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).SubTotalCurrency = (string) content.GetValueForProperty("SubTotalCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).SubTotalCurrency, global::System.Convert.ToString); + } + if (content.Contains("SubTotalValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).SubTotalValue = (float?) content.GetValueForProperty("SubTotalValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).SubTotalValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("TaxCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).TaxCurrency = (string) content.GetValueForProperty("TaxCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).TaxCurrency, global::System.Convert.ToString); + } + if (content.Contains("TaxValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).TaxValue = (float?) content.GetValueForProperty("TaxValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).TaxValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal Transaction(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Property")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).Property = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionProperties) content.GetValueForProperty("Property",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).Property, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.TransactionPropertiesTypeConverter.ConvertFrom); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Id, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("Type")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type = (string) content.GetValueForProperty("Type",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)this).Type, global::System.Convert.ToString); + } + if (content.Contains("Amount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).Amount = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("Amount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).Amount, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("AzureCreditApplied")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).AzureCreditApplied = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("AzureCreditApplied",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).AzureCreditApplied, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("EffectivePrice")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).EffectivePrice = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("EffectivePrice",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).EffectivePrice, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("MarketPrice")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).MarketPrice = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("MarketPrice",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).MarketPrice, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("SubTotal")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).SubTotal = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("SubTotal",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).SubTotal, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("Tax")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).Tax = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("Tax",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).Tax, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("Kind")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).Kind = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TransactionTypeKind?) content.GetValueForProperty("Kind",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).Kind, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TransactionTypeKind.CreateFrom); + } + if (content.Contains("Date")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).Date = (global::System.DateTime?) content.GetValueForProperty("Date",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).Date, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("Invoice")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).Invoice = (string) content.GetValueForProperty("Invoice",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).Invoice, global::System.Convert.ToString); + } + if (content.Contains("InvoiceId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).InvoiceId = (string) content.GetValueForProperty("InvoiceId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).InvoiceId, global::System.Convert.ToString); + } + if (content.Contains("OrderId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).OrderId = (string) content.GetValueForProperty("OrderId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).OrderId, global::System.Convert.ToString); + } + if (content.Contains("OrderName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).OrderName = (string) content.GetValueForProperty("OrderName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).OrderName, global::System.Convert.ToString); + } + if (content.Contains("ProductFamily")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).ProductFamily = (string) content.GetValueForProperty("ProductFamily",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).ProductFamily, global::System.Convert.ToString); + } + if (content.Contains("ProductTypeId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).ProductTypeId = (string) content.GetValueForProperty("ProductTypeId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).ProductTypeId, global::System.Convert.ToString); + } + if (content.Contains("ProductType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).ProductType = (string) content.GetValueForProperty("ProductType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).ProductType, global::System.Convert.ToString); + } + if (content.Contains("ProductDescription")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).ProductDescription = (string) content.GetValueForProperty("ProductDescription",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).ProductDescription, global::System.Convert.ToString); + } + if (content.Contains("TransactionType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).TransactionType = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationType?) content.GetValueForProperty("TransactionType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).TransactionType, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationType.CreateFrom); + } + if (content.Contains("Quantity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).Quantity = (int?) content.GetValueForProperty("Quantity",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).Quantity, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("InvoiceSectionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).InvoiceSectionId = (string) content.GetValueForProperty("InvoiceSectionId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).InvoiceSectionId, global::System.Convert.ToString); + } + if (content.Contains("InvoiceSectionDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).InvoiceSectionDisplayName = (string) content.GetValueForProperty("InvoiceSectionDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).InvoiceSectionDisplayName, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).BillingProfileId = (string) content.GetValueForProperty("BillingProfileId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).BillingProfileId, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).BillingProfileDisplayName = (string) content.GetValueForProperty("BillingProfileDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).BillingProfileDisplayName, global::System.Convert.ToString); + } + if (content.Contains("CustomerId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).CustomerId = (string) content.GetValueForProperty("CustomerId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).CustomerId, global::System.Convert.ToString); + } + if (content.Contains("CustomerDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).CustomerDisplayName = (string) content.GetValueForProperty("CustomerDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).CustomerDisplayName, global::System.Convert.ToString); + } + if (content.Contains("SubscriptionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).SubscriptionId = (string) content.GetValueForProperty("SubscriptionId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).SubscriptionId, global::System.Convert.ToString); + } + if (content.Contains("SubscriptionName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).SubscriptionName = (string) content.GetValueForProperty("SubscriptionName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).SubscriptionName, global::System.Convert.ToString); + } + if (content.Contains("AzurePlan")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).AzurePlan = (string) content.GetValueForProperty("AzurePlan",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).AzurePlan, global::System.Convert.ToString); + } + if (content.Contains("BillingCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).BillingCurrency = (string) content.GetValueForProperty("BillingCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).BillingCurrency, global::System.Convert.ToString); + } + if (content.Contains("Discount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).Discount = (float?) content.GetValueForProperty("Discount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).Discount, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("ExchangeRate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).ExchangeRate = (float?) content.GetValueForProperty("ExchangeRate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).ExchangeRate, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("PricingCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).PricingCurrency = (string) content.GetValueForProperty("PricingCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).PricingCurrency, global::System.Convert.ToString); + } + if (content.Contains("ServicePeriodStartDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).ServicePeriodStartDate = (global::System.DateTime?) content.GetValueForProperty("ServicePeriodStartDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).ServicePeriodStartDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("ServicePeriodEndDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).ServicePeriodEndDate = (global::System.DateTime?) content.GetValueForProperty("ServicePeriodEndDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).ServicePeriodEndDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("UnitOfMeasure")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).UnitOfMeasure = (string) content.GetValueForProperty("UnitOfMeasure",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).UnitOfMeasure, global::System.Convert.ToString); + } + if (content.Contains("Unit")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).Unit = (float?) content.GetValueForProperty("Unit",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).Unit, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("UnitType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).UnitType = (string) content.GetValueForProperty("UnitType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).UnitType, global::System.Convert.ToString); + } + if (content.Contains("AmountCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).AmountCurrency = (string) content.GetValueForProperty("AmountCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).AmountCurrency, global::System.Convert.ToString); + } + if (content.Contains("AmountValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).AmountValue = (float?) content.GetValueForProperty("AmountValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).AmountValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("AzureCreditAppliedCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).AzureCreditAppliedCurrency = (string) content.GetValueForProperty("AzureCreditAppliedCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).AzureCreditAppliedCurrency, global::System.Convert.ToString); + } + if (content.Contains("AzureCreditAppliedValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).AzureCreditAppliedValue = (float?) content.GetValueForProperty("AzureCreditAppliedValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).AzureCreditAppliedValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("EffectivePriceCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).EffectivePriceCurrency = (string) content.GetValueForProperty("EffectivePriceCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).EffectivePriceCurrency, global::System.Convert.ToString); + } + if (content.Contains("EffectivePriceValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).EffectivePriceValue = (float?) content.GetValueForProperty("EffectivePriceValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).EffectivePriceValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("MarketPriceCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).MarketPriceCurrency = (string) content.GetValueForProperty("MarketPriceCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).MarketPriceCurrency, global::System.Convert.ToString); + } + if (content.Contains("MarketPriceValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).MarketPriceValue = (float?) content.GetValueForProperty("MarketPriceValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).MarketPriceValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("SubTotalCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).SubTotalCurrency = (string) content.GetValueForProperty("SubTotalCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).SubTotalCurrency, global::System.Convert.ToString); + } + if (content.Contains("SubTotalValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).SubTotalValue = (float?) content.GetValueForProperty("SubTotalValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).SubTotalValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("TaxCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).TaxCurrency = (string) content.GetValueForProperty("TaxCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).TaxCurrency, global::System.Convert.ToString); + } + if (content.Contains("TaxValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).TaxValue = (float?) content.GetValueForProperty("TaxValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal)this).TaxValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + AfterDeserializePSObject(content); + } + } + /// A transaction. + [System.ComponentModel.TypeConverter(typeof(TransactionTypeConverter))] + public partial interface ITransaction + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Transaction.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/Transaction.TypeConverter.cs new file mode 100644 index 000000000000..95141b2e51d4 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Transaction.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class TransactionTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransaction ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransaction).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return Transaction.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return Transaction.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return Transaction.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Transaction.cs b/swaggerci/billing/generated/api/Models/Api20200501/Transaction.cs new file mode 100644 index 000000000000..938561c2672b --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Transaction.cs @@ -0,0 +1,884 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// A transaction. + public partial class Transaction : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransaction, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IValidates + { + /// + /// Backing field for Inherited model + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource __resource = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource(); + + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string AmountCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).TransactionAmountCurrency; } + + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? AmountValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).TransactionAmountValue; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).TransactionAmountValue = value ?? default(float); } + + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string AzureCreditAppliedCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).AzureCreditAppliedCurrency; } + + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? AzureCreditAppliedValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).AzureCreditAppliedValue; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).AzureCreditAppliedValue = value ?? default(float); } + + /// The type of azure plan of the subscription that was used for the transaction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string AzurePlan { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).AzurePlan; } + + /// The ISO 4217 code for the currency in which this transaction is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillingCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).BillingCurrency; } + + /// The name of the billing profile which will be billed for the transaction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillingProfileDisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).BillingProfileDisplayName; } + + /// The ID of the billing profile which will be billed for the transaction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string BillingProfileId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).BillingProfileId; } + + /// + /// The name of the customer for which the transaction took place. The field is applicable only for Microsoft Partner Agreement + /// billing account. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string CustomerDisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).CustomerDisplayName; } + + /// + /// The ID of the customer for which the transaction took place. The field is applicable only for Microsoft Partner Agreement + /// billing account. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string CustomerId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).CustomerId; } + + /// The date of transaction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public global::System.DateTime? Date { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).Date; } + + /// The percentage discount, if any, applied to this transaction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? Discount { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).Discount; } + + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string EffectivePriceCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).EffectivePriceCurrency; } + + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? EffectivePriceValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).EffectivePriceValue; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).EffectivePriceValue = value ?? default(float); } + + /// + /// The exchange rate used to convert charged amount to billing currency, if applicable. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? ExchangeRate { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).ExchangeRate; } + + /// Resource Id. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id; } + + /// + /// Invoice on which the transaction was billed or 'pending' if the transaction is not billed. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string Invoice { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).Invoice; } + + /// + /// The ID of the invoice on which the transaction was billed. This field is only applicable for transactions which are billed. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string InvoiceId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).InvoiceId; } + + /// The name of the invoice section which will be billed for the transaction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string InvoiceSectionDisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).InvoiceSectionDisplayName; } + + /// The ID of the invoice section which will be billed for the transaction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string InvoiceSectionId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).InvoiceSectionId; } + + /// The kind of transaction. Options are all or reservation. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TransactionTypeKind? Kind { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).Kind; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).Kind = value ?? ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TransactionTypeKind)""); } + + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string MarketPriceCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).MarketPriceCurrency; } + + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? MarketPriceValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).MarketPriceValue; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).MarketPriceValue = value ?? default(float); } + + /// Internal Acessors for Id + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Id { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Id = value; } + + /// Internal Acessors for Name + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name = value; } + + /// Internal Acessors for Type + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal.Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type = value; } + + /// Internal Acessors for Amount + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal.Amount { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).TransactionAmount; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).TransactionAmount = value; } + + /// Internal Acessors for AmountCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal.AmountCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).TransactionAmountCurrency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).TransactionAmountCurrency = value; } + + /// Internal Acessors for AzureCreditApplied + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal.AzureCreditApplied { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).AzureCreditApplied; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).AzureCreditApplied = value; } + + /// Internal Acessors for AzureCreditAppliedCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal.AzureCreditAppliedCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).AzureCreditAppliedCurrency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).AzureCreditAppliedCurrency = value; } + + /// Internal Acessors for AzurePlan + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal.AzurePlan { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).AzurePlan; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).AzurePlan = value; } + + /// Internal Acessors for BillingCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal.BillingCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).BillingCurrency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).BillingCurrency = value; } + + /// Internal Acessors for BillingProfileDisplayName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal.BillingProfileDisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).BillingProfileDisplayName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).BillingProfileDisplayName = value; } + + /// Internal Acessors for BillingProfileId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal.BillingProfileId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).BillingProfileId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).BillingProfileId = value; } + + /// Internal Acessors for CustomerDisplayName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal.CustomerDisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).CustomerDisplayName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).CustomerDisplayName = value; } + + /// Internal Acessors for CustomerId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal.CustomerId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).CustomerId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).CustomerId = value; } + + /// Internal Acessors for Date + global::System.DateTime? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal.Date { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).Date; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).Date = value; } + + /// Internal Acessors for Discount + float? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal.Discount { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).Discount; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).Discount = value; } + + /// Internal Acessors for EffectivePrice + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal.EffectivePrice { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).EffectivePrice; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).EffectivePrice = value; } + + /// Internal Acessors for EffectivePriceCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal.EffectivePriceCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).EffectivePriceCurrency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).EffectivePriceCurrency = value; } + + /// Internal Acessors for ExchangeRate + float? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal.ExchangeRate { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).ExchangeRate; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).ExchangeRate = value; } + + /// Internal Acessors for Invoice + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal.Invoice { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).Invoice; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).Invoice = value; } + + /// Internal Acessors for InvoiceId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal.InvoiceId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).InvoiceId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).InvoiceId = value; } + + /// Internal Acessors for InvoiceSectionDisplayName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal.InvoiceSectionDisplayName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).InvoiceSectionDisplayName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).InvoiceSectionDisplayName = value; } + + /// Internal Acessors for InvoiceSectionId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal.InvoiceSectionId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).InvoiceSectionId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).InvoiceSectionId = value; } + + /// Internal Acessors for MarketPrice + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal.MarketPrice { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).MarketPrice; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).MarketPrice = value; } + + /// Internal Acessors for MarketPriceCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal.MarketPriceCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).MarketPriceCurrency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).MarketPriceCurrency = value; } + + /// Internal Acessors for OrderId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal.OrderId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).OrderId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).OrderId = value; } + + /// Internal Acessors for OrderName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal.OrderName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).OrderName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).OrderName = value; } + + /// Internal Acessors for PricingCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal.PricingCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).PricingCurrency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).PricingCurrency = value; } + + /// Internal Acessors for ProductDescription + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal.ProductDescription { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).ProductDescription; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).ProductDescription = value; } + + /// Internal Acessors for ProductFamily + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal.ProductFamily { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).ProductFamily; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).ProductFamily = value; } + + /// Internal Acessors for ProductType + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal.ProductType { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).ProductType; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).ProductType = value; } + + /// Internal Acessors for ProductTypeId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal.ProductTypeId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).ProductTypeId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).ProductTypeId = value; } + + /// Internal Acessors for Property + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionProperties Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal.Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.TransactionProperties()); set { {_property = value;} } } + + /// Internal Acessors for Quantity + int? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal.Quantity { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).Quantity; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).Quantity = value; } + + /// Internal Acessors for ServicePeriodEndDate + global::System.DateTime? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal.ServicePeriodEndDate { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).ServicePeriodEndDate; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).ServicePeriodEndDate = value; } + + /// Internal Acessors for ServicePeriodStartDate + global::System.DateTime? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal.ServicePeriodStartDate { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).ServicePeriodStartDate; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).ServicePeriodStartDate = value; } + + /// Internal Acessors for SubTotal + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal.SubTotal { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).SubTotal; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).SubTotal = value; } + + /// Internal Acessors for SubTotalCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal.SubTotalCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).SubTotalCurrency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).SubTotalCurrency = value; } + + /// Internal Acessors for SubscriptionId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal.SubscriptionId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).SubscriptionId; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).SubscriptionId = value; } + + /// Internal Acessors for SubscriptionName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal.SubscriptionName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).SubscriptionName; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).SubscriptionName = value; } + + /// Internal Acessors for Tax + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal.Tax { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).Tax; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).Tax = value; } + + /// Internal Acessors for TaxCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal.TaxCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).TaxCurrency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).TaxCurrency = value; } + + /// Internal Acessors for Unit + float? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal.Unit { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).Unit; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).Unit = value; } + + /// Internal Acessors for UnitOfMeasure + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal.UnitOfMeasure { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).UnitOfMeasure; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).UnitOfMeasure = value; } + + /// Internal Acessors for UnitType + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionInternal.UnitType { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).UnitType; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).UnitType = value; } + + /// Resource name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Name { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Name; } + + /// + /// The order ID of the reservation. The field is only applicable for transaction of kind reservation. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string OrderId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).OrderId; } + + /// + /// The name of the reservation order. The field is only applicable for transactions of kind reservation. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string OrderName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).OrderName; } + + /// The ISO 4217 code for the currency in which the product is priced. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string PricingCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).PricingCurrency; } + + /// The description of the product for which the transaction took place. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string ProductDescription { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).ProductDescription; } + + /// The family of the product for which the transaction took place. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string ProductFamily { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).ProductFamily; } + + /// The type of the product for which the transaction took place. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string ProductType { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).ProductType; } + + /// The ID of the product type for which the transaction took place. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string ProductTypeId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).ProductTypeId; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionProperties _property; + + /// The properties of a transaction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionProperties Property { get => (this._property = this._property ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.TransactionProperties()); set => this._property = value; } + + /// The quantity purchased in the transaction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public int? Quantity { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).Quantity; } + + /// + /// The end date of the product term, or the end date of the month in which usage ended. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public global::System.DateTime? ServicePeriodEndDate { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).ServicePeriodEndDate; } + + /// + /// The date of the purchase of the product, or the start date of the month in which usage started. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public global::System.DateTime? ServicePeriodStartDate { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).ServicePeriodStartDate; } + + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SubTotalCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).SubTotalCurrency; } + + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? SubTotalValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).SubTotalValue; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).SubTotalValue = value ?? default(float); } + + /// + /// The ID of the subscription that was used for the transaction. The field is only applicable for transaction of kind reservation. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SubscriptionId { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).SubscriptionId; } + + /// + /// The name of the subscription that was used for the transaction. The field is only applicable for transaction of kind reservation. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SubscriptionName { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).SubscriptionName; } + + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string TaxCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).TaxCurrency; } + + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? TaxValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).TaxValue; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).TaxValue = value ?? default(float); } + + /// The type of transaction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationType? TransactionType { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).TransactionType; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).TransactionType = value ?? ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationType)""); } + + /// Resource type. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inherited)] + public string Type { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal)__resource).Type; } + + /// The number of units used for a given product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? Unit { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).Unit; } + + /// + /// The unit of measure used to bill for the product. For example, compute services are billed per hour. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string UnitOfMeasure { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).UnitOfMeasure; } + + /// The description for the unit of measure for a given product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string UnitType { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)Property).UnitType; } + + /// Creates an new instance. + public Transaction() + { + + } + + /// Validates that this object meets the validation criteria. + /// an instance that will receive validation + /// events. + /// + /// A that will be complete when validation is completed. + /// + public async global::System.Threading.Tasks.Task Validate(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener eventListener) + { + await eventListener.AssertNotNull(nameof(__resource), __resource); + await eventListener.AssertObjectIsValid(nameof(__resource), __resource); + } + } + /// A transaction. + public partial interface ITransaction : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResource + { + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The currency for the amount value.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string AmountCurrency { get; } + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Amount value.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(float) })] + float? AmountValue { get; set; } + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The currency for the amount value.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string AzureCreditAppliedCurrency { get; } + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Amount value.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(float) })] + float? AzureCreditAppliedValue { get; set; } + /// The type of azure plan of the subscription that was used for the transaction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The type of azure plan of the subscription that was used for the transaction.", + SerializedName = @"azurePlan", + PossibleTypes = new [] { typeof(string) })] + string AzurePlan { get; } + /// The ISO 4217 code for the currency in which this transaction is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ISO 4217 code for the currency in which this transaction is billed.", + SerializedName = @"billingCurrency", + PossibleTypes = new [] { typeof(string) })] + string BillingCurrency { get; } + /// The name of the billing profile which will be billed for the transaction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the billing profile which will be billed for the transaction.", + SerializedName = @"billingProfileDisplayName", + PossibleTypes = new [] { typeof(string) })] + string BillingProfileDisplayName { get; } + /// The ID of the billing profile which will be billed for the transaction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the billing profile which will be billed for the transaction.", + SerializedName = @"billingProfileId", + PossibleTypes = new [] { typeof(string) })] + string BillingProfileId { get; } + /// + /// The name of the customer for which the transaction took place. The field is applicable only for Microsoft Partner Agreement + /// billing account. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the customer for which the transaction took place. The field is applicable only for Microsoft Partner Agreement billing account.", + SerializedName = @"customerDisplayName", + PossibleTypes = new [] { typeof(string) })] + string CustomerDisplayName { get; } + /// + /// The ID of the customer for which the transaction took place. The field is applicable only for Microsoft Partner Agreement + /// billing account. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the customer for which the transaction took place. The field is applicable only for Microsoft Partner Agreement billing account.", + SerializedName = @"customerId", + PossibleTypes = new [] { typeof(string) })] + string CustomerId { get; } + /// The date of transaction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The date of transaction.", + SerializedName = @"date", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? Date { get; } + /// The percentage discount, if any, applied to this transaction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The percentage discount, if any, applied to this transaction.", + SerializedName = @"discount", + PossibleTypes = new [] { typeof(float) })] + float? Discount { get; } + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The currency for the amount value.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string EffectivePriceCurrency { get; } + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Amount value.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(float) })] + float? EffectivePriceValue { get; set; } + /// + /// The exchange rate used to convert charged amount to billing currency, if applicable. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The exchange rate used to convert charged amount to billing currency, if applicable.", + SerializedName = @"exchangeRate", + PossibleTypes = new [] { typeof(float) })] + float? ExchangeRate { get; } + /// + /// Invoice on which the transaction was billed or 'pending' if the transaction is not billed. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Invoice on which the transaction was billed or 'pending' if the transaction is not billed.", + SerializedName = @"invoice", + PossibleTypes = new [] { typeof(string) })] + string Invoice { get; } + /// + /// The ID of the invoice on which the transaction was billed. This field is only applicable for transactions which are billed. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the invoice on which the transaction was billed. This field is only applicable for transactions which are billed.", + SerializedName = @"invoiceId", + PossibleTypes = new [] { typeof(string) })] + string InvoiceId { get; } + /// The name of the invoice section which will be billed for the transaction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the invoice section which will be billed for the transaction.", + SerializedName = @"invoiceSectionDisplayName", + PossibleTypes = new [] { typeof(string) })] + string InvoiceSectionDisplayName { get; } + /// The ID of the invoice section which will be billed for the transaction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the invoice section which will be billed for the transaction.", + SerializedName = @"invoiceSectionId", + PossibleTypes = new [] { typeof(string) })] + string InvoiceSectionId { get; } + /// The kind of transaction. Options are all or reservation. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The kind of transaction. Options are all or reservation.", + SerializedName = @"kind", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TransactionTypeKind) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TransactionTypeKind? Kind { get; set; } + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The currency for the amount value.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string MarketPriceCurrency { get; } + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Amount value.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(float) })] + float? MarketPriceValue { get; set; } + /// + /// The order ID of the reservation. The field is only applicable for transaction of kind reservation. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The order ID of the reservation. The field is only applicable for transaction of kind reservation.", + SerializedName = @"orderId", + PossibleTypes = new [] { typeof(string) })] + string OrderId { get; } + /// + /// The name of the reservation order. The field is only applicable for transactions of kind reservation. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the reservation order. The field is only applicable for transactions of kind reservation.", + SerializedName = @"orderName", + PossibleTypes = new [] { typeof(string) })] + string OrderName { get; } + /// The ISO 4217 code for the currency in which the product is priced. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ISO 4217 code for the currency in which the product is priced.", + SerializedName = @"pricingCurrency", + PossibleTypes = new [] { typeof(string) })] + string PricingCurrency { get; } + /// The description of the product for which the transaction took place. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The description of the product for which the transaction took place.", + SerializedName = @"productDescription", + PossibleTypes = new [] { typeof(string) })] + string ProductDescription { get; } + /// The family of the product for which the transaction took place. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The family of the product for which the transaction took place.", + SerializedName = @"productFamily", + PossibleTypes = new [] { typeof(string) })] + string ProductFamily { get; } + /// The type of the product for which the transaction took place. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The type of the product for which the transaction took place.", + SerializedName = @"productType", + PossibleTypes = new [] { typeof(string) })] + string ProductType { get; } + /// The ID of the product type for which the transaction took place. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the product type for which the transaction took place.", + SerializedName = @"productTypeId", + PossibleTypes = new [] { typeof(string) })] + string ProductTypeId { get; } + /// The quantity purchased in the transaction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The quantity purchased in the transaction.", + SerializedName = @"quantity", + PossibleTypes = new [] { typeof(int) })] + int? Quantity { get; } + /// + /// The end date of the product term, or the end date of the month in which usage ended. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The end date of the product term, or the end date of the month in which usage ended.", + SerializedName = @"servicePeriodEndDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? ServicePeriodEndDate { get; } + /// + /// The date of the purchase of the product, or the start date of the month in which usage started. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The date of the purchase of the product, or the start date of the month in which usage started.", + SerializedName = @"servicePeriodStartDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? ServicePeriodStartDate { get; } + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The currency for the amount value.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string SubTotalCurrency { get; } + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Amount value.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(float) })] + float? SubTotalValue { get; set; } + /// + /// The ID of the subscription that was used for the transaction. The field is only applicable for transaction of kind reservation. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the subscription that was used for the transaction. The field is only applicable for transaction of kind reservation.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + string SubscriptionId { get; } + /// + /// The name of the subscription that was used for the transaction. The field is only applicable for transaction of kind reservation. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the subscription that was used for the transaction. The field is only applicable for transaction of kind reservation.", + SerializedName = @"subscriptionName", + PossibleTypes = new [] { typeof(string) })] + string SubscriptionName { get; } + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The currency for the amount value.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string TaxCurrency { get; } + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Amount value.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(float) })] + float? TaxValue { get; set; } + /// The type of transaction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The type of transaction.", + SerializedName = @"transactionType", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationType) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationType? TransactionType { get; set; } + /// The number of units used for a given product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The number of units used for a given product.", + SerializedName = @"units", + PossibleTypes = new [] { typeof(float) })] + float? Unit { get; } + /// + /// The unit of measure used to bill for the product. For example, compute services are billed per hour. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The unit of measure used to bill for the product. For example, compute services are billed per hour.", + SerializedName = @"unitOfMeasure", + PossibleTypes = new [] { typeof(string) })] + string UnitOfMeasure { get; } + /// The description for the unit of measure for a given product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The description for the unit of measure for a given product.", + SerializedName = @"unitType", + PossibleTypes = new [] { typeof(string) })] + string UnitType { get; } + + } + /// A transaction. + internal partial interface ITransactionInternal : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IResourceInternal + { + /// The charge associated with the transaction. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Amount { get; set; } + /// The currency for the amount value. + string AmountCurrency { get; set; } + /// Amount value. + float? AmountValue { get; set; } + /// The amount of any Azure credits automatically applied to this transaction. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount AzureCreditApplied { get; set; } + /// The currency for the amount value. + string AzureCreditAppliedCurrency { get; set; } + /// Amount value. + float? AzureCreditAppliedValue { get; set; } + /// The type of azure plan of the subscription that was used for the transaction. + string AzurePlan { get; set; } + /// The ISO 4217 code for the currency in which this transaction is billed. + string BillingCurrency { get; set; } + /// The name of the billing profile which will be billed for the transaction. + string BillingProfileDisplayName { get; set; } + /// The ID of the billing profile which will be billed for the transaction. + string BillingProfileId { get; set; } + /// + /// The name of the customer for which the transaction took place. The field is applicable only for Microsoft Partner Agreement + /// billing account. + /// + string CustomerDisplayName { get; set; } + /// + /// The ID of the customer for which the transaction took place. The field is applicable only for Microsoft Partner Agreement + /// billing account. + /// + string CustomerId { get; set; } + /// The date of transaction. + global::System.DateTime? Date { get; set; } + /// The percentage discount, if any, applied to this transaction. + float? Discount { get; set; } + /// The price of the product after applying any discounts. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount EffectivePrice { get; set; } + /// The currency for the amount value. + string EffectivePriceCurrency { get; set; } + /// Amount value. + float? EffectivePriceValue { get; set; } + /// + /// The exchange rate used to convert charged amount to billing currency, if applicable. + /// + float? ExchangeRate { get; set; } + /// + /// Invoice on which the transaction was billed or 'pending' if the transaction is not billed. + /// + string Invoice { get; set; } + /// + /// The ID of the invoice on which the transaction was billed. This field is only applicable for transactions which are billed. + /// + string InvoiceId { get; set; } + /// The name of the invoice section which will be billed for the transaction. + string InvoiceSectionDisplayName { get; set; } + /// The ID of the invoice section which will be billed for the transaction. + string InvoiceSectionId { get; set; } + /// The kind of transaction. Options are all or reservation. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TransactionTypeKind? Kind { get; set; } + /// The retail price of the product. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount MarketPrice { get; set; } + /// The currency for the amount value. + string MarketPriceCurrency { get; set; } + /// Amount value. + float? MarketPriceValue { get; set; } + /// + /// The order ID of the reservation. The field is only applicable for transaction of kind reservation. + /// + string OrderId { get; set; } + /// + /// The name of the reservation order. The field is only applicable for transactions of kind reservation. + /// + string OrderName { get; set; } + /// The ISO 4217 code for the currency in which the product is priced. + string PricingCurrency { get; set; } + /// The description of the product for which the transaction took place. + string ProductDescription { get; set; } + /// The family of the product for which the transaction took place. + string ProductFamily { get; set; } + /// The type of the product for which the transaction took place. + string ProductType { get; set; } + /// The ID of the product type for which the transaction took place. + string ProductTypeId { get; set; } + /// The properties of a transaction. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionProperties Property { get; set; } + /// The quantity purchased in the transaction. + int? Quantity { get; set; } + /// + /// The end date of the product term, or the end date of the month in which usage ended. + /// + global::System.DateTime? ServicePeriodEndDate { get; set; } + /// + /// The date of the purchase of the product, or the start date of the month in which usage started. + /// + global::System.DateTime? ServicePeriodStartDate { get; set; } + /// The pre-tax charged amount for the transaction. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount SubTotal { get; set; } + /// The currency for the amount value. + string SubTotalCurrency { get; set; } + /// Amount value. + float? SubTotalValue { get; set; } + /// + /// The ID of the subscription that was used for the transaction. The field is only applicable for transaction of kind reservation. + /// + string SubscriptionId { get; set; } + /// + /// The name of the subscription that was used for the transaction. The field is only applicable for transaction of kind reservation. + /// + string SubscriptionName { get; set; } + /// The tax amount applied to the transaction. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Tax { get; set; } + /// The currency for the amount value. + string TaxCurrency { get; set; } + /// Amount value. + float? TaxValue { get; set; } + /// The type of transaction. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationType? TransactionType { get; set; } + /// The number of units used for a given product. + float? Unit { get; set; } + /// + /// The unit of measure used to bill for the product. For example, compute services are billed per hour. + /// + string UnitOfMeasure { get; set; } + /// The description for the unit of measure for a given product. + string UnitType { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/Transaction.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/Transaction.json.cs new file mode 100644 index 000000000000..f2534a06d8f8 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/Transaction.json.cs @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// A transaction. + public partial class Transaction + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransaction. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransaction. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransaction FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new Transaction(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + __resource?.ToJson(container, serializationMode); + AddIf( null != this._property ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._property.ToJson(null,serializationMode) : null, "properties" ,container.Add ); + AfterToJson(ref container); + return container; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal Transaction(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + __resource = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.Resource(json); + {_property = If( json?.PropertyT("properties"), out var __jsonProperties) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.TransactionProperties.FromJson(__jsonProperties) : Property;} + AfterFromJson(json); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/TransactionListResult.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/TransactionListResult.PowerShell.cs new file mode 100644 index 000000000000..7e7196a536d5 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/TransactionListResult.PowerShell.cs @@ -0,0 +1,160 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The list of transactions. + [System.ComponentModel.TypeConverter(typeof(TransactionListResultTypeConverter))] + public partial class TransactionListResult + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionListResult DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new TransactionListResult(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionListResult DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new TransactionListResult(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionListResult FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal TransactionListResult(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransaction[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.TransactionTypeConverter.ConvertFrom)); + } + if (content.Contains("TotalCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionListResultInternal)this).TotalCount = (int?) content.GetValueForProperty("TotalCount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionListResultInternal)this).TotalCount, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionListResultInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal TransactionListResult(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Value")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionListResultInternal)this).Value = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransaction[]) content.GetValueForProperty("Value",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionListResultInternal)this).Value, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.TransactionTypeConverter.ConvertFrom)); + } + if (content.Contains("TotalCount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionListResultInternal)this).TotalCount = (int?) content.GetValueForProperty("TotalCount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionListResultInternal)this).TotalCount, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("NextLink")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionListResultInternal)this).NextLink = (string) content.GetValueForProperty("NextLink",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionListResultInternal)this).NextLink, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + } + /// The list of transactions. + [System.ComponentModel.TypeConverter(typeof(TransactionListResultTypeConverter))] + public partial interface ITransactionListResult + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/TransactionListResult.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/TransactionListResult.TypeConverter.cs new file mode 100644 index 000000000000..4beffe057064 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/TransactionListResult.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class TransactionListResultTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionListResult ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionListResult).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return TransactionListResult.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return TransactionListResult.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return TransactionListResult.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/TransactionListResult.cs b/swaggerci/billing/generated/api/Models/Api20200501/TransactionListResult.cs new file mode 100644 index 000000000000..66dc8fa7b2b3 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/TransactionListResult.cs @@ -0,0 +1,94 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The list of transactions. + public partial class TransactionListResult : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionListResult, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionListResultInternal + { + + /// Internal Acessors for NextLink + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionListResultInternal.NextLink { get => this._nextLink; set { {_nextLink = value;} } } + + /// Internal Acessors for TotalCount + int? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionListResultInternal.TotalCount { get => this._totalCount; set { {_totalCount = value;} } } + + /// Internal Acessors for Value + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransaction[] Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionListResultInternal.Value { get => this._value; set { {_value = value;} } } + + /// Backing field for property. + private string _nextLink; + + /// The link (url) to the next page of results. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string NextLink { get => this._nextLink; } + + /// Backing field for property. + private int? _totalCount; + + /// Total number of records. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public int? TotalCount { get => this._totalCount; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransaction[] _value; + + /// The list of transactions. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransaction[] Value { get => this._value; } + + /// Creates an new instance. + public TransactionListResult() + { + + } + } + /// The list of transactions. + public partial interface ITransactionListResult : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The link (url) to the next page of results. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The link (url) to the next page of results.", + SerializedName = @"nextLink", + PossibleTypes = new [] { typeof(string) })] + string NextLink { get; } + /// Total number of records. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Total number of records.", + SerializedName = @"totalCount", + PossibleTypes = new [] { typeof(int) })] + int? TotalCount { get; } + /// The list of transactions. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The list of transactions.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransaction) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransaction[] Value { get; } + + } + /// The list of transactions. + internal partial interface ITransactionListResultInternal + + { + /// The link (url) to the next page of results. + string NextLink { get; set; } + /// Total number of records. + int? TotalCount { get; set; } + /// The list of transactions. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransaction[] Value { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/TransactionListResult.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/TransactionListResult.json.cs new file mode 100644 index 000000000000..874ab3010b0e --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/TransactionListResult.json.cs @@ -0,0 +1,129 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The list of transactions. + public partial class TransactionListResult + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionListResult. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionListResult. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionListResult FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new TransactionListResult(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + if (null != this._value) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(); + foreach( var __x in this._value ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("value",__w); + } + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._totalCount ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNumber((int)this._totalCount) : null, "totalCount" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._nextLink)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._nextLink.ToString()) : null, "nextLink" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal TransactionListResult(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_value = If( json?.PropertyT("value"), out var __jsonValue) ? If( __jsonValue as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransaction) (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Transaction.FromJson(__u) )) ))() : null : Value;} + {_totalCount = If( json?.PropertyT("totalCount"), out var __jsonTotalCount) ? (int?)__jsonTotalCount : TotalCount;} + {_nextLink = If( json?.PropertyT("nextLink"), out var __jsonNextLink) ? (string)__jsonNextLink : (string)NextLink;} + AfterFromJson(json); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/TransactionProperties.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/TransactionProperties.PowerShell.cs new file mode 100644 index 000000000000..b31992ff7cfd --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/TransactionProperties.PowerShell.cs @@ -0,0 +1,520 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The properties of a transaction. + [System.ComponentModel.TypeConverter(typeof(TransactionPropertiesTypeConverter))] + public partial class TransactionProperties + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionProperties DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new TransactionProperties(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionProperties DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new TransactionProperties(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionProperties FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal TransactionProperties(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("TransactionAmount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).TransactionAmount = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("TransactionAmount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).TransactionAmount, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("AzureCreditApplied")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).AzureCreditApplied = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("AzureCreditApplied",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).AzureCreditApplied, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("EffectivePrice")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).EffectivePrice = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("EffectivePrice",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).EffectivePrice, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("MarketPrice")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).MarketPrice = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("MarketPrice",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).MarketPrice, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("SubTotal")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).SubTotal = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("SubTotal",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).SubTotal, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("Tax")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).Tax = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("Tax",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).Tax, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("Kind")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).Kind = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TransactionTypeKind?) content.GetValueForProperty("Kind",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).Kind, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TransactionTypeKind.CreateFrom); + } + if (content.Contains("Date")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).Date = (global::System.DateTime?) content.GetValueForProperty("Date",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).Date, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("Invoice")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).Invoice = (string) content.GetValueForProperty("Invoice",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).Invoice, global::System.Convert.ToString); + } + if (content.Contains("InvoiceId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).InvoiceId = (string) content.GetValueForProperty("InvoiceId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).InvoiceId, global::System.Convert.ToString); + } + if (content.Contains("OrderId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).OrderId = (string) content.GetValueForProperty("OrderId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).OrderId, global::System.Convert.ToString); + } + if (content.Contains("OrderName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).OrderName = (string) content.GetValueForProperty("OrderName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).OrderName, global::System.Convert.ToString); + } + if (content.Contains("ProductFamily")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).ProductFamily = (string) content.GetValueForProperty("ProductFamily",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).ProductFamily, global::System.Convert.ToString); + } + if (content.Contains("ProductTypeId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).ProductTypeId = (string) content.GetValueForProperty("ProductTypeId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).ProductTypeId, global::System.Convert.ToString); + } + if (content.Contains("ProductType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).ProductType = (string) content.GetValueForProperty("ProductType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).ProductType, global::System.Convert.ToString); + } + if (content.Contains("ProductDescription")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).ProductDescription = (string) content.GetValueForProperty("ProductDescription",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).ProductDescription, global::System.Convert.ToString); + } + if (content.Contains("TransactionType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).TransactionType = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationType?) content.GetValueForProperty("TransactionType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).TransactionType, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationType.CreateFrom); + } + if (content.Contains("Quantity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).Quantity = (int?) content.GetValueForProperty("Quantity",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).Quantity, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("InvoiceSectionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).InvoiceSectionId = (string) content.GetValueForProperty("InvoiceSectionId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).InvoiceSectionId, global::System.Convert.ToString); + } + if (content.Contains("InvoiceSectionDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).InvoiceSectionDisplayName = (string) content.GetValueForProperty("InvoiceSectionDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).InvoiceSectionDisplayName, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).BillingProfileId = (string) content.GetValueForProperty("BillingProfileId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).BillingProfileId, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).BillingProfileDisplayName = (string) content.GetValueForProperty("BillingProfileDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).BillingProfileDisplayName, global::System.Convert.ToString); + } + if (content.Contains("CustomerId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).CustomerId = (string) content.GetValueForProperty("CustomerId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).CustomerId, global::System.Convert.ToString); + } + if (content.Contains("CustomerDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).CustomerDisplayName = (string) content.GetValueForProperty("CustomerDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).CustomerDisplayName, global::System.Convert.ToString); + } + if (content.Contains("SubscriptionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).SubscriptionId = (string) content.GetValueForProperty("SubscriptionId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).SubscriptionId, global::System.Convert.ToString); + } + if (content.Contains("SubscriptionName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).SubscriptionName = (string) content.GetValueForProperty("SubscriptionName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).SubscriptionName, global::System.Convert.ToString); + } + if (content.Contains("AzurePlan")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).AzurePlan = (string) content.GetValueForProperty("AzurePlan",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).AzurePlan, global::System.Convert.ToString); + } + if (content.Contains("BillingCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).BillingCurrency = (string) content.GetValueForProperty("BillingCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).BillingCurrency, global::System.Convert.ToString); + } + if (content.Contains("Discount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).Discount = (float?) content.GetValueForProperty("Discount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).Discount, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("ExchangeRate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).ExchangeRate = (float?) content.GetValueForProperty("ExchangeRate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).ExchangeRate, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("PricingCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).PricingCurrency = (string) content.GetValueForProperty("PricingCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).PricingCurrency, global::System.Convert.ToString); + } + if (content.Contains("ServicePeriodStartDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).ServicePeriodStartDate = (global::System.DateTime?) content.GetValueForProperty("ServicePeriodStartDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).ServicePeriodStartDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("ServicePeriodEndDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).ServicePeriodEndDate = (global::System.DateTime?) content.GetValueForProperty("ServicePeriodEndDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).ServicePeriodEndDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("UnitOfMeasure")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).UnitOfMeasure = (string) content.GetValueForProperty("UnitOfMeasure",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).UnitOfMeasure, global::System.Convert.ToString); + } + if (content.Contains("Unit")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).Unit = (float?) content.GetValueForProperty("Unit",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).Unit, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("UnitType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).UnitType = (string) content.GetValueForProperty("UnitType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).UnitType, global::System.Convert.ToString); + } + if (content.Contains("TransactionAmountCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).TransactionAmountCurrency = (string) content.GetValueForProperty("TransactionAmountCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).TransactionAmountCurrency, global::System.Convert.ToString); + } + if (content.Contains("TransactionAmountValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).TransactionAmountValue = (float?) content.GetValueForProperty("TransactionAmountValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).TransactionAmountValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("AzureCreditAppliedCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).AzureCreditAppliedCurrency = (string) content.GetValueForProperty("AzureCreditAppliedCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).AzureCreditAppliedCurrency, global::System.Convert.ToString); + } + if (content.Contains("AzureCreditAppliedValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).AzureCreditAppliedValue = (float?) content.GetValueForProperty("AzureCreditAppliedValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).AzureCreditAppliedValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("EffectivePriceCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).EffectivePriceCurrency = (string) content.GetValueForProperty("EffectivePriceCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).EffectivePriceCurrency, global::System.Convert.ToString); + } + if (content.Contains("EffectivePriceValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).EffectivePriceValue = (float?) content.GetValueForProperty("EffectivePriceValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).EffectivePriceValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("MarketPriceCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).MarketPriceCurrency = (string) content.GetValueForProperty("MarketPriceCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).MarketPriceCurrency, global::System.Convert.ToString); + } + if (content.Contains("MarketPriceValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).MarketPriceValue = (float?) content.GetValueForProperty("MarketPriceValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).MarketPriceValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("SubTotalCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).SubTotalCurrency = (string) content.GetValueForProperty("SubTotalCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).SubTotalCurrency, global::System.Convert.ToString); + } + if (content.Contains("SubTotalValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).SubTotalValue = (float?) content.GetValueForProperty("SubTotalValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).SubTotalValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("TaxCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).TaxCurrency = (string) content.GetValueForProperty("TaxCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).TaxCurrency, global::System.Convert.ToString); + } + if (content.Contains("TaxValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).TaxValue = (float?) content.GetValueForProperty("TaxValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).TaxValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal TransactionProperties(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("TransactionAmount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).TransactionAmount = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("TransactionAmount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).TransactionAmount, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("AzureCreditApplied")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).AzureCreditApplied = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("AzureCreditApplied",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).AzureCreditApplied, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("EffectivePrice")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).EffectivePrice = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("EffectivePrice",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).EffectivePrice, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("MarketPrice")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).MarketPrice = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("MarketPrice",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).MarketPrice, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("SubTotal")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).SubTotal = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("SubTotal",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).SubTotal, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("Tax")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).Tax = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount) content.GetValueForProperty("Tax",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).Tax, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AmountTypeConverter.ConvertFrom); + } + if (content.Contains("Kind")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).Kind = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TransactionTypeKind?) content.GetValueForProperty("Kind",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).Kind, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TransactionTypeKind.CreateFrom); + } + if (content.Contains("Date")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).Date = (global::System.DateTime?) content.GetValueForProperty("Date",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).Date, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("Invoice")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).Invoice = (string) content.GetValueForProperty("Invoice",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).Invoice, global::System.Convert.ToString); + } + if (content.Contains("InvoiceId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).InvoiceId = (string) content.GetValueForProperty("InvoiceId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).InvoiceId, global::System.Convert.ToString); + } + if (content.Contains("OrderId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).OrderId = (string) content.GetValueForProperty("OrderId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).OrderId, global::System.Convert.ToString); + } + if (content.Contains("OrderName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).OrderName = (string) content.GetValueForProperty("OrderName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).OrderName, global::System.Convert.ToString); + } + if (content.Contains("ProductFamily")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).ProductFamily = (string) content.GetValueForProperty("ProductFamily",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).ProductFamily, global::System.Convert.ToString); + } + if (content.Contains("ProductTypeId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).ProductTypeId = (string) content.GetValueForProperty("ProductTypeId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).ProductTypeId, global::System.Convert.ToString); + } + if (content.Contains("ProductType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).ProductType = (string) content.GetValueForProperty("ProductType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).ProductType, global::System.Convert.ToString); + } + if (content.Contains("ProductDescription")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).ProductDescription = (string) content.GetValueForProperty("ProductDescription",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).ProductDescription, global::System.Convert.ToString); + } + if (content.Contains("TransactionType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).TransactionType = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationType?) content.GetValueForProperty("TransactionType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).TransactionType, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationType.CreateFrom); + } + if (content.Contains("Quantity")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).Quantity = (int?) content.GetValueForProperty("Quantity",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).Quantity, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + if (content.Contains("InvoiceSectionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).InvoiceSectionId = (string) content.GetValueForProperty("InvoiceSectionId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).InvoiceSectionId, global::System.Convert.ToString); + } + if (content.Contains("InvoiceSectionDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).InvoiceSectionDisplayName = (string) content.GetValueForProperty("InvoiceSectionDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).InvoiceSectionDisplayName, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).BillingProfileId = (string) content.GetValueForProperty("BillingProfileId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).BillingProfileId, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).BillingProfileDisplayName = (string) content.GetValueForProperty("BillingProfileDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).BillingProfileDisplayName, global::System.Convert.ToString); + } + if (content.Contains("CustomerId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).CustomerId = (string) content.GetValueForProperty("CustomerId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).CustomerId, global::System.Convert.ToString); + } + if (content.Contains("CustomerDisplayName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).CustomerDisplayName = (string) content.GetValueForProperty("CustomerDisplayName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).CustomerDisplayName, global::System.Convert.ToString); + } + if (content.Contains("SubscriptionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).SubscriptionId = (string) content.GetValueForProperty("SubscriptionId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).SubscriptionId, global::System.Convert.ToString); + } + if (content.Contains("SubscriptionName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).SubscriptionName = (string) content.GetValueForProperty("SubscriptionName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).SubscriptionName, global::System.Convert.ToString); + } + if (content.Contains("AzurePlan")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).AzurePlan = (string) content.GetValueForProperty("AzurePlan",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).AzurePlan, global::System.Convert.ToString); + } + if (content.Contains("BillingCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).BillingCurrency = (string) content.GetValueForProperty("BillingCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).BillingCurrency, global::System.Convert.ToString); + } + if (content.Contains("Discount")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).Discount = (float?) content.GetValueForProperty("Discount",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).Discount, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("ExchangeRate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).ExchangeRate = (float?) content.GetValueForProperty("ExchangeRate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).ExchangeRate, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("PricingCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).PricingCurrency = (string) content.GetValueForProperty("PricingCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).PricingCurrency, global::System.Convert.ToString); + } + if (content.Contains("ServicePeriodStartDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).ServicePeriodStartDate = (global::System.DateTime?) content.GetValueForProperty("ServicePeriodStartDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).ServicePeriodStartDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("ServicePeriodEndDate")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).ServicePeriodEndDate = (global::System.DateTime?) content.GetValueForProperty("ServicePeriodEndDate",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).ServicePeriodEndDate, (v) => v is global::System.DateTime _v ? _v : global::System.Xml.XmlConvert.ToDateTime( v.ToString() , global::System.Xml.XmlDateTimeSerializationMode.Unspecified)); + } + if (content.Contains("UnitOfMeasure")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).UnitOfMeasure = (string) content.GetValueForProperty("UnitOfMeasure",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).UnitOfMeasure, global::System.Convert.ToString); + } + if (content.Contains("Unit")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).Unit = (float?) content.GetValueForProperty("Unit",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).Unit, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("UnitType")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).UnitType = (string) content.GetValueForProperty("UnitType",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).UnitType, global::System.Convert.ToString); + } + if (content.Contains("TransactionAmountCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).TransactionAmountCurrency = (string) content.GetValueForProperty("TransactionAmountCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).TransactionAmountCurrency, global::System.Convert.ToString); + } + if (content.Contains("TransactionAmountValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).TransactionAmountValue = (float?) content.GetValueForProperty("TransactionAmountValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).TransactionAmountValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("AzureCreditAppliedCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).AzureCreditAppliedCurrency = (string) content.GetValueForProperty("AzureCreditAppliedCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).AzureCreditAppliedCurrency, global::System.Convert.ToString); + } + if (content.Contains("AzureCreditAppliedValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).AzureCreditAppliedValue = (float?) content.GetValueForProperty("AzureCreditAppliedValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).AzureCreditAppliedValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("EffectivePriceCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).EffectivePriceCurrency = (string) content.GetValueForProperty("EffectivePriceCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).EffectivePriceCurrency, global::System.Convert.ToString); + } + if (content.Contains("EffectivePriceValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).EffectivePriceValue = (float?) content.GetValueForProperty("EffectivePriceValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).EffectivePriceValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("MarketPriceCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).MarketPriceCurrency = (string) content.GetValueForProperty("MarketPriceCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).MarketPriceCurrency, global::System.Convert.ToString); + } + if (content.Contains("MarketPriceValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).MarketPriceValue = (float?) content.GetValueForProperty("MarketPriceValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).MarketPriceValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("SubTotalCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).SubTotalCurrency = (string) content.GetValueForProperty("SubTotalCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).SubTotalCurrency, global::System.Convert.ToString); + } + if (content.Contains("SubTotalValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).SubTotalValue = (float?) content.GetValueForProperty("SubTotalValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).SubTotalValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + if (content.Contains("TaxCurrency")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).TaxCurrency = (string) content.GetValueForProperty("TaxCurrency",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).TaxCurrency, global::System.Convert.ToString); + } + if (content.Contains("TaxValue")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).TaxValue = (float?) content.GetValueForProperty("TaxValue",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal)this).TaxValue, (__y)=> (float) global::System.Convert.ChangeType(__y, typeof(float))); + } + AfterDeserializePSObject(content); + } + } + /// The properties of a transaction. + [System.ComponentModel.TypeConverter(typeof(TransactionPropertiesTypeConverter))] + public partial interface ITransactionProperties + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/TransactionProperties.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/TransactionProperties.TypeConverter.cs new file mode 100644 index 000000000000..29fa4d74b98e --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/TransactionProperties.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class TransactionPropertiesTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionProperties ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionProperties).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return TransactionProperties.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return TransactionProperties.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return TransactionProperties.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/TransactionProperties.cs b/swaggerci/billing/generated/api/Models/Api20200501/TransactionProperties.cs new file mode 100644 index 000000000000..97720862262c --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/TransactionProperties.cs @@ -0,0 +1,964 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of a transaction. + public partial class TransactionProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionProperties, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal + { + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount _azureCreditApplied; + + /// The amount of any Azure credits automatically applied to this transaction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount AzureCreditApplied { get => (this._azureCreditApplied = this._azureCreditApplied ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount()); } + + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string AzureCreditAppliedCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)AzureCreditApplied).Currency; } + + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? AzureCreditAppliedValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)AzureCreditApplied).Value; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)AzureCreditApplied).Value = value ?? default(float); } + + /// Backing field for property. + private string _azurePlan; + + /// The type of azure plan of the subscription that was used for the transaction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string AzurePlan { get => this._azurePlan; } + + /// Backing field for property. + private string _billingCurrency; + + /// The ISO 4217 code for the currency in which this transaction is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string BillingCurrency { get => this._billingCurrency; } + + /// Backing field for property. + private string _billingProfileDisplayName; + + /// The name of the billing profile which will be billed for the transaction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string BillingProfileDisplayName { get => this._billingProfileDisplayName; } + + /// Backing field for property. + private string _billingProfileId; + + /// The ID of the billing profile which will be billed for the transaction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string BillingProfileId { get => this._billingProfileId; } + + /// Backing field for property. + private string _customerDisplayName; + + /// + /// The name of the customer for which the transaction took place. The field is applicable only for Microsoft Partner Agreement + /// billing account. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string CustomerDisplayName { get => this._customerDisplayName; } + + /// Backing field for property. + private string _customerId; + + /// + /// The ID of the customer for which the transaction took place. The field is applicable only for Microsoft Partner Agreement + /// billing account. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string CustomerId { get => this._customerId; } + + /// Backing field for property. + private global::System.DateTime? _date; + + /// The date of transaction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public global::System.DateTime? Date { get => this._date; } + + /// Backing field for property. + private float? _discount; + + /// The percentage discount, if any, applied to this transaction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public float? Discount { get => this._discount; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount _effectivePrice; + + /// The price of the product after applying any discounts. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount EffectivePrice { get => (this._effectivePrice = this._effectivePrice ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount()); } + + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string EffectivePriceCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)EffectivePrice).Currency; } + + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? EffectivePriceValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)EffectivePrice).Value; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)EffectivePrice).Value = value ?? default(float); } + + /// Backing field for property. + private float? _exchangeRate; + + /// + /// The exchange rate used to convert charged amount to billing currency, if applicable. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public float? ExchangeRate { get => this._exchangeRate; } + + /// Backing field for property. + private string _invoice; + + /// + /// Invoice on which the transaction was billed or 'pending' if the transaction is not billed. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Invoice { get => this._invoice; } + + /// Backing field for property. + private string _invoiceId; + + /// + /// The ID of the invoice on which the transaction was billed. This field is only applicable for transactions which are billed. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string InvoiceId { get => this._invoiceId; } + + /// Backing field for property. + private string _invoiceSectionDisplayName; + + /// The name of the invoice section which will be billed for the transaction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string InvoiceSectionDisplayName { get => this._invoiceSectionDisplayName; } + + /// Backing field for property. + private string _invoiceSectionId; + + /// The ID of the invoice section which will be billed for the transaction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string InvoiceSectionId { get => this._invoiceSectionId; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TransactionTypeKind? _kind; + + /// The kind of transaction. Options are all or reservation. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TransactionTypeKind? Kind { get => this._kind; set => this._kind = value; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount _marketPrice; + + /// The retail price of the product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount MarketPrice { get => (this._marketPrice = this._marketPrice ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount()); } + + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string MarketPriceCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)MarketPrice).Currency; } + + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? MarketPriceValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)MarketPrice).Value; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)MarketPrice).Value = value ?? default(float); } + + /// Internal Acessors for AzureCreditApplied + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal.AzureCreditApplied { get => (this._azureCreditApplied = this._azureCreditApplied ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount()); set { {_azureCreditApplied = value;} } } + + /// Internal Acessors for AzureCreditAppliedCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal.AzureCreditAppliedCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)AzureCreditApplied).Currency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)AzureCreditApplied).Currency = value; } + + /// Internal Acessors for AzurePlan + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal.AzurePlan { get => this._azurePlan; set { {_azurePlan = value;} } } + + /// Internal Acessors for BillingCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal.BillingCurrency { get => this._billingCurrency; set { {_billingCurrency = value;} } } + + /// Internal Acessors for BillingProfileDisplayName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal.BillingProfileDisplayName { get => this._billingProfileDisplayName; set { {_billingProfileDisplayName = value;} } } + + /// Internal Acessors for BillingProfileId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal.BillingProfileId { get => this._billingProfileId; set { {_billingProfileId = value;} } } + + /// Internal Acessors for CustomerDisplayName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal.CustomerDisplayName { get => this._customerDisplayName; set { {_customerDisplayName = value;} } } + + /// Internal Acessors for CustomerId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal.CustomerId { get => this._customerId; set { {_customerId = value;} } } + + /// Internal Acessors for Date + global::System.DateTime? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal.Date { get => this._date; set { {_date = value;} } } + + /// Internal Acessors for Discount + float? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal.Discount { get => this._discount; set { {_discount = value;} } } + + /// Internal Acessors for EffectivePrice + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal.EffectivePrice { get => (this._effectivePrice = this._effectivePrice ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount()); set { {_effectivePrice = value;} } } + + /// Internal Acessors for EffectivePriceCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal.EffectivePriceCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)EffectivePrice).Currency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)EffectivePrice).Currency = value; } + + /// Internal Acessors for ExchangeRate + float? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal.ExchangeRate { get => this._exchangeRate; set { {_exchangeRate = value;} } } + + /// Internal Acessors for Invoice + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal.Invoice { get => this._invoice; set { {_invoice = value;} } } + + /// Internal Acessors for InvoiceId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal.InvoiceId { get => this._invoiceId; set { {_invoiceId = value;} } } + + /// Internal Acessors for InvoiceSectionDisplayName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal.InvoiceSectionDisplayName { get => this._invoiceSectionDisplayName; set { {_invoiceSectionDisplayName = value;} } } + + /// Internal Acessors for InvoiceSectionId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal.InvoiceSectionId { get => this._invoiceSectionId; set { {_invoiceSectionId = value;} } } + + /// Internal Acessors for MarketPrice + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal.MarketPrice { get => (this._marketPrice = this._marketPrice ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount()); set { {_marketPrice = value;} } } + + /// Internal Acessors for MarketPriceCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal.MarketPriceCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)MarketPrice).Currency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)MarketPrice).Currency = value; } + + /// Internal Acessors for OrderId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal.OrderId { get => this._orderId; set { {_orderId = value;} } } + + /// Internal Acessors for OrderName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal.OrderName { get => this._orderName; set { {_orderName = value;} } } + + /// Internal Acessors for PricingCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal.PricingCurrency { get => this._pricingCurrency; set { {_pricingCurrency = value;} } } + + /// Internal Acessors for ProductDescription + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal.ProductDescription { get => this._productDescription; set { {_productDescription = value;} } } + + /// Internal Acessors for ProductFamily + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal.ProductFamily { get => this._productFamily; set { {_productFamily = value;} } } + + /// Internal Acessors for ProductType + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal.ProductType { get => this._productType; set { {_productType = value;} } } + + /// Internal Acessors for ProductTypeId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal.ProductTypeId { get => this._productTypeId; set { {_productTypeId = value;} } } + + /// Internal Acessors for Quantity + int? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal.Quantity { get => this._quantity; set { {_quantity = value;} } } + + /// Internal Acessors for ServicePeriodEndDate + global::System.DateTime? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal.ServicePeriodEndDate { get => this._servicePeriodEndDate; set { {_servicePeriodEndDate = value;} } } + + /// Internal Acessors for ServicePeriodStartDate + global::System.DateTime? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal.ServicePeriodStartDate { get => this._servicePeriodStartDate; set { {_servicePeriodStartDate = value;} } } + + /// Internal Acessors for SubTotal + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal.SubTotal { get => (this._subTotal = this._subTotal ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount()); set { {_subTotal = value;} } } + + /// Internal Acessors for SubTotalCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal.SubTotalCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)SubTotal).Currency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)SubTotal).Currency = value; } + + /// Internal Acessors for SubscriptionId + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal.SubscriptionId { get => this._subscriptionId; set { {_subscriptionId = value;} } } + + /// Internal Acessors for SubscriptionName + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal.SubscriptionName { get => this._subscriptionName; set { {_subscriptionName = value;} } } + + /// Internal Acessors for Tax + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal.Tax { get => (this._tax = this._tax ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount()); set { {_tax = value;} } } + + /// Internal Acessors for TaxCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal.TaxCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)Tax).Currency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)Tax).Currency = value; } + + /// Internal Acessors for TransactionAmount + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal.TransactionAmount { get => (this._transactionAmount = this._transactionAmount ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount()); set { {_transactionAmount = value;} } } + + /// Internal Acessors for TransactionAmountCurrency + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal.TransactionAmountCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)TransactionAmount).Currency; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)TransactionAmount).Currency = value; } + + /// Internal Acessors for Unit + float? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal.Unit { get => this._unit; set { {_unit = value;} } } + + /// Internal Acessors for UnitOfMeasure + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal.UnitOfMeasure { get => this._unitOfMeasure; set { {_unitOfMeasure = value;} } } + + /// Internal Acessors for UnitType + string Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionPropertiesInternal.UnitType { get => this._unitType; set { {_unitType = value;} } } + + /// Backing field for property. + private string _orderId; + + /// + /// The order ID of the reservation. The field is only applicable for transaction of kind reservation. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string OrderId { get => this._orderId; } + + /// Backing field for property. + private string _orderName; + + /// + /// The name of the reservation order. The field is only applicable for transactions of kind reservation. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string OrderName { get => this._orderName; } + + /// Backing field for property. + private string _pricingCurrency; + + /// The ISO 4217 code for the currency in which the product is priced. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string PricingCurrency { get => this._pricingCurrency; } + + /// Backing field for property. + private string _productDescription; + + /// The description of the product for which the transaction took place. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string ProductDescription { get => this._productDescription; } + + /// Backing field for property. + private string _productFamily; + + /// The family of the product for which the transaction took place. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string ProductFamily { get => this._productFamily; } + + /// Backing field for property. + private string _productType; + + /// The type of the product for which the transaction took place. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string ProductType { get => this._productType; } + + /// Backing field for property. + private string _productTypeId; + + /// The ID of the product type for which the transaction took place. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string ProductTypeId { get => this._productTypeId; } + + /// Backing field for property. + private int? _quantity; + + /// The quantity purchased in the transaction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public int? Quantity { get => this._quantity; } + + /// Backing field for property. + private global::System.DateTime? _servicePeriodEndDate; + + /// + /// The end date of the product term, or the end date of the month in which usage ended. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public global::System.DateTime? ServicePeriodEndDate { get => this._servicePeriodEndDate; } + + /// Backing field for property. + private global::System.DateTime? _servicePeriodStartDate; + + /// + /// The date of the purchase of the product, or the start date of the month in which usage started. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public global::System.DateTime? ServicePeriodStartDate { get => this._servicePeriodStartDate; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount _subTotal; + + /// The pre-tax charged amount for the transaction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount SubTotal { get => (this._subTotal = this._subTotal ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount()); } + + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string SubTotalCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)SubTotal).Currency; } + + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? SubTotalValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)SubTotal).Value; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)SubTotal).Value = value ?? default(float); } + + /// Backing field for property. + private string _subscriptionId; + + /// + /// The ID of the subscription that was used for the transaction. The field is only applicable for transaction of kind reservation. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string SubscriptionId { get => this._subscriptionId; } + + /// Backing field for property. + private string _subscriptionName; + + /// + /// The name of the subscription that was used for the transaction. The field is only applicable for transaction of kind reservation. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string SubscriptionName { get => this._subscriptionName; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount _tax; + + /// The tax amount applied to the transaction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Tax { get => (this._tax = this._tax ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount()); } + + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string TaxCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)Tax).Currency; } + + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? TaxValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)Tax).Value; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)Tax).Value = value ?? default(float); } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount _transactionAmount; + + /// The charge associated with the transaction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount TransactionAmount { get => (this._transactionAmount = this._transactionAmount ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount()); } + + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string TransactionAmountCurrency { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)TransactionAmount).Currency; } + + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public float? TransactionAmountValue { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)TransactionAmount).Value; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmountInternal)TransactionAmount).Value = value ?? default(float); } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationType? _transactionType; + + /// The type of transaction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationType? TransactionType { get => this._transactionType; set => this._transactionType = value; } + + /// Backing field for property. + private float? _unit; + + /// The number of units used for a given product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public float? Unit { get => this._unit; } + + /// Backing field for property. + private string _unitOfMeasure; + + /// + /// The unit of measure used to bill for the product. For example, compute services are billed per hour. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string UnitOfMeasure { get => this._unitOfMeasure; } + + /// Backing field for property. + private string _unitType; + + /// The description for the unit of measure for a given product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string UnitType { get => this._unitType; } + + /// Creates an new instance. + public TransactionProperties() + { + + } + } + /// The properties of a transaction. + public partial interface ITransactionProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The currency for the amount value.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string AzureCreditAppliedCurrency { get; } + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Amount value.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(float) })] + float? AzureCreditAppliedValue { get; set; } + /// The type of azure plan of the subscription that was used for the transaction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The type of azure plan of the subscription that was used for the transaction.", + SerializedName = @"azurePlan", + PossibleTypes = new [] { typeof(string) })] + string AzurePlan { get; } + /// The ISO 4217 code for the currency in which this transaction is billed. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ISO 4217 code for the currency in which this transaction is billed.", + SerializedName = @"billingCurrency", + PossibleTypes = new [] { typeof(string) })] + string BillingCurrency { get; } + /// The name of the billing profile which will be billed for the transaction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the billing profile which will be billed for the transaction.", + SerializedName = @"billingProfileDisplayName", + PossibleTypes = new [] { typeof(string) })] + string BillingProfileDisplayName { get; } + /// The ID of the billing profile which will be billed for the transaction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the billing profile which will be billed for the transaction.", + SerializedName = @"billingProfileId", + PossibleTypes = new [] { typeof(string) })] + string BillingProfileId { get; } + /// + /// The name of the customer for which the transaction took place. The field is applicable only for Microsoft Partner Agreement + /// billing account. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the customer for which the transaction took place. The field is applicable only for Microsoft Partner Agreement billing account.", + SerializedName = @"customerDisplayName", + PossibleTypes = new [] { typeof(string) })] + string CustomerDisplayName { get; } + /// + /// The ID of the customer for which the transaction took place. The field is applicable only for Microsoft Partner Agreement + /// billing account. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the customer for which the transaction took place. The field is applicable only for Microsoft Partner Agreement billing account.", + SerializedName = @"customerId", + PossibleTypes = new [] { typeof(string) })] + string CustomerId { get; } + /// The date of transaction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The date of transaction.", + SerializedName = @"date", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? Date { get; } + /// The percentage discount, if any, applied to this transaction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The percentage discount, if any, applied to this transaction.", + SerializedName = @"discount", + PossibleTypes = new [] { typeof(float) })] + float? Discount { get; } + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The currency for the amount value.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string EffectivePriceCurrency { get; } + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Amount value.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(float) })] + float? EffectivePriceValue { get; set; } + /// + /// The exchange rate used to convert charged amount to billing currency, if applicable. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The exchange rate used to convert charged amount to billing currency, if applicable.", + SerializedName = @"exchangeRate", + PossibleTypes = new [] { typeof(float) })] + float? ExchangeRate { get; } + /// + /// Invoice on which the transaction was billed or 'pending' if the transaction is not billed. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Invoice on which the transaction was billed or 'pending' if the transaction is not billed.", + SerializedName = @"invoice", + PossibleTypes = new [] { typeof(string) })] + string Invoice { get; } + /// + /// The ID of the invoice on which the transaction was billed. This field is only applicable for transactions which are billed. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the invoice on which the transaction was billed. This field is only applicable for transactions which are billed.", + SerializedName = @"invoiceId", + PossibleTypes = new [] { typeof(string) })] + string InvoiceId { get; } + /// The name of the invoice section which will be billed for the transaction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the invoice section which will be billed for the transaction.", + SerializedName = @"invoiceSectionDisplayName", + PossibleTypes = new [] { typeof(string) })] + string InvoiceSectionDisplayName { get; } + /// The ID of the invoice section which will be billed for the transaction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the invoice section which will be billed for the transaction.", + SerializedName = @"invoiceSectionId", + PossibleTypes = new [] { typeof(string) })] + string InvoiceSectionId { get; } + /// The kind of transaction. Options are all or reservation. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The kind of transaction. Options are all or reservation.", + SerializedName = @"kind", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TransactionTypeKind) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TransactionTypeKind? Kind { get; set; } + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The currency for the amount value.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string MarketPriceCurrency { get; } + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Amount value.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(float) })] + float? MarketPriceValue { get; set; } + /// + /// The order ID of the reservation. The field is only applicable for transaction of kind reservation. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The order ID of the reservation. The field is only applicable for transaction of kind reservation.", + SerializedName = @"orderId", + PossibleTypes = new [] { typeof(string) })] + string OrderId { get; } + /// + /// The name of the reservation order. The field is only applicable for transactions of kind reservation. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the reservation order. The field is only applicable for transactions of kind reservation.", + SerializedName = @"orderName", + PossibleTypes = new [] { typeof(string) })] + string OrderName { get; } + /// The ISO 4217 code for the currency in which the product is priced. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ISO 4217 code for the currency in which the product is priced.", + SerializedName = @"pricingCurrency", + PossibleTypes = new [] { typeof(string) })] + string PricingCurrency { get; } + /// The description of the product for which the transaction took place. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The description of the product for which the transaction took place.", + SerializedName = @"productDescription", + PossibleTypes = new [] { typeof(string) })] + string ProductDescription { get; } + /// The family of the product for which the transaction took place. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The family of the product for which the transaction took place.", + SerializedName = @"productFamily", + PossibleTypes = new [] { typeof(string) })] + string ProductFamily { get; } + /// The type of the product for which the transaction took place. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The type of the product for which the transaction took place.", + SerializedName = @"productType", + PossibleTypes = new [] { typeof(string) })] + string ProductType { get; } + /// The ID of the product type for which the transaction took place. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the product type for which the transaction took place.", + SerializedName = @"productTypeId", + PossibleTypes = new [] { typeof(string) })] + string ProductTypeId { get; } + /// The quantity purchased in the transaction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The quantity purchased in the transaction.", + SerializedName = @"quantity", + PossibleTypes = new [] { typeof(int) })] + int? Quantity { get; } + /// + /// The end date of the product term, or the end date of the month in which usage ended. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The end date of the product term, or the end date of the month in which usage ended.", + SerializedName = @"servicePeriodEndDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? ServicePeriodEndDate { get; } + /// + /// The date of the purchase of the product, or the start date of the month in which usage started. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The date of the purchase of the product, or the start date of the month in which usage started.", + SerializedName = @"servicePeriodStartDate", + PossibleTypes = new [] { typeof(global::System.DateTime) })] + global::System.DateTime? ServicePeriodStartDate { get; } + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The currency for the amount value.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string SubTotalCurrency { get; } + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Amount value.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(float) })] + float? SubTotalValue { get; set; } + /// + /// The ID of the subscription that was used for the transaction. The field is only applicable for transaction of kind reservation. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The ID of the subscription that was used for the transaction. The field is only applicable for transaction of kind reservation.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + string SubscriptionId { get; } + /// + /// The name of the subscription that was used for the transaction. The field is only applicable for transaction of kind reservation. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The name of the subscription that was used for the transaction. The field is only applicable for transaction of kind reservation.", + SerializedName = @"subscriptionName", + PossibleTypes = new [] { typeof(string) })] + string SubscriptionName { get; } + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The currency for the amount value.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string TaxCurrency { get; } + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Amount value.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(float) })] + float? TaxValue { get; set; } + /// The currency for the amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The currency for the amount value.", + SerializedName = @"currency", + PossibleTypes = new [] { typeof(string) })] + string TransactionAmountCurrency { get; } + /// Amount value. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Amount value.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(float) })] + float? TransactionAmountValue { get; set; } + /// The type of transaction. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The type of transaction.", + SerializedName = @"transactionType", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationType) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationType? TransactionType { get; set; } + /// The number of units used for a given product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The number of units used for a given product.", + SerializedName = @"units", + PossibleTypes = new [] { typeof(float) })] + float? Unit { get; } + /// + /// The unit of measure used to bill for the product. For example, compute services are billed per hour. + /// + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The unit of measure used to bill for the product. For example, compute services are billed per hour.", + SerializedName = @"unitOfMeasure", + PossibleTypes = new [] { typeof(string) })] + string UnitOfMeasure { get; } + /// The description for the unit of measure for a given product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"The description for the unit of measure for a given product.", + SerializedName = @"unitType", + PossibleTypes = new [] { typeof(string) })] + string UnitType { get; } + + } + /// The properties of a transaction. + internal partial interface ITransactionPropertiesInternal + + { + /// The amount of any Azure credits automatically applied to this transaction. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount AzureCreditApplied { get; set; } + /// The currency for the amount value. + string AzureCreditAppliedCurrency { get; set; } + /// Amount value. + float? AzureCreditAppliedValue { get; set; } + /// The type of azure plan of the subscription that was used for the transaction. + string AzurePlan { get; set; } + /// The ISO 4217 code for the currency in which this transaction is billed. + string BillingCurrency { get; set; } + /// The name of the billing profile which will be billed for the transaction. + string BillingProfileDisplayName { get; set; } + /// The ID of the billing profile which will be billed for the transaction. + string BillingProfileId { get; set; } + /// + /// The name of the customer for which the transaction took place. The field is applicable only for Microsoft Partner Agreement + /// billing account. + /// + string CustomerDisplayName { get; set; } + /// + /// The ID of the customer for which the transaction took place. The field is applicable only for Microsoft Partner Agreement + /// billing account. + /// + string CustomerId { get; set; } + /// The date of transaction. + global::System.DateTime? Date { get; set; } + /// The percentage discount, if any, applied to this transaction. + float? Discount { get; set; } + /// The price of the product after applying any discounts. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount EffectivePrice { get; set; } + /// The currency for the amount value. + string EffectivePriceCurrency { get; set; } + /// Amount value. + float? EffectivePriceValue { get; set; } + /// + /// The exchange rate used to convert charged amount to billing currency, if applicable. + /// + float? ExchangeRate { get; set; } + /// + /// Invoice on which the transaction was billed or 'pending' if the transaction is not billed. + /// + string Invoice { get; set; } + /// + /// The ID of the invoice on which the transaction was billed. This field is only applicable for transactions which are billed. + /// + string InvoiceId { get; set; } + /// The name of the invoice section which will be billed for the transaction. + string InvoiceSectionDisplayName { get; set; } + /// The ID of the invoice section which will be billed for the transaction. + string InvoiceSectionId { get; set; } + /// The kind of transaction. Options are all or reservation. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TransactionTypeKind? Kind { get; set; } + /// The retail price of the product. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount MarketPrice { get; set; } + /// The currency for the amount value. + string MarketPriceCurrency { get; set; } + /// Amount value. + float? MarketPriceValue { get; set; } + /// + /// The order ID of the reservation. The field is only applicable for transaction of kind reservation. + /// + string OrderId { get; set; } + /// + /// The name of the reservation order. The field is only applicable for transactions of kind reservation. + /// + string OrderName { get; set; } + /// The ISO 4217 code for the currency in which the product is priced. + string PricingCurrency { get; set; } + /// The description of the product for which the transaction took place. + string ProductDescription { get; set; } + /// The family of the product for which the transaction took place. + string ProductFamily { get; set; } + /// The type of the product for which the transaction took place. + string ProductType { get; set; } + /// The ID of the product type for which the transaction took place. + string ProductTypeId { get; set; } + /// The quantity purchased in the transaction. + int? Quantity { get; set; } + /// + /// The end date of the product term, or the end date of the month in which usage ended. + /// + global::System.DateTime? ServicePeriodEndDate { get; set; } + /// + /// The date of the purchase of the product, or the start date of the month in which usage started. + /// + global::System.DateTime? ServicePeriodStartDate { get; set; } + /// The pre-tax charged amount for the transaction. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount SubTotal { get; set; } + /// The currency for the amount value. + string SubTotalCurrency { get; set; } + /// Amount value. + float? SubTotalValue { get; set; } + /// + /// The ID of the subscription that was used for the transaction. The field is only applicable for transaction of kind reservation. + /// + string SubscriptionId { get; set; } + /// + /// The name of the subscription that was used for the transaction. The field is only applicable for transaction of kind reservation. + /// + string SubscriptionName { get; set; } + /// The tax amount applied to the transaction. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount Tax { get; set; } + /// The currency for the amount value. + string TaxCurrency { get; set; } + /// Amount value. + float? TaxValue { get; set; } + /// The charge associated with the transaction. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAmount TransactionAmount { get; set; } + /// The currency for the amount value. + string TransactionAmountCurrency { get; set; } + /// Amount value. + float? TransactionAmountValue { get; set; } + /// The type of transaction. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationType? TransactionType { get; set; } + /// The number of units used for a given product. + float? Unit { get; set; } + /// + /// The unit of measure used to bill for the product. For example, compute services are billed per hour. + /// + string UnitOfMeasure { get; set; } + /// The description for the unit of measure for a given product. + string UnitType { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/TransactionProperties.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/TransactionProperties.json.cs new file mode 100644 index 000000000000..93deb91a5a38 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/TransactionProperties.json.cs @@ -0,0 +1,280 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of a transaction. + public partial class TransactionProperties + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionProperties. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionProperties. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionProperties FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new TransactionProperties(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._transactionAmount ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._transactionAmount.ToJson(null,serializationMode) : null, "transactionAmount" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._azureCreditApplied ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._azureCreditApplied.ToJson(null,serializationMode) : null, "azureCreditApplied" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._effectivePrice ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._effectivePrice.ToJson(null,serializationMode) : null, "effectivePrice" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._marketPrice ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._marketPrice.ToJson(null,serializationMode) : null, "marketPrice" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._subTotal ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._subTotal.ToJson(null,serializationMode) : null, "subTotal" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._tax ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._tax.ToJson(null,serializationMode) : null, "tax" ,container.Add ); + } + AddIf( null != (((object)this._kind)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._kind.ToString()) : null, "kind" ,container.Add ); + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._date ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._date?.ToString(@"yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK",global::System.Globalization.CultureInfo.InvariantCulture)) : null, "date" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._invoice)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._invoice.ToString()) : null, "invoice" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._invoiceId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._invoiceId.ToString()) : null, "invoiceId" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._orderId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._orderId.ToString()) : null, "orderId" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._orderName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._orderName.ToString()) : null, "orderName" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._productFamily)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._productFamily.ToString()) : null, "productFamily" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._productTypeId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._productTypeId.ToString()) : null, "productTypeId" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._productType)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._productType.ToString()) : null, "productType" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._productDescription)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._productDescription.ToString()) : null, "productDescription" ,container.Add ); + } + AddIf( null != (((object)this._transactionType)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._transactionType.ToString()) : null, "transactionType" ,container.Add ); + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._quantity ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNumber((int)this._quantity) : null, "quantity" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._invoiceSectionId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._invoiceSectionId.ToString()) : null, "invoiceSectionId" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._invoiceSectionDisplayName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._invoiceSectionDisplayName.ToString()) : null, "invoiceSectionDisplayName" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._billingProfileId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._billingProfileId.ToString()) : null, "billingProfileId" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._billingProfileDisplayName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._billingProfileDisplayName.ToString()) : null, "billingProfileDisplayName" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._customerId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._customerId.ToString()) : null, "customerId" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._customerDisplayName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._customerDisplayName.ToString()) : null, "customerDisplayName" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._subscriptionId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._subscriptionId.ToString()) : null, "subscriptionId" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._subscriptionName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._subscriptionName.ToString()) : null, "subscriptionName" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._azurePlan)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._azurePlan.ToString()) : null, "azurePlan" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._billingCurrency)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._billingCurrency.ToString()) : null, "billingCurrency" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._discount ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNumber((float)this._discount) : null, "discount" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._exchangeRate ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNumber((float)this._exchangeRate) : null, "exchangeRate" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._pricingCurrency)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._pricingCurrency.ToString()) : null, "pricingCurrency" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._servicePeriodStartDate ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._servicePeriodStartDate?.ToString(@"yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK",global::System.Globalization.CultureInfo.InvariantCulture)) : null, "servicePeriodStartDate" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._servicePeriodEndDate ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._servicePeriodEndDate?.ToString(@"yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK",global::System.Globalization.CultureInfo.InvariantCulture)) : null, "servicePeriodEndDate" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._unitOfMeasure)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._unitOfMeasure.ToString()) : null, "unitOfMeasure" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._unit ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNumber((float)this._unit) : null, "units" ,container.Add ); + } + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != (((object)this._unitType)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._unitType.ToString()) : null, "unitType" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal TransactionProperties(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_transactionAmount = If( json?.PropertyT("transactionAmount"), out var __jsonTransactionAmount) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount.FromJson(__jsonTransactionAmount) : TransactionAmount;} + {_azureCreditApplied = If( json?.PropertyT("azureCreditApplied"), out var __jsonAzureCreditApplied) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount.FromJson(__jsonAzureCreditApplied) : AzureCreditApplied;} + {_effectivePrice = If( json?.PropertyT("effectivePrice"), out var __jsonEffectivePrice) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount.FromJson(__jsonEffectivePrice) : EffectivePrice;} + {_marketPrice = If( json?.PropertyT("marketPrice"), out var __jsonMarketPrice) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount.FromJson(__jsonMarketPrice) : MarketPrice;} + {_subTotal = If( json?.PropertyT("subTotal"), out var __jsonSubTotal) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount.FromJson(__jsonSubTotal) : SubTotal;} + {_tax = If( json?.PropertyT("tax"), out var __jsonTax) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Amount.FromJson(__jsonTax) : Tax;} + {_kind = If( json?.PropertyT("kind"), out var __jsonKind) ? (string)__jsonKind : (string)Kind;} + {_date = If( json?.PropertyT("date"), out var __jsonDate) ? global::System.DateTime.TryParse((string)__jsonDate, global::System.Globalization.CultureInfo.InvariantCulture, global::System.Globalization.DateTimeStyles.AdjustToUniversal, out var __jsonDateValue) ? __jsonDateValue : Date : Date;} + {_invoice = If( json?.PropertyT("invoice"), out var __jsonInvoice) ? (string)__jsonInvoice : (string)Invoice;} + {_invoiceId = If( json?.PropertyT("invoiceId"), out var __jsonInvoiceId) ? (string)__jsonInvoiceId : (string)InvoiceId;} + {_orderId = If( json?.PropertyT("orderId"), out var __jsonOrderId) ? (string)__jsonOrderId : (string)OrderId;} + {_orderName = If( json?.PropertyT("orderName"), out var __jsonOrderName) ? (string)__jsonOrderName : (string)OrderName;} + {_productFamily = If( json?.PropertyT("productFamily"), out var __jsonProductFamily) ? (string)__jsonProductFamily : (string)ProductFamily;} + {_productTypeId = If( json?.PropertyT("productTypeId"), out var __jsonProductTypeId) ? (string)__jsonProductTypeId : (string)ProductTypeId;} + {_productType = If( json?.PropertyT("productType"), out var __jsonProductType) ? (string)__jsonProductType : (string)ProductType;} + {_productDescription = If( json?.PropertyT("productDescription"), out var __jsonProductDescription) ? (string)__jsonProductDescription : (string)ProductDescription;} + {_transactionType = If( json?.PropertyT("transactionType"), out var __jsonTransactionType) ? (string)__jsonTransactionType : (string)TransactionType;} + {_quantity = If( json?.PropertyT("quantity"), out var __jsonQuantity) ? (int?)__jsonQuantity : Quantity;} + {_invoiceSectionId = If( json?.PropertyT("invoiceSectionId"), out var __jsonInvoiceSectionId) ? (string)__jsonInvoiceSectionId : (string)InvoiceSectionId;} + {_invoiceSectionDisplayName = If( json?.PropertyT("invoiceSectionDisplayName"), out var __jsonInvoiceSectionDisplayName) ? (string)__jsonInvoiceSectionDisplayName : (string)InvoiceSectionDisplayName;} + {_billingProfileId = If( json?.PropertyT("billingProfileId"), out var __jsonBillingProfileId) ? (string)__jsonBillingProfileId : (string)BillingProfileId;} + {_billingProfileDisplayName = If( json?.PropertyT("billingProfileDisplayName"), out var __jsonBillingProfileDisplayName) ? (string)__jsonBillingProfileDisplayName : (string)BillingProfileDisplayName;} + {_customerId = If( json?.PropertyT("customerId"), out var __jsonCustomerId) ? (string)__jsonCustomerId : (string)CustomerId;} + {_customerDisplayName = If( json?.PropertyT("customerDisplayName"), out var __jsonCustomerDisplayName) ? (string)__jsonCustomerDisplayName : (string)CustomerDisplayName;} + {_subscriptionId = If( json?.PropertyT("subscriptionId"), out var __jsonSubscriptionId) ? (string)__jsonSubscriptionId : (string)SubscriptionId;} + {_subscriptionName = If( json?.PropertyT("subscriptionName"), out var __jsonSubscriptionName) ? (string)__jsonSubscriptionName : (string)SubscriptionName;} + {_azurePlan = If( json?.PropertyT("azurePlan"), out var __jsonAzurePlan) ? (string)__jsonAzurePlan : (string)AzurePlan;} + {_billingCurrency = If( json?.PropertyT("billingCurrency"), out var __jsonBillingCurrency) ? (string)__jsonBillingCurrency : (string)BillingCurrency;} + {_discount = If( json?.PropertyT("discount"), out var __jsonDiscount) ? (float?)__jsonDiscount : Discount;} + {_exchangeRate = If( json?.PropertyT("exchangeRate"), out var __jsonExchangeRate) ? (float?)__jsonExchangeRate : ExchangeRate;} + {_pricingCurrency = If( json?.PropertyT("pricingCurrency"), out var __jsonPricingCurrency) ? (string)__jsonPricingCurrency : (string)PricingCurrency;} + {_servicePeriodStartDate = If( json?.PropertyT("servicePeriodStartDate"), out var __jsonServicePeriodStartDate) ? global::System.DateTime.TryParse((string)__jsonServicePeriodStartDate, global::System.Globalization.CultureInfo.InvariantCulture, global::System.Globalization.DateTimeStyles.AdjustToUniversal, out var __jsonServicePeriodStartDateValue) ? __jsonServicePeriodStartDateValue : ServicePeriodStartDate : ServicePeriodStartDate;} + {_servicePeriodEndDate = If( json?.PropertyT("servicePeriodEndDate"), out var __jsonServicePeriodEndDate) ? global::System.DateTime.TryParse((string)__jsonServicePeriodEndDate, global::System.Globalization.CultureInfo.InvariantCulture, global::System.Globalization.DateTimeStyles.AdjustToUniversal, out var __jsonServicePeriodEndDateValue) ? __jsonServicePeriodEndDateValue : ServicePeriodEndDate : ServicePeriodEndDate;} + {_unitOfMeasure = If( json?.PropertyT("unitOfMeasure"), out var __jsonUnitOfMeasure) ? (string)__jsonUnitOfMeasure : (string)UnitOfMeasure;} + {_unit = If( json?.PropertyT("units"), out var __jsonUnits) ? (float?)__jsonUnits : Unit;} + {_unitType = If( json?.PropertyT("unitType"), out var __jsonUnitType) ? (string)__jsonUnitType : (string)UnitType;} + AfterFromJson(json); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/TransferBillingSubscriptionRequestProperties.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/TransferBillingSubscriptionRequestProperties.PowerShell.cs new file mode 100644 index 000000000000..3addda578c63 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/TransferBillingSubscriptionRequestProperties.PowerShell.cs @@ -0,0 +1,149 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// Request parameters to transfer billing subscription. + [System.ComponentModel.TypeConverter(typeof(TransferBillingSubscriptionRequestPropertiesTypeConverter))] + public partial class TransferBillingSubscriptionRequestProperties + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new TransferBillingSubscriptionRequestProperties(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new TransferBillingSubscriptionRequestProperties(content); + } + + /// + /// Creates a new instance of , deserializing the content from + /// a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// + /// an instance of the model class. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal TransferBillingSubscriptionRequestProperties(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("DestinationInvoiceSectionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestPropertiesInternal)this).DestinationInvoiceSectionId = (string) content.GetValueForProperty("DestinationInvoiceSectionId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestPropertiesInternal)this).DestinationInvoiceSectionId, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal TransferBillingSubscriptionRequestProperties(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("DestinationInvoiceSectionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestPropertiesInternal)this).DestinationInvoiceSectionId = (string) content.GetValueForProperty("DestinationInvoiceSectionId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestPropertiesInternal)this).DestinationInvoiceSectionId, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + } + /// Request parameters to transfer billing subscription. + [System.ComponentModel.TypeConverter(typeof(TransferBillingSubscriptionRequestPropertiesTypeConverter))] + public partial interface ITransferBillingSubscriptionRequestProperties + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/TransferBillingSubscriptionRequestProperties.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/TransferBillingSubscriptionRequestProperties.TypeConverter.cs new file mode 100644 index 000000000000..34c244cb8241 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/TransferBillingSubscriptionRequestProperties.TypeConverter.cs @@ -0,0 +1,151 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class TransferBillingSubscriptionRequestPropertiesTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, + /// otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return TransferBillingSubscriptionRequestProperties.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return TransferBillingSubscriptionRequestProperties.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return TransferBillingSubscriptionRequestProperties.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/TransferBillingSubscriptionRequestProperties.cs b/swaggerci/billing/generated/api/Models/Api20200501/TransferBillingSubscriptionRequestProperties.cs new file mode 100644 index 000000000000..c42c69bc81ad --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/TransferBillingSubscriptionRequestProperties.cs @@ -0,0 +1,53 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// Request parameters to transfer billing subscription. + public partial class TransferBillingSubscriptionRequestProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestPropertiesInternal + { + + /// Backing field for property. + private string _destinationInvoiceSectionId; + + /// The destination invoice section id. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string DestinationInvoiceSectionId { get => this._destinationInvoiceSectionId; set => this._destinationInvoiceSectionId = value; } + + /// + /// Creates an new instance. + /// + public TransferBillingSubscriptionRequestProperties() + { + + } + } + /// Request parameters to transfer billing subscription. + public partial interface ITransferBillingSubscriptionRequestProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The destination invoice section id. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The destination invoice section id.", + SerializedName = @"destinationInvoiceSectionId", + PossibleTypes = new [] { typeof(string) })] + string DestinationInvoiceSectionId { get; set; } + + } + /// Request parameters to transfer billing subscription. + internal partial interface ITransferBillingSubscriptionRequestPropertiesInternal + + { + /// The destination invoice section id. + string DestinationInvoiceSectionId { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/TransferBillingSubscriptionRequestProperties.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/TransferBillingSubscriptionRequestProperties.json.cs new file mode 100644 index 000000000000..ac2b91bb999c --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/TransferBillingSubscriptionRequestProperties.json.cs @@ -0,0 +1,111 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// Request parameters to transfer billing subscription. + public partial class TransferBillingSubscriptionRequestProperties + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new TransferBillingSubscriptionRequestProperties(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != (((object)this._destinationInvoiceSectionId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._destinationInvoiceSectionId.ToString()) : null, "destinationInvoiceSectionId" ,container.Add ); + AfterToJson(ref container); + return container; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal TransferBillingSubscriptionRequestProperties(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_destinationInvoiceSectionId = If( json?.PropertyT("destinationInvoiceSectionId"), out var __jsonDestinationInvoiceSectionId) ? (string)__jsonDestinationInvoiceSectionId : (string)DestinationInvoiceSectionId;} + AfterFromJson(json); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/TransferProductRequestProperties.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/TransferProductRequestProperties.PowerShell.cs new file mode 100644 index 000000000000..8cf23377e325 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/TransferProductRequestProperties.PowerShell.cs @@ -0,0 +1,146 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// The properties of the product to initiate a transfer. + [System.ComponentModel.TypeConverter(typeof(TransferProductRequestPropertiesTypeConverter))] + public partial class TransferProductRequestProperties + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new TransferProductRequestProperties(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new TransferProductRequestProperties(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal TransferProductRequestProperties(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("DestinationInvoiceSectionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestPropertiesInternal)this).DestinationInvoiceSectionId = (string) content.GetValueForProperty("DestinationInvoiceSectionId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestPropertiesInternal)this).DestinationInvoiceSectionId, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal TransferProductRequestProperties(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("DestinationInvoiceSectionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestPropertiesInternal)this).DestinationInvoiceSectionId = (string) content.GetValueForProperty("DestinationInvoiceSectionId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestPropertiesInternal)this).DestinationInvoiceSectionId, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + } + /// The properties of the product to initiate a transfer. + [System.ComponentModel.TypeConverter(typeof(TransferProductRequestPropertiesTypeConverter))] + public partial interface ITransferProductRequestProperties + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/TransferProductRequestProperties.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/TransferProductRequestProperties.TypeConverter.cs new file mode 100644 index 000000000000..a715eb6707b9 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/TransferProductRequestProperties.TypeConverter.cs @@ -0,0 +1,148 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class TransferProductRequestPropertiesTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return TransferProductRequestProperties.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return TransferProductRequestProperties.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return TransferProductRequestProperties.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/TransferProductRequestProperties.cs b/swaggerci/billing/generated/api/Models/Api20200501/TransferProductRequestProperties.cs new file mode 100644 index 000000000000..6f31dbc4cb67 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/TransferProductRequestProperties.cs @@ -0,0 +1,51 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of the product to initiate a transfer. + public partial class TransferProductRequestProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestPropertiesInternal + { + + /// Backing field for property. + private string _destinationInvoiceSectionId; + + /// The destination invoice section id. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string DestinationInvoiceSectionId { get => this._destinationInvoiceSectionId; set => this._destinationInvoiceSectionId = value; } + + /// Creates an new instance. + public TransferProductRequestProperties() + { + + } + } + /// The properties of the product to initiate a transfer. + public partial interface ITransferProductRequestProperties : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The destination invoice section id. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The destination invoice section id.", + SerializedName = @"destinationInvoiceSectionId", + PossibleTypes = new [] { typeof(string) })] + string DestinationInvoiceSectionId { get; set; } + + } + /// The properties of the product to initiate a transfer. + internal partial interface ITransferProductRequestPropertiesInternal + + { + /// The destination invoice section id. + string DestinationInvoiceSectionId { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/TransferProductRequestProperties.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/TransferProductRequestProperties.json.cs new file mode 100644 index 000000000000..77c6984f00ae --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/TransferProductRequestProperties.json.cs @@ -0,0 +1,108 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// The properties of the product to initiate a transfer. + public partial class TransferProductRequestProperties + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new TransferProductRequestProperties(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != (((object)this._destinationInvoiceSectionId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._destinationInvoiceSectionId.ToString()) : null, "destinationInvoiceSectionId" ,container.Add ); + AfterToJson(ref container); + return container; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal TransferProductRequestProperties(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_destinationInvoiceSectionId = If( json?.PropertyT("destinationInvoiceSectionId"), out var __jsonDestinationInvoiceSectionId) ? (string)__jsonDestinationInvoiceSectionId : (string)DestinationInvoiceSectionId;} + AfterFromJson(json); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ValidateAddressResponse.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/ValidateAddressResponse.PowerShell.cs new file mode 100644 index 000000000000..f37a63338604 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ValidateAddressResponse.PowerShell.cs @@ -0,0 +1,160 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// Result of the address validation + [System.ComponentModel.TypeConverter(typeof(ValidateAddressResponseTypeConverter))] + public partial class ValidateAddressResponse + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateAddressResponse DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new ValidateAddressResponse(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateAddressResponse DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new ValidateAddressResponse(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateAddressResponse FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal ValidateAddressResponse(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Status")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateAddressResponseInternal)this).Status = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AddressValidationStatus?) content.GetValueForProperty("Status",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateAddressResponseInternal)this).Status, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AddressValidationStatus.CreateFrom); + } + if (content.Contains("SuggestedAddress")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateAddressResponseInternal)this).SuggestedAddress = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails[]) content.GetValueForProperty("SuggestedAddress",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateAddressResponseInternal)this).SuggestedAddress, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AddressDetailsTypeConverter.ConvertFrom)); + } + if (content.Contains("ValidationMessage")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateAddressResponseInternal)this).ValidationMessage = (string) content.GetValueForProperty("ValidationMessage",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateAddressResponseInternal)this).ValidationMessage, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal ValidateAddressResponse(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Status")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateAddressResponseInternal)this).Status = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AddressValidationStatus?) content.GetValueForProperty("Status",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateAddressResponseInternal)this).Status, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AddressValidationStatus.CreateFrom); + } + if (content.Contains("SuggestedAddress")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateAddressResponseInternal)this).SuggestedAddress = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails[]) content.GetValueForProperty("SuggestedAddress",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateAddressResponseInternal)this).SuggestedAddress, __y => TypeConverterExtensions.SelectToArray(__y, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AddressDetailsTypeConverter.ConvertFrom)); + } + if (content.Contains("ValidationMessage")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateAddressResponseInternal)this).ValidationMessage = (string) content.GetValueForProperty("ValidationMessage",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateAddressResponseInternal)this).ValidationMessage, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + } + /// Result of the address validation + [System.ComponentModel.TypeConverter(typeof(ValidateAddressResponseTypeConverter))] + public partial interface IValidateAddressResponse + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ValidateAddressResponse.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/ValidateAddressResponse.TypeConverter.cs new file mode 100644 index 000000000000..4ba9b8269024 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ValidateAddressResponse.TypeConverter.cs @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class ValidateAddressResponseTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateAddressResponse ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateAddressResponse).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return ValidateAddressResponse.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return ValidateAddressResponse.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return ValidateAddressResponse.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ValidateAddressResponse.cs b/swaggerci/billing/generated/api/Models/Api20200501/ValidateAddressResponse.cs new file mode 100644 index 000000000000..2fc22a5d5dc8 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ValidateAddressResponse.cs @@ -0,0 +1,85 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// Result of the address validation + public partial class ValidateAddressResponse : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateAddressResponse, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateAddressResponseInternal + { + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AddressValidationStatus? _status; + + /// status of the address validation. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AddressValidationStatus? Status { get => this._status; set => this._status = value; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails[] _suggestedAddress; + + /// The list of suggested addresses. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails[] SuggestedAddress { get => this._suggestedAddress; set => this._suggestedAddress = value; } + + /// Backing field for property. + private string _validationMessage; + + /// Validation error message. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string ValidationMessage { get => this._validationMessage; set => this._validationMessage = value; } + + /// Creates an new instance. + public ValidateAddressResponse() + { + + } + } + /// Result of the address validation + public partial interface IValidateAddressResponse : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// status of the address validation. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"status of the address validation.", + SerializedName = @"status", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AddressValidationStatus) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AddressValidationStatus? Status { get; set; } + /// The list of suggested addresses. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The list of suggested addresses.", + SerializedName = @"suggestedAddresses", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails[] SuggestedAddress { get; set; } + /// Validation error message. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Validation error message.", + SerializedName = @"validationMessage", + PossibleTypes = new [] { typeof(string) })] + string ValidationMessage { get; set; } + + } + /// Result of the address validation + internal partial interface IValidateAddressResponseInternal + + { + /// status of the address validation. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AddressValidationStatus? Status { get; set; } + /// The list of suggested addresses. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails[] SuggestedAddress { get; set; } + /// Validation error message. + string ValidationMessage { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ValidateAddressResponse.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/ValidateAddressResponse.json.cs new file mode 100644 index 000000000000..c6887db6bcaa --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ValidateAddressResponse.json.cs @@ -0,0 +1,120 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// Result of the address validation + public partial class ValidateAddressResponse + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateAddressResponse. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateAddressResponse. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateAddressResponse FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new ValidateAddressResponse(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != (((object)this._status)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._status.ToString()) : null, "status" ,container.Add ); + if (null != this._suggestedAddress) + { + var __w = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.XNodeArray(); + foreach( var __x in this._suggestedAddress ) + { + AddIf(__x?.ToJson(null, serializationMode) ,__w.Add); + } + container.Add("suggestedAddresses",__w); + } + AddIf( null != (((object)this._validationMessage)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._validationMessage.ToString()) : null, "validationMessage" ,container.Add ); + AfterToJson(ref container); + return container; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal ValidateAddressResponse(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_status = If( json?.PropertyT("status"), out var __jsonStatus) ? (string)__jsonStatus : (string)Status;} + {_suggestedAddress = If( json?.PropertyT("suggestedAddresses"), out var __jsonSuggestedAddresses) ? If( __jsonSuggestedAddresses as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonArray, out var __v) ? new global::System.Func(()=> global::System.Linq.Enumerable.ToArray(global::System.Linq.Enumerable.Select(__v, (__u)=>(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails) (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AddressDetails.FromJson(__u) )) ))() : null : SuggestedAddress;} + {_validationMessage = If( json?.PropertyT("validationMessage"), out var __jsonValidationMessage) ? (string)__jsonValidationMessage : (string)ValidationMessage;} + AfterFromJson(json); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ValidateProductTransferEligibilityError.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/ValidateProductTransferEligibilityError.PowerShell.cs new file mode 100644 index 000000000000..c592e404a9c3 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ValidateProductTransferEligibilityError.PowerShell.cs @@ -0,0 +1,165 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// Error details of the product transfer eligibility validation. + [System.ComponentModel.TypeConverter(typeof(ValidateProductTransferEligibilityErrorTypeConverter))] + public partial class ValidateProductTransferEligibilityError + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityError DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new ValidateProductTransferEligibilityError(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityError DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new ValidateProductTransferEligibilityError(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json + /// string. + /// + /// a string containing a JSON serialized instance of this model. + /// + /// an instance of the model class. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityError FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal ValidateProductTransferEligibilityError(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Code")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityErrorInternal)this).Code = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductTransferValidationErrorCode?) content.GetValueForProperty("Code",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityErrorInternal)this).Code, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductTransferValidationErrorCode.CreateFrom); + } + if (content.Contains("Message")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityErrorInternal)this).Message = (string) content.GetValueForProperty("Message",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityErrorInternal)this).Message, global::System.Convert.ToString); + } + if (content.Contains("Detail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityErrorInternal)this).Detail = (string) content.GetValueForProperty("Detail",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityErrorInternal)this).Detail, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal ValidateProductTransferEligibilityError(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Code")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityErrorInternal)this).Code = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductTransferValidationErrorCode?) content.GetValueForProperty("Code",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityErrorInternal)this).Code, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductTransferValidationErrorCode.CreateFrom); + } + if (content.Contains("Message")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityErrorInternal)this).Message = (string) content.GetValueForProperty("Message",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityErrorInternal)this).Message, global::System.Convert.ToString); + } + if (content.Contains("Detail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityErrorInternal)this).Detail = (string) content.GetValueForProperty("Detail",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityErrorInternal)this).Detail, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + } + /// Error details of the product transfer eligibility validation. + [System.ComponentModel.TypeConverter(typeof(ValidateProductTransferEligibilityErrorTypeConverter))] + public partial interface IValidateProductTransferEligibilityError + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ValidateProductTransferEligibilityError.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/ValidateProductTransferEligibilityError.TypeConverter.cs new file mode 100644 index 000000000000..c5bbec5b5758 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ValidateProductTransferEligibilityError.TypeConverter.cs @@ -0,0 +1,151 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class ValidateProductTransferEligibilityErrorTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise + /// false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityError ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityError).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return ValidateProductTransferEligibilityError.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return ValidateProductTransferEligibilityError.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return ValidateProductTransferEligibilityError.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ValidateProductTransferEligibilityError.cs b/swaggerci/billing/generated/api/Models/Api20200501/ValidateProductTransferEligibilityError.cs new file mode 100644 index 000000000000..32d94152dfef --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ValidateProductTransferEligibilityError.cs @@ -0,0 +1,85 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// Error details of the product transfer eligibility validation. + public partial class ValidateProductTransferEligibilityError : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityError, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityErrorInternal + { + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductTransferValidationErrorCode? _code; + + /// Error code for the product transfer validation. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductTransferValidationErrorCode? Code { get => this._code; set => this._code = value; } + + /// Backing field for property. + private string _detail; + + /// Detailed error message explaining the error. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Detail { get => this._detail; set => this._detail = value; } + + /// Backing field for property. + private string _message; + + /// The error message. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Message { get => this._message; set => this._message = value; } + + /// Creates an new instance. + public ValidateProductTransferEligibilityError() + { + + } + } + /// Error details of the product transfer eligibility validation. + public partial interface IValidateProductTransferEligibilityError : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// Error code for the product transfer validation. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Error code for the product transfer validation.", + SerializedName = @"code", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductTransferValidationErrorCode) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductTransferValidationErrorCode? Code { get; set; } + /// Detailed error message explaining the error. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Detailed error message explaining the error.", + SerializedName = @"details", + PossibleTypes = new [] { typeof(string) })] + string Detail { get; set; } + /// The error message. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The error message.", + SerializedName = @"message", + PossibleTypes = new [] { typeof(string) })] + string Message { get; set; } + + } + /// Error details of the product transfer eligibility validation. + internal partial interface IValidateProductTransferEligibilityErrorInternal + + { + /// Error code for the product transfer validation. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductTransferValidationErrorCode? Code { get; set; } + /// Detailed error message explaining the error. + string Detail { get; set; } + /// The error message. + string Message { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ValidateProductTransferEligibilityError.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/ValidateProductTransferEligibilityError.json.cs new file mode 100644 index 000000000000..ac6814336373 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ValidateProductTransferEligibilityError.json.cs @@ -0,0 +1,114 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// Error details of the product transfer eligibility validation. + public partial class ValidateProductTransferEligibilityError + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityError. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityError. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityError FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new ValidateProductTransferEligibilityError(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != (((object)this._code)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._code.ToString()) : null, "code" ,container.Add ); + AddIf( null != (((object)this._message)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._message.ToString()) : null, "message" ,container.Add ); + AddIf( null != (((object)this._detail)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._detail.ToString()) : null, "details" ,container.Add ); + AfterToJson(ref container); + return container; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal ValidateProductTransferEligibilityError(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_code = If( json?.PropertyT("code"), out var __jsonCode) ? (string)__jsonCode : (string)Code;} + {_message = If( json?.PropertyT("message"), out var __jsonMessage) ? (string)__jsonMessage : (string)Message;} + {_detail = If( json?.PropertyT("details"), out var __jsonDetails) ? (string)__jsonDetails : (string)Detail;} + AfterFromJson(json); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ValidateProductTransferEligibilityResult.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/ValidateProductTransferEligibilityResult.PowerShell.cs new file mode 100644 index 000000000000..c63bcba93380 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ValidateProductTransferEligibilityResult.PowerShell.cs @@ -0,0 +1,181 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// Result of the product transfer eligibility validation. + [System.ComponentModel.TypeConverter(typeof(ValidateProductTransferEligibilityResultTypeConverter))] + public partial class ValidateProductTransferEligibilityResult + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResult DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new ValidateProductTransferEligibilityResult(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResult DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new ValidateProductTransferEligibilityResult(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json + /// string. + /// + /// a string containing a JSON serialized instance of this model. + /// + /// an instance of the model class. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResult FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal ValidateProductTransferEligibilityResult(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("ErrorDetail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResultInternal)this).ErrorDetail = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityError) content.GetValueForProperty("ErrorDetail",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResultInternal)this).ErrorDetail, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ValidateProductTransferEligibilityErrorTypeConverter.ConvertFrom); + } + if (content.Contains("IsMoveEligible")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResultInternal)this).IsMoveEligible = (bool?) content.GetValueForProperty("IsMoveEligible",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResultInternal)this).IsMoveEligible, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("ErrorDetailCode")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResultInternal)this).ErrorDetailCode = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductTransferValidationErrorCode?) content.GetValueForProperty("ErrorDetailCode",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResultInternal)this).ErrorDetailCode, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductTransferValidationErrorCode.CreateFrom); + } + if (content.Contains("ErrorDetailMessage")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResultInternal)this).ErrorDetailMessage = (string) content.GetValueForProperty("ErrorDetailMessage",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResultInternal)this).ErrorDetailMessage, global::System.Convert.ToString); + } + if (content.Contains("ErrorDetailsDetails")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResultInternal)this).ErrorDetailsDetails = (string) content.GetValueForProperty("ErrorDetailsDetails",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResultInternal)this).ErrorDetailsDetails, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal ValidateProductTransferEligibilityResult(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("ErrorDetail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResultInternal)this).ErrorDetail = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityError) content.GetValueForProperty("ErrorDetail",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResultInternal)this).ErrorDetail, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ValidateProductTransferEligibilityErrorTypeConverter.ConvertFrom); + } + if (content.Contains("IsMoveEligible")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResultInternal)this).IsMoveEligible = (bool?) content.GetValueForProperty("IsMoveEligible",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResultInternal)this).IsMoveEligible, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("ErrorDetailCode")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResultInternal)this).ErrorDetailCode = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductTransferValidationErrorCode?) content.GetValueForProperty("ErrorDetailCode",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResultInternal)this).ErrorDetailCode, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductTransferValidationErrorCode.CreateFrom); + } + if (content.Contains("ErrorDetailMessage")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResultInternal)this).ErrorDetailMessage = (string) content.GetValueForProperty("ErrorDetailMessage",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResultInternal)this).ErrorDetailMessage, global::System.Convert.ToString); + } + if (content.Contains("ErrorDetailsDetails")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResultInternal)this).ErrorDetailsDetails = (string) content.GetValueForProperty("ErrorDetailsDetails",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResultInternal)this).ErrorDetailsDetails, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + } + /// Result of the product transfer eligibility validation. + [System.ComponentModel.TypeConverter(typeof(ValidateProductTransferEligibilityResultTypeConverter))] + public partial interface IValidateProductTransferEligibilityResult + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ValidateProductTransferEligibilityResult.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/ValidateProductTransferEligibilityResult.TypeConverter.cs new file mode 100644 index 000000000000..fb61a26799e6 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ValidateProductTransferEligibilityResult.TypeConverter.cs @@ -0,0 +1,151 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class ValidateProductTransferEligibilityResultTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise + /// false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResult ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResult).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return ValidateProductTransferEligibilityResult.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return ValidateProductTransferEligibilityResult.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return ValidateProductTransferEligibilityResult.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ValidateProductTransferEligibilityResult.cs b/swaggerci/billing/generated/api/Models/Api20200501/ValidateProductTransferEligibilityResult.cs new file mode 100644 index 000000000000..ec7d957a268d --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ValidateProductTransferEligibilityResult.cs @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// Result of the product transfer eligibility validation. + public partial class ValidateProductTransferEligibilityResult : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResult, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResultInternal + { + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityError _errorDetail; + + /// Validation error details. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityError ErrorDetail { get => (this._errorDetail = this._errorDetail ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ValidateProductTransferEligibilityError()); set => this._errorDetail = value; } + + /// Error code for the product transfer validation. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductTransferValidationErrorCode? ErrorDetailCode { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityErrorInternal)ErrorDetail).Code; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityErrorInternal)ErrorDetail).Code = value ?? ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductTransferValidationErrorCode)""); } + + /// The error message. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string ErrorDetailMessage { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityErrorInternal)ErrorDetail).Message; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityErrorInternal)ErrorDetail).Message = value ?? null; } + + /// Detailed error message explaining the error. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string ErrorDetailsDetails { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityErrorInternal)ErrorDetail).Detail; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityErrorInternal)ErrorDetail).Detail = value ?? null; } + + /// Backing field for property. + private bool? _isMoveEligible; + + /// Specifies whether the transfer is eligible or not. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public bool? IsMoveEligible { get => this._isMoveEligible; } + + /// Internal Acessors for ErrorDetail + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityError Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResultInternal.ErrorDetail { get => (this._errorDetail = this._errorDetail ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ValidateProductTransferEligibilityError()); set { {_errorDetail = value;} } } + + /// Internal Acessors for IsMoveEligible + bool? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResultInternal.IsMoveEligible { get => this._isMoveEligible; set { {_isMoveEligible = value;} } } + + /// + /// Creates an new instance. + /// + public ValidateProductTransferEligibilityResult() + { + + } + } + /// Result of the product transfer eligibility validation. + public partial interface IValidateProductTransferEligibilityResult : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// Error code for the product transfer validation. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Error code for the product transfer validation.", + SerializedName = @"code", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductTransferValidationErrorCode) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductTransferValidationErrorCode? ErrorDetailCode { get; set; } + /// The error message. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The error message.", + SerializedName = @"message", + PossibleTypes = new [] { typeof(string) })] + string ErrorDetailMessage { get; set; } + /// Detailed error message explaining the error. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Detailed error message explaining the error.", + SerializedName = @"details", + PossibleTypes = new [] { typeof(string) })] + string ErrorDetailsDetails { get; set; } + /// Specifies whether the transfer is eligible or not. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Specifies whether the transfer is eligible or not.", + SerializedName = @"isMoveEligible", + PossibleTypes = new [] { typeof(bool) })] + bool? IsMoveEligible { get; } + + } + /// Result of the product transfer eligibility validation. + internal partial interface IValidateProductTransferEligibilityResultInternal + + { + /// Validation error details. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityError ErrorDetail { get; set; } + /// Error code for the product transfer validation. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductTransferValidationErrorCode? ErrorDetailCode { get; set; } + /// The error message. + string ErrorDetailMessage { get; set; } + /// Detailed error message explaining the error. + string ErrorDetailsDetails { get; set; } + /// Specifies whether the transfer is eligible or not. + bool? IsMoveEligible { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ValidateProductTransferEligibilityResult.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/ValidateProductTransferEligibilityResult.json.cs new file mode 100644 index 000000000000..e2898c68010b --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ValidateProductTransferEligibilityResult.json.cs @@ -0,0 +1,115 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// Result of the product transfer eligibility validation. + public partial class ValidateProductTransferEligibilityResult + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResult. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResult. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResult FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new ValidateProductTransferEligibilityResult(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != this._errorDetail ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._errorDetail.ToJson(null,serializationMode) : null, "errorDetails" ,container.Add ); + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._isMoveEligible ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonBoolean((bool)this._isMoveEligible) : null, "isMoveEligible" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal ValidateProductTransferEligibilityResult(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_errorDetail = If( json?.PropertyT("errorDetails"), out var __jsonErrorDetails) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ValidateProductTransferEligibilityError.FromJson(__jsonErrorDetails) : ErrorDetail;} + {_isMoveEligible = If( json?.PropertyT("isMoveEligible"), out var __jsonIsMoveEligible) ? (bool?)__jsonIsMoveEligible : IsMoveEligible;} + AfterFromJson(json); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ValidateSubscriptionTransferEligibilityError.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/ValidateSubscriptionTransferEligibilityError.PowerShell.cs new file mode 100644 index 000000000000..00d0b8255ad1 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ValidateSubscriptionTransferEligibilityError.PowerShell.cs @@ -0,0 +1,165 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// Error details of the transfer eligibility validation + [System.ComponentModel.TypeConverter(typeof(ValidateSubscriptionTransferEligibilityErrorTypeConverter))] + public partial class ValidateSubscriptionTransferEligibilityError + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityError DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new ValidateSubscriptionTransferEligibilityError(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityError DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new ValidateSubscriptionTransferEligibilityError(content); + } + + /// + /// Creates a new instance of , deserializing the content from + /// a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// + /// an instance of the model class. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityError FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal ValidateSubscriptionTransferEligibilityError(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Code")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityErrorInternal)this).Code = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode?) content.GetValueForProperty("Code",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityErrorInternal)this).Code, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode.CreateFrom); + } + if (content.Contains("Message")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityErrorInternal)this).Message = (string) content.GetValueForProperty("Message",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityErrorInternal)this).Message, global::System.Convert.ToString); + } + if (content.Contains("Detail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityErrorInternal)this).Detail = (string) content.GetValueForProperty("Detail",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityErrorInternal)this).Detail, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal ValidateSubscriptionTransferEligibilityError(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Code")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityErrorInternal)this).Code = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode?) content.GetValueForProperty("Code",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityErrorInternal)this).Code, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode.CreateFrom); + } + if (content.Contains("Message")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityErrorInternal)this).Message = (string) content.GetValueForProperty("Message",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityErrorInternal)this).Message, global::System.Convert.ToString); + } + if (content.Contains("Detail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityErrorInternal)this).Detail = (string) content.GetValueForProperty("Detail",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityErrorInternal)this).Detail, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + } + /// Error details of the transfer eligibility validation + [System.ComponentModel.TypeConverter(typeof(ValidateSubscriptionTransferEligibilityErrorTypeConverter))] + public partial interface IValidateSubscriptionTransferEligibilityError + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ValidateSubscriptionTransferEligibilityError.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/ValidateSubscriptionTransferEligibilityError.TypeConverter.cs new file mode 100644 index 000000000000..36f36089ea93 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ValidateSubscriptionTransferEligibilityError.TypeConverter.cs @@ -0,0 +1,151 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class ValidateSubscriptionTransferEligibilityErrorTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, + /// otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityError ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityError).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return ValidateSubscriptionTransferEligibilityError.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return ValidateSubscriptionTransferEligibilityError.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return ValidateSubscriptionTransferEligibilityError.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ValidateSubscriptionTransferEligibilityError.cs b/swaggerci/billing/generated/api/Models/Api20200501/ValidateSubscriptionTransferEligibilityError.cs new file mode 100644 index 000000000000..f05b23230a2e --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ValidateSubscriptionTransferEligibilityError.cs @@ -0,0 +1,87 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// Error details of the transfer eligibility validation + public partial class ValidateSubscriptionTransferEligibilityError : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityError, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityErrorInternal + { + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode? _code; + + /// Error code for the product transfer validation. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode? Code { get => this._code; set => this._code = value; } + + /// Backing field for property. + private string _detail; + + /// Detailed error message explaining the error. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Detail { get => this._detail; set => this._detail = value; } + + /// Backing field for property. + private string _message; + + /// The error message. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Message { get => this._message; set => this._message = value; } + + /// + /// Creates an new instance. + /// + public ValidateSubscriptionTransferEligibilityError() + { + + } + } + /// Error details of the transfer eligibility validation + public partial interface IValidateSubscriptionTransferEligibilityError : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// Error code for the product transfer validation. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Error code for the product transfer validation.", + SerializedName = @"code", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode? Code { get; set; } + /// Detailed error message explaining the error. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Detailed error message explaining the error.", + SerializedName = @"details", + PossibleTypes = new [] { typeof(string) })] + string Detail { get; set; } + /// The error message. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The error message.", + SerializedName = @"message", + PossibleTypes = new [] { typeof(string) })] + string Message { get; set; } + + } + /// Error details of the transfer eligibility validation + internal partial interface IValidateSubscriptionTransferEligibilityErrorInternal + + { + /// Error code for the product transfer validation. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode? Code { get; set; } + /// Detailed error message explaining the error. + string Detail { get; set; } + /// The error message. + string Message { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ValidateSubscriptionTransferEligibilityError.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/ValidateSubscriptionTransferEligibilityError.json.cs new file mode 100644 index 000000000000..06c68e2d3946 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ValidateSubscriptionTransferEligibilityError.json.cs @@ -0,0 +1,115 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// Error details of the transfer eligibility validation + public partial class ValidateSubscriptionTransferEligibilityError + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityError. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityError. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityError FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new ValidateSubscriptionTransferEligibilityError(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != (((object)this._code)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._code.ToString()) : null, "code" ,container.Add ); + AddIf( null != (((object)this._message)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._message.ToString()) : null, "message" ,container.Add ); + AddIf( null != (((object)this._detail)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._detail.ToString()) : null, "details" ,container.Add ); + AfterToJson(ref container); + return container; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal ValidateSubscriptionTransferEligibilityError(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_code = If( json?.PropertyT("code"), out var __jsonCode) ? (string)__jsonCode : (string)Code;} + {_message = If( json?.PropertyT("message"), out var __jsonMessage) ? (string)__jsonMessage : (string)Message;} + {_detail = If( json?.PropertyT("details"), out var __jsonDetails) ? (string)__jsonDetails : (string)Detail;} + AfterFromJson(json); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ValidateSubscriptionTransferEligibilityResult.PowerShell.cs b/swaggerci/billing/generated/api/Models/Api20200501/ValidateSubscriptionTransferEligibilityResult.PowerShell.cs new file mode 100644 index 000000000000..382998df1762 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ValidateSubscriptionTransferEligibilityResult.PowerShell.cs @@ -0,0 +1,181 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// Result of the transfer eligibility validation. + [System.ComponentModel.TypeConverter(typeof(ValidateSubscriptionTransferEligibilityResultTypeConverter))] + public partial class ValidateSubscriptionTransferEligibilityResult + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResult DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new ValidateSubscriptionTransferEligibilityResult(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResult DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new ValidateSubscriptionTransferEligibilityResult(content); + } + + /// + /// Creates a new instance of , deserializing the content from + /// a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// + /// an instance of the model class. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResult FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal ValidateSubscriptionTransferEligibilityResult(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("ErrorDetail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResultInternal)this).ErrorDetail = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityError) content.GetValueForProperty("ErrorDetail",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResultInternal)this).ErrorDetail, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ValidateSubscriptionTransferEligibilityErrorTypeConverter.ConvertFrom); + } + if (content.Contains("IsMoveEligible")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResultInternal)this).IsMoveEligible = (bool?) content.GetValueForProperty("IsMoveEligible",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResultInternal)this).IsMoveEligible, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("ErrorDetailCode")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResultInternal)this).ErrorDetailCode = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode?) content.GetValueForProperty("ErrorDetailCode",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResultInternal)this).ErrorDetailCode, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode.CreateFrom); + } + if (content.Contains("ErrorDetailMessage")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResultInternal)this).ErrorDetailMessage = (string) content.GetValueForProperty("ErrorDetailMessage",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResultInternal)this).ErrorDetailMessage, global::System.Convert.ToString); + } + if (content.Contains("ErrorDetailsDetails")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResultInternal)this).ErrorDetailsDetails = (string) content.GetValueForProperty("ErrorDetailsDetails",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResultInternal)this).ErrorDetailsDetails, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal ValidateSubscriptionTransferEligibilityResult(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("ErrorDetail")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResultInternal)this).ErrorDetail = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityError) content.GetValueForProperty("ErrorDetail",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResultInternal)this).ErrorDetail, Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ValidateSubscriptionTransferEligibilityErrorTypeConverter.ConvertFrom); + } + if (content.Contains("IsMoveEligible")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResultInternal)this).IsMoveEligible = (bool?) content.GetValueForProperty("IsMoveEligible",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResultInternal)this).IsMoveEligible, (__y)=> (bool) global::System.Convert.ChangeType(__y, typeof(bool))); + } + if (content.Contains("ErrorDetailCode")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResultInternal)this).ErrorDetailCode = (Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode?) content.GetValueForProperty("ErrorDetailCode",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResultInternal)this).ErrorDetailCode, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode.CreateFrom); + } + if (content.Contains("ErrorDetailMessage")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResultInternal)this).ErrorDetailMessage = (string) content.GetValueForProperty("ErrorDetailMessage",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResultInternal)this).ErrorDetailMessage, global::System.Convert.ToString); + } + if (content.Contains("ErrorDetailsDetails")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResultInternal)this).ErrorDetailsDetails = (string) content.GetValueForProperty("ErrorDetailsDetails",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResultInternal)this).ErrorDetailsDetails, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + } + /// Result of the transfer eligibility validation. + [System.ComponentModel.TypeConverter(typeof(ValidateSubscriptionTransferEligibilityResultTypeConverter))] + public partial interface IValidateSubscriptionTransferEligibilityResult + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ValidateSubscriptionTransferEligibilityResult.TypeConverter.cs b/swaggerci/billing/generated/api/Models/Api20200501/ValidateSubscriptionTransferEligibilityResult.TypeConverter.cs new file mode 100644 index 000000000000..54df69a10f8e --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ValidateSubscriptionTransferEligibilityResult.TypeConverter.cs @@ -0,0 +1,151 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class ValidateSubscriptionTransferEligibilityResultTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, + /// otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResult ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResult).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return ValidateSubscriptionTransferEligibilityResult.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return ValidateSubscriptionTransferEligibilityResult.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return ValidateSubscriptionTransferEligibilityResult.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ValidateSubscriptionTransferEligibilityResult.cs b/swaggerci/billing/generated/api/Models/Api20200501/ValidateSubscriptionTransferEligibilityResult.cs new file mode 100644 index 000000000000..9bbc654bf9d7 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ValidateSubscriptionTransferEligibilityResult.cs @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// Result of the transfer eligibility validation. + public partial class ValidateSubscriptionTransferEligibilityResult : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResult, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResultInternal + { + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityError _errorDetail; + + /// Validation error details. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + internal Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityError ErrorDetail { get => (this._errorDetail = this._errorDetail ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ValidateSubscriptionTransferEligibilityError()); set => this._errorDetail = value; } + + /// Error code for the product transfer validation. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode? ErrorDetailCode { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityErrorInternal)ErrorDetail).Code; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityErrorInternal)ErrorDetail).Code = value ?? ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode)""); } + + /// The error message. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string ErrorDetailMessage { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityErrorInternal)ErrorDetail).Message; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityErrorInternal)ErrorDetail).Message = value ?? null; } + + /// Detailed error message explaining the error. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Inlined)] + public string ErrorDetailsDetails { get => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityErrorInternal)ErrorDetail).Detail; set => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityErrorInternal)ErrorDetail).Detail = value ?? null; } + + /// Backing field for property. + private bool? _isMoveEligible; + + /// Specifies whether the subscription is eligible to be transferred. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public bool? IsMoveEligible { get => this._isMoveEligible; } + + /// Internal Acessors for ErrorDetail + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityError Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResultInternal.ErrorDetail { get => (this._errorDetail = this._errorDetail ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ValidateSubscriptionTransferEligibilityError()); set { {_errorDetail = value;} } } + + /// Internal Acessors for IsMoveEligible + bool? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResultInternal.IsMoveEligible { get => this._isMoveEligible; set { {_isMoveEligible = value;} } } + + /// + /// Creates an new instance. + /// + public ValidateSubscriptionTransferEligibilityResult() + { + + } + } + /// Result of the transfer eligibility validation. + public partial interface IValidateSubscriptionTransferEligibilityResult : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// Error code for the product transfer validation. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Error code for the product transfer validation.", + SerializedName = @"code", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode) })] + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode? ErrorDetailCode { get; set; } + /// The error message. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The error message.", + SerializedName = @"message", + PossibleTypes = new [] { typeof(string) })] + string ErrorDetailMessage { get; set; } + /// Detailed error message explaining the error. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Detailed error message explaining the error.", + SerializedName = @"details", + PossibleTypes = new [] { typeof(string) })] + string ErrorDetailsDetails { get; set; } + /// Specifies whether the subscription is eligible to be transferred. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = true, + Description = @"Specifies whether the subscription is eligible to be transferred.", + SerializedName = @"isMoveEligible", + PossibleTypes = new [] { typeof(bool) })] + bool? IsMoveEligible { get; } + + } + /// Result of the transfer eligibility validation. + internal partial interface IValidateSubscriptionTransferEligibilityResultInternal + + { + /// Validation error details. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityError ErrorDetail { get; set; } + /// Error code for the product transfer validation. + Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode? ErrorDetailCode { get; set; } + /// The error message. + string ErrorDetailMessage { get; set; } + /// Detailed error message explaining the error. + string ErrorDetailsDetails { get; set; } + /// Specifies whether the subscription is eligible to be transferred. + bool? IsMoveEligible { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/Api20200501/ValidateSubscriptionTransferEligibilityResult.json.cs b/swaggerci/billing/generated/api/Models/Api20200501/ValidateSubscriptionTransferEligibilityResult.json.cs new file mode 100644 index 000000000000..033f267a4707 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/Api20200501/ValidateSubscriptionTransferEligibilityResult.json.cs @@ -0,0 +1,116 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501 +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + /// Result of the transfer eligibility validation. + public partial class ValidateSubscriptionTransferEligibilityResult + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResult. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResult. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResult FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new ValidateSubscriptionTransferEligibilityResult(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != this._errorDetail ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) this._errorDetail.ToJson(null,serializationMode) : null, "errorDetails" ,container.Add ); + if (serializationMode.HasFlag(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeReadOnly)) + { + AddIf( null != this._isMoveEligible ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode)new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonBoolean((bool)this._isMoveEligible) : null, "isMoveEligible" ,container.Add ); + } + AfterToJson(ref container); + return container; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal ValidateSubscriptionTransferEligibilityResult(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_errorDetail = If( json?.PropertyT("errorDetails"), out var __jsonErrorDetails) ? Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ValidateSubscriptionTransferEligibilityError.FromJson(__jsonErrorDetails) : ErrorDetail;} + {_isMoveEligible = If( json?.PropertyT("isMoveEligible"), out var __jsonIsMoveEligible) ? (bool?)__jsonIsMoveEligible : IsMoveEligible;} + AfterFromJson(json); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/BillingIdentity.PowerShell.cs b/swaggerci/billing/generated/api/Models/BillingIdentity.PowerShell.cs new file mode 100644 index 000000000000..da20373d30a1 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/BillingIdentity.PowerShell.cs @@ -0,0 +1,246 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + [System.ComponentModel.TypeConverter(typeof(BillingIdentityTypeConverter))] + public partial class BillingIdentity + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal BillingIdentity(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("BillingAccountName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).BillingAccountName = (string) content.GetValueForProperty("BillingAccountName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).BillingAccountName, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).BillingProfileName = (string) content.GetValueForProperty("BillingProfileName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).BillingProfileName, global::System.Convert.ToString); + } + if (content.Contains("InstructionName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).InstructionName = (string) content.GetValueForProperty("InstructionName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).InstructionName, global::System.Convert.ToString); + } + if (content.Contains("CustomerName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).CustomerName = (string) content.GetValueForProperty("CustomerName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).CustomerName, global::System.Convert.ToString); + } + if (content.Contains("InvoiceSectionName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).InvoiceSectionName = (string) content.GetValueForProperty("InvoiceSectionName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).InvoiceSectionName, global::System.Convert.ToString); + } + if (content.Contains("SubscriptionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).SubscriptionId = (string) content.GetValueForProperty("SubscriptionId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).SubscriptionId, global::System.Convert.ToString); + } + if (content.Contains("ProductName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).ProductName = (string) content.GetValueForProperty("ProductName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).ProductName, global::System.Convert.ToString); + } + if (content.Contains("InvoiceName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).InvoiceName = (string) content.GetValueForProperty("InvoiceName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).InvoiceName, global::System.Convert.ToString); + } + if (content.Contains("BillingRoleDefinitionName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).BillingRoleDefinitionName = (string) content.GetValueForProperty("BillingRoleDefinitionName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).BillingRoleDefinitionName, global::System.Convert.ToString); + } + if (content.Contains("BillingRoleAssignmentName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).BillingRoleAssignmentName = (string) content.GetValueForProperty("BillingRoleAssignmentName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).BillingRoleAssignmentName, global::System.Convert.ToString); + } + if (content.Contains("AgreementName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).AgreementName = (string) content.GetValueForProperty("AgreementName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).AgreementName, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("BillingPeriodName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).BillingPeriodName = (string) content.GetValueForProperty("BillingPeriodName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).BillingPeriodName, global::System.Convert.ToString); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).Id, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal BillingIdentity(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("BillingAccountName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).BillingAccountName = (string) content.GetValueForProperty("BillingAccountName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).BillingAccountName, global::System.Convert.ToString); + } + if (content.Contains("BillingProfileName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).BillingProfileName = (string) content.GetValueForProperty("BillingProfileName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).BillingProfileName, global::System.Convert.ToString); + } + if (content.Contains("InstructionName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).InstructionName = (string) content.GetValueForProperty("InstructionName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).InstructionName, global::System.Convert.ToString); + } + if (content.Contains("CustomerName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).CustomerName = (string) content.GetValueForProperty("CustomerName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).CustomerName, global::System.Convert.ToString); + } + if (content.Contains("InvoiceSectionName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).InvoiceSectionName = (string) content.GetValueForProperty("InvoiceSectionName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).InvoiceSectionName, global::System.Convert.ToString); + } + if (content.Contains("SubscriptionId")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).SubscriptionId = (string) content.GetValueForProperty("SubscriptionId",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).SubscriptionId, global::System.Convert.ToString); + } + if (content.Contains("ProductName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).ProductName = (string) content.GetValueForProperty("ProductName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).ProductName, global::System.Convert.ToString); + } + if (content.Contains("InvoiceName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).InvoiceName = (string) content.GetValueForProperty("InvoiceName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).InvoiceName, global::System.Convert.ToString); + } + if (content.Contains("BillingRoleDefinitionName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).BillingRoleDefinitionName = (string) content.GetValueForProperty("BillingRoleDefinitionName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).BillingRoleDefinitionName, global::System.Convert.ToString); + } + if (content.Contains("BillingRoleAssignmentName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).BillingRoleAssignmentName = (string) content.GetValueForProperty("BillingRoleAssignmentName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).BillingRoleAssignmentName, global::System.Convert.ToString); + } + if (content.Contains("AgreementName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).AgreementName = (string) content.GetValueForProperty("AgreementName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).AgreementName, global::System.Convert.ToString); + } + if (content.Contains("Name")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).Name = (string) content.GetValueForProperty("Name",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).Name, global::System.Convert.ToString); + } + if (content.Contains("BillingPeriodName")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).BillingPeriodName = (string) content.GetValueForProperty("BillingPeriodName",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).BillingPeriodName, global::System.Convert.ToString); + } + if (content.Contains("Id")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).Id = (string) content.GetValueForProperty("Id",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal)this).Id, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new BillingIdentity(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new BillingIdentity(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + [System.ComponentModel.TypeConverter(typeof(BillingIdentityTypeConverter))] + public partial interface IBillingIdentity + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/BillingIdentity.TypeConverter.cs b/swaggerci/billing/generated/api/Models/BillingIdentity.TypeConverter.cs new file mode 100644 index 000000000000..61c312edc26a --- /dev/null +++ b/swaggerci/billing/generated/api/Models/BillingIdentity.TypeConverter.cs @@ -0,0 +1,157 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class BillingIdentityTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + // we allow string conversion too. + if (type == typeof(global::System.String)) + { + return true; + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + // support direct string to id type conversion. + if (type == typeof(global::System.String)) + { + return new BillingIdentity { Id = sourceValue }; + } + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return BillingIdentity.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return BillingIdentity.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return BillingIdentity.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/BillingIdentity.cs b/swaggerci/billing/generated/api/Models/BillingIdentity.cs new file mode 100644 index 000000000000..ac2435820b9b --- /dev/null +++ b/swaggerci/billing/generated/api/Models/BillingIdentity.cs @@ -0,0 +1,269 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + public partial class BillingIdentity : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentityInternal + { + + /// Backing field for property. + private string _agreementName; + + /// The ID that uniquely identifies an agreement. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string AgreementName { get => this._agreementName; set => this._agreementName = value; } + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Backing field for property. + private string _billingPeriodName; + + /// The name of a BillingPeriod resource. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string BillingPeriodName { get => this._billingPeriodName; set => this._billingPeriodName = value; } + + /// Backing field for property. + private string _billingProfileName; + + /// The ID that uniquely identifies a billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string BillingProfileName { get => this._billingProfileName; set => this._billingProfileName = value; } + + /// Backing field for property. + private string _billingRoleAssignmentName; + + /// The ID that uniquely identifies a role assignment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string BillingRoleAssignmentName { get => this._billingRoleAssignmentName; set => this._billingRoleAssignmentName = value; } + + /// Backing field for property. + private string _billingRoleDefinitionName; + + /// The ID that uniquely identifies a role definition. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string BillingRoleDefinitionName { get => this._billingRoleDefinitionName; set => this._billingRoleDefinitionName = value; } + + /// Backing field for property. + private string _customerName; + + /// The ID that uniquely identifies a customer. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string CustomerName { get => this._customerName; set => this._customerName = value; } + + /// Backing field for property. + private string _id; + + /// Resource identity path + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Id { get => this._id; set => this._id = value; } + + /// Backing field for property. + private string _instructionName; + + /// Instruction Name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string InstructionName { get => this._instructionName; set => this._instructionName = value; } + + /// Backing field for property. + private string _invoiceName; + + /// The ID that uniquely identifies an invoice. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string InvoiceName { get => this._invoiceName; set => this._invoiceName = value; } + + /// Backing field for property. + private string _invoiceSectionName; + + /// The ID that uniquely identifies an invoice section. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string InvoiceSectionName { get => this._invoiceSectionName; set => this._invoiceSectionName = value; } + + /// Backing field for property. + private string _name; + + /// Enrollment Account name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Name { get => this._name; set => this._name = value; } + + /// Backing field for property. + private string _productName; + + /// The ID that uniquely identifies a product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string ProductName { get => this._productName; set => this._productName = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID that uniquely identifies an Azure subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// Creates an new instance. + public BillingIdentity() + { + + } + } + public partial interface IBillingIdentity : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable + { + /// The ID that uniquely identifies an agreement. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The ID that uniquely identifies an agreement.", + SerializedName = @"agreementName", + PossibleTypes = new [] { typeof(string) })] + string AgreementName { get; set; } + /// The ID that uniquely identifies a billing account. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + string BillingAccountName { get; set; } + /// The name of a BillingPeriod resource. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of a BillingPeriod resource.", + SerializedName = @"billingPeriodName", + PossibleTypes = new [] { typeof(string) })] + string BillingPeriodName { get; set; } + /// The ID that uniquely identifies a billing profile. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing profile.", + SerializedName = @"billingProfileName", + PossibleTypes = new [] { typeof(string) })] + string BillingProfileName { get; set; } + /// The ID that uniquely identifies a role assignment. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The ID that uniquely identifies a role assignment.", + SerializedName = @"billingRoleAssignmentName", + PossibleTypes = new [] { typeof(string) })] + string BillingRoleAssignmentName { get; set; } + /// The ID that uniquely identifies a role definition. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The ID that uniquely identifies a role definition.", + SerializedName = @"billingRoleDefinitionName", + PossibleTypes = new [] { typeof(string) })] + string BillingRoleDefinitionName { get; set; } + /// The ID that uniquely identifies a customer. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The ID that uniquely identifies a customer.", + SerializedName = @"customerName", + PossibleTypes = new [] { typeof(string) })] + string CustomerName { get; set; } + /// Resource identity path + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Resource identity path", + SerializedName = @"id", + PossibleTypes = new [] { typeof(string) })] + string Id { get; set; } + /// Instruction Name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Instruction Name.", + SerializedName = @"instructionName", + PossibleTypes = new [] { typeof(string) })] + string InstructionName { get; set; } + /// The ID that uniquely identifies an invoice. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The ID that uniquely identifies an invoice.", + SerializedName = @"invoiceName", + PossibleTypes = new [] { typeof(string) })] + string InvoiceName { get; set; } + /// The ID that uniquely identifies an invoice section. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The ID that uniquely identifies an invoice section.", + SerializedName = @"invoiceSectionName", + PossibleTypes = new [] { typeof(string) })] + string InvoiceSectionName { get; set; } + /// Enrollment Account name. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Enrollment Account name.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + string Name { get; set; } + /// The ID that uniquely identifies a product. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The ID that uniquely identifies a product.", + SerializedName = @"productName", + PossibleTypes = new [] { typeof(string) })] + string ProductName { get; set; } + /// The ID that uniquely identifies an Azure subscription. + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The ID that uniquely identifies an Azure subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + string SubscriptionId { get; set; } + + } + internal partial interface IBillingIdentityInternal + + { + /// The ID that uniquely identifies an agreement. + string AgreementName { get; set; } + /// The ID that uniquely identifies a billing account. + string BillingAccountName { get; set; } + /// The name of a BillingPeriod resource. + string BillingPeriodName { get; set; } + /// The ID that uniquely identifies a billing profile. + string BillingProfileName { get; set; } + /// The ID that uniquely identifies a role assignment. + string BillingRoleAssignmentName { get; set; } + /// The ID that uniquely identifies a role definition. + string BillingRoleDefinitionName { get; set; } + /// The ID that uniquely identifies a customer. + string CustomerName { get; set; } + /// Resource identity path + string Id { get; set; } + /// Instruction Name. + string InstructionName { get; set; } + /// The ID that uniquely identifies an invoice. + string InvoiceName { get; set; } + /// The ID that uniquely identifies an invoice section. + string InvoiceSectionName { get; set; } + /// Enrollment Account name. + string Name { get; set; } + /// The ID that uniquely identifies a product. + string ProductName { get; set; } + /// The ID that uniquely identifies an Azure subscription. + string SubscriptionId { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/BillingIdentity.json.cs b/swaggerci/billing/generated/api/Models/BillingIdentity.json.cs new file mode 100644 index 000000000000..4106d940b76f --- /dev/null +++ b/swaggerci/billing/generated/api/Models/BillingIdentity.json.cs @@ -0,0 +1,133 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + public partial class BillingIdentity + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal BillingIdentity(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + {_billingAccountName = If( json?.PropertyT("billingAccountName"), out var __jsonBillingAccountName) ? (string)__jsonBillingAccountName : (string)BillingAccountName;} + {_billingProfileName = If( json?.PropertyT("billingProfileName"), out var __jsonBillingProfileName) ? (string)__jsonBillingProfileName : (string)BillingProfileName;} + {_instructionName = If( json?.PropertyT("instructionName"), out var __jsonInstructionName) ? (string)__jsonInstructionName : (string)InstructionName;} + {_customerName = If( json?.PropertyT("customerName"), out var __jsonCustomerName) ? (string)__jsonCustomerName : (string)CustomerName;} + {_invoiceSectionName = If( json?.PropertyT("invoiceSectionName"), out var __jsonInvoiceSectionName) ? (string)__jsonInvoiceSectionName : (string)InvoiceSectionName;} + {_subscriptionId = If( json?.PropertyT("subscriptionId"), out var __jsonSubscriptionId) ? (string)__jsonSubscriptionId : (string)SubscriptionId;} + {_productName = If( json?.PropertyT("productName"), out var __jsonProductName) ? (string)__jsonProductName : (string)ProductName;} + {_invoiceName = If( json?.PropertyT("invoiceName"), out var __jsonInvoiceName) ? (string)__jsonInvoiceName : (string)InvoiceName;} + {_billingRoleDefinitionName = If( json?.PropertyT("billingRoleDefinitionName"), out var __jsonBillingRoleDefinitionName) ? (string)__jsonBillingRoleDefinitionName : (string)BillingRoleDefinitionName;} + {_billingRoleAssignmentName = If( json?.PropertyT("billingRoleAssignmentName"), out var __jsonBillingRoleAssignmentName) ? (string)__jsonBillingRoleAssignmentName : (string)BillingRoleAssignmentName;} + {_agreementName = If( json?.PropertyT("agreementName"), out var __jsonAgreementName) ? (string)__jsonAgreementName : (string)AgreementName;} + {_name = If( json?.PropertyT("name"), out var __jsonName) ? (string)__jsonName : (string)Name;} + {_billingPeriodName = If( json?.PropertyT("billingPeriodName"), out var __jsonBillingPeriodName) ? (string)__jsonBillingPeriodName : (string)BillingPeriodName;} + {_id = If( json?.PropertyT("id"), out var __jsonId) ? (string)__jsonId : (string)Id;} + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new BillingIdentity(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AddIf( null != (((object)this._billingAccountName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._billingAccountName.ToString()) : null, "billingAccountName" ,container.Add ); + AddIf( null != (((object)this._billingProfileName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._billingProfileName.ToString()) : null, "billingProfileName" ,container.Add ); + AddIf( null != (((object)this._instructionName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._instructionName.ToString()) : null, "instructionName" ,container.Add ); + AddIf( null != (((object)this._customerName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._customerName.ToString()) : null, "customerName" ,container.Add ); + AddIf( null != (((object)this._invoiceSectionName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._invoiceSectionName.ToString()) : null, "invoiceSectionName" ,container.Add ); + AddIf( null != (((object)this._subscriptionId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._subscriptionId.ToString()) : null, "subscriptionId" ,container.Add ); + AddIf( null != (((object)this._productName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._productName.ToString()) : null, "productName" ,container.Add ); + AddIf( null != (((object)this._invoiceName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._invoiceName.ToString()) : null, "invoiceName" ,container.Add ); + AddIf( null != (((object)this._billingRoleDefinitionName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._billingRoleDefinitionName.ToString()) : null, "billingRoleDefinitionName" ,container.Add ); + AddIf( null != (((object)this._billingRoleAssignmentName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._billingRoleAssignmentName.ToString()) : null, "billingRoleAssignmentName" ,container.Add ); + AddIf( null != (((object)this._agreementName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._agreementName.ToString()) : null, "agreementName" ,container.Add ); + AddIf( null != (((object)this._name)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._name.ToString()) : null, "name" ,container.Add ); + AddIf( null != (((object)this._billingPeriodName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._billingPeriodName.ToString()) : null, "billingPeriodName" ,container.Add ); + AddIf( null != (((object)this._id)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonString(this._id.ToString()) : null, "id" ,container.Add ); + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/BillingProfilesCreateOrUpdateAcceptedResponseHeaders.PowerShell.cs b/swaggerci/billing/generated/api/Models/BillingProfilesCreateOrUpdateAcceptedResponseHeaders.PowerShell.cs new file mode 100644 index 000000000000..f1896eac52cc --- /dev/null +++ b/swaggerci/billing/generated/api/Models/BillingProfilesCreateOrUpdateAcceptedResponseHeaders.PowerShell.cs @@ -0,0 +1,155 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + [System.ComponentModel.TypeConverter(typeof(BillingProfilesCreateOrUpdateAcceptedResponseHeadersTypeConverter))] + public partial class BillingProfilesCreateOrUpdateAcceptedResponseHeaders + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal BillingProfilesCreateOrUpdateAcceptedResponseHeaders(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Location")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingProfilesCreateOrUpdateAcceptedResponseHeadersInternal)this).Location = (string) content.GetValueForProperty("Location",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingProfilesCreateOrUpdateAcceptedResponseHeadersInternal)this).Location, global::System.Convert.ToString); + } + if (content.Contains("RetryAfter")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingProfilesCreateOrUpdateAcceptedResponseHeadersInternal)this).RetryAfter = (int?) content.GetValueForProperty("RetryAfter",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingProfilesCreateOrUpdateAcceptedResponseHeadersInternal)this).RetryAfter, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal BillingProfilesCreateOrUpdateAcceptedResponseHeaders(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Location")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingProfilesCreateOrUpdateAcceptedResponseHeadersInternal)this).Location = (string) content.GetValueForProperty("Location",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingProfilesCreateOrUpdateAcceptedResponseHeadersInternal)this).Location, global::System.Convert.ToString); + } + if (content.Contains("RetryAfter")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingProfilesCreateOrUpdateAcceptedResponseHeadersInternal)this).RetryAfter = (int?) content.GetValueForProperty("RetryAfter",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingProfilesCreateOrUpdateAcceptedResponseHeadersInternal)this).RetryAfter, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingProfilesCreateOrUpdateAcceptedResponseHeaders DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new BillingProfilesCreateOrUpdateAcceptedResponseHeaders(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingProfilesCreateOrUpdateAcceptedResponseHeaders DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new BillingProfilesCreateOrUpdateAcceptedResponseHeaders(content); + } + + /// + /// Creates a new instance of , deserializing the content + /// from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// + /// an instance of the model class. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingProfilesCreateOrUpdateAcceptedResponseHeaders FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + [System.ComponentModel.TypeConverter(typeof(BillingProfilesCreateOrUpdateAcceptedResponseHeadersTypeConverter))] + public partial interface IBillingProfilesCreateOrUpdateAcceptedResponseHeaders + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/BillingProfilesCreateOrUpdateAcceptedResponseHeaders.TypeConverter.cs b/swaggerci/billing/generated/api/Models/BillingProfilesCreateOrUpdateAcceptedResponseHeaders.TypeConverter.cs new file mode 100644 index 000000000000..3b7873b38d5f --- /dev/null +++ b/swaggerci/billing/generated/api/Models/BillingProfilesCreateOrUpdateAcceptedResponseHeaders.TypeConverter.cs @@ -0,0 +1,153 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class BillingProfilesCreateOrUpdateAcceptedResponseHeadersTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a + /// type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable + /// conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable + /// conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingProfilesCreateOrUpdateAcceptedResponseHeaders ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingProfilesCreateOrUpdateAcceptedResponseHeaders).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return BillingProfilesCreateOrUpdateAcceptedResponseHeaders.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return BillingProfilesCreateOrUpdateAcceptedResponseHeaders.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return BillingProfilesCreateOrUpdateAcceptedResponseHeaders.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/BillingProfilesCreateOrUpdateAcceptedResponseHeaders.cs b/swaggerci/billing/generated/api/Models/BillingProfilesCreateOrUpdateAcceptedResponseHeaders.cs new file mode 100644 index 000000000000..844c742ae889 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/BillingProfilesCreateOrUpdateAcceptedResponseHeaders.cs @@ -0,0 +1,77 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + public partial class BillingProfilesCreateOrUpdateAcceptedResponseHeaders : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingProfilesCreateOrUpdateAcceptedResponseHeaders, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingProfilesCreateOrUpdateAcceptedResponseHeadersInternal, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IHeaderSerializable + { + + /// Backing field for property. + private string _location; + + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Location { get => this._location; set => this._location = value; } + + /// Backing field for property. + private int? _retryAfter; + + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public int? RetryAfter { get => this._retryAfter; set => this._retryAfter = value; } + + /// + /// Creates an new instance. + /// + public BillingProfilesCreateOrUpdateAcceptedResponseHeaders() + { + + } + + /// + void Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IHeaderSerializable.ReadHeaders(global::System.Net.Http.Headers.HttpResponseHeaders headers) + { + if (headers.TryGetValues("Location", out var __locationHeader0)) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingProfilesCreateOrUpdateAcceptedResponseHeadersInternal)this).Location = System.Linq.Enumerable.FirstOrDefault(__locationHeader0) is string __headerLocationHeader0 ? __headerLocationHeader0 : (string)null; + } + if (headers.TryGetValues("Retry-After", out var __retryAfterHeader1)) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingProfilesCreateOrUpdateAcceptedResponseHeadersInternal)this).RetryAfter = System.Linq.Enumerable.FirstOrDefault(__retryAfterHeader1) is string __headerRetryAfterHeader1 ? int.TryParse( __headerRetryAfterHeader1, out int __headerRetryAfterHeader1Value ) ? __headerRetryAfterHeader1Value : default(int?) : default(int?); + } + } + } + public partial interface IBillingProfilesCreateOrUpdateAcceptedResponseHeaders + + { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"", + SerializedName = @"Location", + PossibleTypes = new [] { typeof(string) })] + string Location { get; set; } + + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"", + SerializedName = @"Retry-After", + PossibleTypes = new [] { typeof(int) })] + int? RetryAfter { get; set; } + + } + internal partial interface IBillingProfilesCreateOrUpdateAcceptedResponseHeadersInternal + + { + string Location { get; set; } + + int? RetryAfter { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/BillingProfilesCreateOrUpdateAcceptedResponseHeaders.json.cs b/swaggerci/billing/generated/api/Models/BillingProfilesCreateOrUpdateAcceptedResponseHeaders.json.cs new file mode 100644 index 000000000000..19cf9196ace9 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/BillingProfilesCreateOrUpdateAcceptedResponseHeaders.json.cs @@ -0,0 +1,108 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + public partial class BillingProfilesCreateOrUpdateAcceptedResponseHeaders + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal BillingProfilesCreateOrUpdateAcceptedResponseHeaders(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingProfilesCreateOrUpdateAcceptedResponseHeaders. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingProfilesCreateOrUpdateAcceptedResponseHeaders. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingProfilesCreateOrUpdateAcceptedResponseHeaders FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new BillingProfilesCreateOrUpdateAcceptedResponseHeaders(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/BillingSubscriptionsMoveAcceptedResponseHeaders.PowerShell.cs b/swaggerci/billing/generated/api/Models/BillingSubscriptionsMoveAcceptedResponseHeaders.PowerShell.cs new file mode 100644 index 000000000000..f93618e7f69f --- /dev/null +++ b/swaggerci/billing/generated/api/Models/BillingSubscriptionsMoveAcceptedResponseHeaders.PowerShell.cs @@ -0,0 +1,155 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + [System.ComponentModel.TypeConverter(typeof(BillingSubscriptionsMoveAcceptedResponseHeadersTypeConverter))] + public partial class BillingSubscriptionsMoveAcceptedResponseHeaders + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal BillingSubscriptionsMoveAcceptedResponseHeaders(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Location")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingSubscriptionsMoveAcceptedResponseHeadersInternal)this).Location = (string) content.GetValueForProperty("Location",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingSubscriptionsMoveAcceptedResponseHeadersInternal)this).Location, global::System.Convert.ToString); + } + if (content.Contains("RetryAfter")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingSubscriptionsMoveAcceptedResponseHeadersInternal)this).RetryAfter = (int?) content.GetValueForProperty("RetryAfter",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingSubscriptionsMoveAcceptedResponseHeadersInternal)this).RetryAfter, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal BillingSubscriptionsMoveAcceptedResponseHeaders(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Location")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingSubscriptionsMoveAcceptedResponseHeadersInternal)this).Location = (string) content.GetValueForProperty("Location",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingSubscriptionsMoveAcceptedResponseHeadersInternal)this).Location, global::System.Convert.ToString); + } + if (content.Contains("RetryAfter")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingSubscriptionsMoveAcceptedResponseHeadersInternal)this).RetryAfter = (int?) content.GetValueForProperty("RetryAfter",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingSubscriptionsMoveAcceptedResponseHeadersInternal)this).RetryAfter, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + AfterDeserializePSObject(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingSubscriptionsMoveAcceptedResponseHeaders DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new BillingSubscriptionsMoveAcceptedResponseHeaders(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingSubscriptionsMoveAcceptedResponseHeaders DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new BillingSubscriptionsMoveAcceptedResponseHeaders(content); + } + + /// + /// Creates a new instance of , deserializing the content from + /// a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// + /// an instance of the model class. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingSubscriptionsMoveAcceptedResponseHeaders FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + [System.ComponentModel.TypeConverter(typeof(BillingSubscriptionsMoveAcceptedResponseHeadersTypeConverter))] + public partial interface IBillingSubscriptionsMoveAcceptedResponseHeaders + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/BillingSubscriptionsMoveAcceptedResponseHeaders.TypeConverter.cs b/swaggerci/billing/generated/api/Models/BillingSubscriptionsMoveAcceptedResponseHeaders.TypeConverter.cs new file mode 100644 index 000000000000..6279e0380b78 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/BillingSubscriptionsMoveAcceptedResponseHeaders.TypeConverter.cs @@ -0,0 +1,153 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class BillingSubscriptionsMoveAcceptedResponseHeadersTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, + /// otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable + /// conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable + /// conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingSubscriptionsMoveAcceptedResponseHeaders ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingSubscriptionsMoveAcceptedResponseHeaders).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return BillingSubscriptionsMoveAcceptedResponseHeaders.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return BillingSubscriptionsMoveAcceptedResponseHeaders.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return BillingSubscriptionsMoveAcceptedResponseHeaders.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/BillingSubscriptionsMoveAcceptedResponseHeaders.cs b/swaggerci/billing/generated/api/Models/BillingSubscriptionsMoveAcceptedResponseHeaders.cs new file mode 100644 index 000000000000..a3493938ee9d --- /dev/null +++ b/swaggerci/billing/generated/api/Models/BillingSubscriptionsMoveAcceptedResponseHeaders.cs @@ -0,0 +1,77 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + public partial class BillingSubscriptionsMoveAcceptedResponseHeaders : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingSubscriptionsMoveAcceptedResponseHeaders, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingSubscriptionsMoveAcceptedResponseHeadersInternal, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IHeaderSerializable + { + + /// Backing field for property. + private string _location; + + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Location { get => this._location; set => this._location = value; } + + /// Backing field for property. + private int? _retryAfter; + + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public int? RetryAfter { get => this._retryAfter; set => this._retryAfter = value; } + + /// + /// Creates an new instance. + /// + public BillingSubscriptionsMoveAcceptedResponseHeaders() + { + + } + + /// + void Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IHeaderSerializable.ReadHeaders(global::System.Net.Http.Headers.HttpResponseHeaders headers) + { + if (headers.TryGetValues("Location", out var __locationHeader0)) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingSubscriptionsMoveAcceptedResponseHeadersInternal)this).Location = System.Linq.Enumerable.FirstOrDefault(__locationHeader0) is string __headerLocationHeader0 ? __headerLocationHeader0 : (string)null; + } + if (headers.TryGetValues("Retry-After", out var __retryAfterHeader1)) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingSubscriptionsMoveAcceptedResponseHeadersInternal)this).RetryAfter = System.Linq.Enumerable.FirstOrDefault(__retryAfterHeader1) is string __headerRetryAfterHeader1 ? int.TryParse( __headerRetryAfterHeader1, out int __headerRetryAfterHeader1Value ) ? __headerRetryAfterHeader1Value : default(int?) : default(int?); + } + } + } + public partial interface IBillingSubscriptionsMoveAcceptedResponseHeaders + + { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"", + SerializedName = @"Location", + PossibleTypes = new [] { typeof(string) })] + string Location { get; set; } + + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"", + SerializedName = @"Retry-After", + PossibleTypes = new [] { typeof(int) })] + int? RetryAfter { get; set; } + + } + internal partial interface IBillingSubscriptionsMoveAcceptedResponseHeadersInternal + + { + string Location { get; set; } + + int? RetryAfter { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/BillingSubscriptionsMoveAcceptedResponseHeaders.json.cs b/swaggerci/billing/generated/api/Models/BillingSubscriptionsMoveAcceptedResponseHeaders.json.cs new file mode 100644 index 000000000000..e95d6d4afec4 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/BillingSubscriptionsMoveAcceptedResponseHeaders.json.cs @@ -0,0 +1,108 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + public partial class BillingSubscriptionsMoveAcceptedResponseHeaders + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal BillingSubscriptionsMoveAcceptedResponseHeaders(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + AfterFromJson(json); + } + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingSubscriptionsMoveAcceptedResponseHeaders. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingSubscriptionsMoveAcceptedResponseHeaders. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingSubscriptionsMoveAcceptedResponseHeaders FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new BillingSubscriptionsMoveAcceptedResponseHeaders(json) : null; + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/InvoiceSectionsCreateOrUpdateAcceptedResponseHeaders.PowerShell.cs b/swaggerci/billing/generated/api/Models/InvoiceSectionsCreateOrUpdateAcceptedResponseHeaders.PowerShell.cs new file mode 100644 index 000000000000..e8ace876d949 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/InvoiceSectionsCreateOrUpdateAcceptedResponseHeaders.PowerShell.cs @@ -0,0 +1,155 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + [System.ComponentModel.TypeConverter(typeof(InvoiceSectionsCreateOrUpdateAcceptedResponseHeadersTypeConverter))] + public partial class InvoiceSectionsCreateOrUpdateAcceptedResponseHeaders + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoiceSectionsCreateOrUpdateAcceptedResponseHeaders DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new InvoiceSectionsCreateOrUpdateAcceptedResponseHeaders(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoiceSectionsCreateOrUpdateAcceptedResponseHeaders DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new InvoiceSectionsCreateOrUpdateAcceptedResponseHeaders(content); + } + + /// + /// Creates a new instance of , deserializing the content + /// from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// + /// an instance of the model class. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoiceSectionsCreateOrUpdateAcceptedResponseHeaders FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal InvoiceSectionsCreateOrUpdateAcceptedResponseHeaders(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Location")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoiceSectionsCreateOrUpdateAcceptedResponseHeadersInternal)this).Location = (string) content.GetValueForProperty("Location",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoiceSectionsCreateOrUpdateAcceptedResponseHeadersInternal)this).Location, global::System.Convert.ToString); + } + if (content.Contains("RetryAfter")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoiceSectionsCreateOrUpdateAcceptedResponseHeadersInternal)this).RetryAfter = (int?) content.GetValueForProperty("RetryAfter",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoiceSectionsCreateOrUpdateAcceptedResponseHeadersInternal)this).RetryAfter, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal InvoiceSectionsCreateOrUpdateAcceptedResponseHeaders(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Location")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoiceSectionsCreateOrUpdateAcceptedResponseHeadersInternal)this).Location = (string) content.GetValueForProperty("Location",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoiceSectionsCreateOrUpdateAcceptedResponseHeadersInternal)this).Location, global::System.Convert.ToString); + } + if (content.Contains("RetryAfter")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoiceSectionsCreateOrUpdateAcceptedResponseHeadersInternal)this).RetryAfter = (int?) content.GetValueForProperty("RetryAfter",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoiceSectionsCreateOrUpdateAcceptedResponseHeadersInternal)this).RetryAfter, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + [System.ComponentModel.TypeConverter(typeof(InvoiceSectionsCreateOrUpdateAcceptedResponseHeadersTypeConverter))] + public partial interface IInvoiceSectionsCreateOrUpdateAcceptedResponseHeaders + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/InvoiceSectionsCreateOrUpdateAcceptedResponseHeaders.TypeConverter.cs b/swaggerci/billing/generated/api/Models/InvoiceSectionsCreateOrUpdateAcceptedResponseHeaders.TypeConverter.cs new file mode 100644 index 000000000000..32c3e5427a29 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/InvoiceSectionsCreateOrUpdateAcceptedResponseHeaders.TypeConverter.cs @@ -0,0 +1,153 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class InvoiceSectionsCreateOrUpdateAcceptedResponseHeadersTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a + /// type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable + /// conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable + /// conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoiceSectionsCreateOrUpdateAcceptedResponseHeaders ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoiceSectionsCreateOrUpdateAcceptedResponseHeaders).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return InvoiceSectionsCreateOrUpdateAcceptedResponseHeaders.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return InvoiceSectionsCreateOrUpdateAcceptedResponseHeaders.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return InvoiceSectionsCreateOrUpdateAcceptedResponseHeaders.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/InvoiceSectionsCreateOrUpdateAcceptedResponseHeaders.cs b/swaggerci/billing/generated/api/Models/InvoiceSectionsCreateOrUpdateAcceptedResponseHeaders.cs new file mode 100644 index 000000000000..c9b0b8c9935a --- /dev/null +++ b/swaggerci/billing/generated/api/Models/InvoiceSectionsCreateOrUpdateAcceptedResponseHeaders.cs @@ -0,0 +1,77 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + public partial class InvoiceSectionsCreateOrUpdateAcceptedResponseHeaders : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoiceSectionsCreateOrUpdateAcceptedResponseHeaders, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoiceSectionsCreateOrUpdateAcceptedResponseHeadersInternal, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IHeaderSerializable + { + + /// Backing field for property. + private string _location; + + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Location { get => this._location; set => this._location = value; } + + /// Backing field for property. + private int? _retryAfter; + + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public int? RetryAfter { get => this._retryAfter; set => this._retryAfter = value; } + + /// + /// Creates an new instance. + /// + public InvoiceSectionsCreateOrUpdateAcceptedResponseHeaders() + { + + } + + /// + void Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IHeaderSerializable.ReadHeaders(global::System.Net.Http.Headers.HttpResponseHeaders headers) + { + if (headers.TryGetValues("Location", out var __locationHeader0)) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoiceSectionsCreateOrUpdateAcceptedResponseHeadersInternal)this).Location = System.Linq.Enumerable.FirstOrDefault(__locationHeader0) is string __headerLocationHeader0 ? __headerLocationHeader0 : (string)null; + } + if (headers.TryGetValues("Retry-After", out var __retryAfterHeader1)) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoiceSectionsCreateOrUpdateAcceptedResponseHeadersInternal)this).RetryAfter = System.Linq.Enumerable.FirstOrDefault(__retryAfterHeader1) is string __headerRetryAfterHeader1 ? int.TryParse( __headerRetryAfterHeader1, out int __headerRetryAfterHeader1Value ) ? __headerRetryAfterHeader1Value : default(int?) : default(int?); + } + } + } + public partial interface IInvoiceSectionsCreateOrUpdateAcceptedResponseHeaders + + { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"", + SerializedName = @"Location", + PossibleTypes = new [] { typeof(string) })] + string Location { get; set; } + + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"", + SerializedName = @"Retry-After", + PossibleTypes = new [] { typeof(int) })] + int? RetryAfter { get; set; } + + } + internal partial interface IInvoiceSectionsCreateOrUpdateAcceptedResponseHeadersInternal + + { + string Location { get; set; } + + int? RetryAfter { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/InvoiceSectionsCreateOrUpdateAcceptedResponseHeaders.json.cs b/swaggerci/billing/generated/api/Models/InvoiceSectionsCreateOrUpdateAcceptedResponseHeaders.json.cs new file mode 100644 index 000000000000..15a7ea6fa010 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/InvoiceSectionsCreateOrUpdateAcceptedResponseHeaders.json.cs @@ -0,0 +1,108 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + public partial class InvoiceSectionsCreateOrUpdateAcceptedResponseHeaders + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoiceSectionsCreateOrUpdateAcceptedResponseHeaders. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoiceSectionsCreateOrUpdateAcceptedResponseHeaders. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoiceSectionsCreateOrUpdateAcceptedResponseHeaders FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new InvoiceSectionsCreateOrUpdateAcceptedResponseHeaders(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal InvoiceSectionsCreateOrUpdateAcceptedResponseHeaders(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/InvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeaders.PowerShell.cs b/swaggerci/billing/generated/api/Models/InvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeaders.PowerShell.cs new file mode 100644 index 000000000000..1a24ba582074 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/InvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeaders.PowerShell.cs @@ -0,0 +1,155 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + [System.ComponentModel.TypeConverter(typeof(InvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeadersTypeConverter))] + public partial class InvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeaders + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeaders DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new InvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeaders(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeaders DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new InvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeaders(content); + } + + /// + /// Creates a new instance of , deserializing + /// the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// + /// an instance of the model class. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeaders FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal InvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeaders(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Location")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeadersInternal)this).Location = (string) content.GetValueForProperty("Location",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeadersInternal)this).Location, global::System.Convert.ToString); + } + if (content.Contains("RetryAfter")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeadersInternal)this).RetryAfter = (string) content.GetValueForProperty("RetryAfter",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeadersInternal)this).RetryAfter, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal InvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeaders(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Location")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeadersInternal)this).Location = (string) content.GetValueForProperty("Location",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeadersInternal)this).Location, global::System.Convert.ToString); + } + if (content.Contains("RetryAfter")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeadersInternal)this).RetryAfter = (string) content.GetValueForProperty("RetryAfter",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeadersInternal)this).RetryAfter, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + [System.ComponentModel.TypeConverter(typeof(InvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeadersTypeConverter))] + public partial interface IInvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeaders + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/InvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeaders.TypeConverter.cs b/swaggerci/billing/generated/api/Models/InvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeaders.TypeConverter.cs new file mode 100644 index 000000000000..eb701e1d1202 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/InvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeaders.TypeConverter.cs @@ -0,0 +1,153 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class InvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeadersTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there + /// is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there + /// is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeaders ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeaders).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return InvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeaders.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return InvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeaders.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return InvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeaders.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/InvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeaders.cs b/swaggerci/billing/generated/api/Models/InvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeaders.cs new file mode 100644 index 000000000000..57148ce10cd5 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/InvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeaders.cs @@ -0,0 +1,77 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + public partial class InvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeaders : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeaders, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeadersInternal, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IHeaderSerializable + { + + /// Backing field for property. + private string _location; + + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Location { get => this._location; set => this._location = value; } + + /// Backing field for property. + private string _retryAfter; + + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string RetryAfter { get => this._retryAfter; set => this._retryAfter = value; } + + /// + /// Creates an new instance. + /// + public InvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeaders() + { + + } + + /// + void Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IHeaderSerializable.ReadHeaders(global::System.Net.Http.Headers.HttpResponseHeaders headers) + { + if (headers.TryGetValues("Location", out var __locationHeader0)) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeadersInternal)this).Location = System.Linq.Enumerable.FirstOrDefault(__locationHeader0) is string __headerLocationHeader0 ? __headerLocationHeader0 : (string)null; + } + if (headers.TryGetValues("Retry-After", out var __retryAfterHeader1)) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeadersInternal)this).RetryAfter = System.Linq.Enumerable.FirstOrDefault(__retryAfterHeader1) is string __headerRetryAfterHeader1 ? __headerRetryAfterHeader1 : (string)null; + } + } + } + public partial interface IInvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeaders + + { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"", + SerializedName = @"Location", + PossibleTypes = new [] { typeof(string) })] + string Location { get; set; } + + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"", + SerializedName = @"Retry-After", + PossibleTypes = new [] { typeof(string) })] + string RetryAfter { get; set; } + + } + internal partial interface IInvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeadersInternal + + { + string Location { get; set; } + + string RetryAfter { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/InvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeaders.json.cs b/swaggerci/billing/generated/api/Models/InvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeaders.json.cs new file mode 100644 index 000000000000..b6029a6736af --- /dev/null +++ b/swaggerci/billing/generated/api/Models/InvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeaders.json.cs @@ -0,0 +1,108 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + public partial class InvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeaders + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeaders. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeaders. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeaders FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new InvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeaders(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal InvoicesDownloadBillingSubscriptionInvoiceAcceptedResponseHeaders(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/InvoicesDownloadInvoiceAcceptedResponseHeaders.PowerShell.cs b/swaggerci/billing/generated/api/Models/InvoicesDownloadInvoiceAcceptedResponseHeaders.PowerShell.cs new file mode 100644 index 000000000000..d257d51ad134 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/InvoicesDownloadInvoiceAcceptedResponseHeaders.PowerShell.cs @@ -0,0 +1,155 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + [System.ComponentModel.TypeConverter(typeof(InvoicesDownloadInvoiceAcceptedResponseHeadersTypeConverter))] + public partial class InvoicesDownloadInvoiceAcceptedResponseHeaders + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadInvoiceAcceptedResponseHeaders DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new InvoicesDownloadInvoiceAcceptedResponseHeaders(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadInvoiceAcceptedResponseHeaders DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new InvoicesDownloadInvoiceAcceptedResponseHeaders(content); + } + + /// + /// Creates a new instance of , deserializing the content from + /// a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// + /// an instance of the model class. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadInvoiceAcceptedResponseHeaders FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal InvoicesDownloadInvoiceAcceptedResponseHeaders(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Location")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadInvoiceAcceptedResponseHeadersInternal)this).Location = (string) content.GetValueForProperty("Location",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadInvoiceAcceptedResponseHeadersInternal)this).Location, global::System.Convert.ToString); + } + if (content.Contains("RetryAfter")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadInvoiceAcceptedResponseHeadersInternal)this).RetryAfter = (string) content.GetValueForProperty("RetryAfter",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadInvoiceAcceptedResponseHeadersInternal)this).RetryAfter, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal InvoicesDownloadInvoiceAcceptedResponseHeaders(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Location")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadInvoiceAcceptedResponseHeadersInternal)this).Location = (string) content.GetValueForProperty("Location",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadInvoiceAcceptedResponseHeadersInternal)this).Location, global::System.Convert.ToString); + } + if (content.Contains("RetryAfter")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadInvoiceAcceptedResponseHeadersInternal)this).RetryAfter = (string) content.GetValueForProperty("RetryAfter",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadInvoiceAcceptedResponseHeadersInternal)this).RetryAfter, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + [System.ComponentModel.TypeConverter(typeof(InvoicesDownloadInvoiceAcceptedResponseHeadersTypeConverter))] + public partial interface IInvoicesDownloadInvoiceAcceptedResponseHeaders + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/InvoicesDownloadInvoiceAcceptedResponseHeaders.TypeConverter.cs b/swaggerci/billing/generated/api/Models/InvoicesDownloadInvoiceAcceptedResponseHeaders.TypeConverter.cs new file mode 100644 index 000000000000..e35d41fb14ea --- /dev/null +++ b/swaggerci/billing/generated/api/Models/InvoicesDownloadInvoiceAcceptedResponseHeaders.TypeConverter.cs @@ -0,0 +1,151 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class InvoicesDownloadInvoiceAcceptedResponseHeadersTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, + /// otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadInvoiceAcceptedResponseHeaders ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadInvoiceAcceptedResponseHeaders).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return InvoicesDownloadInvoiceAcceptedResponseHeaders.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return InvoicesDownloadInvoiceAcceptedResponseHeaders.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return InvoicesDownloadInvoiceAcceptedResponseHeaders.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/InvoicesDownloadInvoiceAcceptedResponseHeaders.cs b/swaggerci/billing/generated/api/Models/InvoicesDownloadInvoiceAcceptedResponseHeaders.cs new file mode 100644 index 000000000000..f1327ae5ed6a --- /dev/null +++ b/swaggerci/billing/generated/api/Models/InvoicesDownloadInvoiceAcceptedResponseHeaders.cs @@ -0,0 +1,77 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + public partial class InvoicesDownloadInvoiceAcceptedResponseHeaders : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadInvoiceAcceptedResponseHeaders, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadInvoiceAcceptedResponseHeadersInternal, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IHeaderSerializable + { + + /// Backing field for property. + private string _location; + + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Location { get => this._location; set => this._location = value; } + + /// Backing field for property. + private string _retryAfter; + + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string RetryAfter { get => this._retryAfter; set => this._retryAfter = value; } + + /// + /// Creates an new instance. + /// + public InvoicesDownloadInvoiceAcceptedResponseHeaders() + { + + } + + /// + void Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IHeaderSerializable.ReadHeaders(global::System.Net.Http.Headers.HttpResponseHeaders headers) + { + if (headers.TryGetValues("Location", out var __locationHeader0)) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadInvoiceAcceptedResponseHeadersInternal)this).Location = System.Linq.Enumerable.FirstOrDefault(__locationHeader0) is string __headerLocationHeader0 ? __headerLocationHeader0 : (string)null; + } + if (headers.TryGetValues("Retry-After", out var __retryAfterHeader1)) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadInvoiceAcceptedResponseHeadersInternal)this).RetryAfter = System.Linq.Enumerable.FirstOrDefault(__retryAfterHeader1) is string __headerRetryAfterHeader1 ? __headerRetryAfterHeader1 : (string)null; + } + } + } + public partial interface IInvoicesDownloadInvoiceAcceptedResponseHeaders + + { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"", + SerializedName = @"Location", + PossibleTypes = new [] { typeof(string) })] + string Location { get; set; } + + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"", + SerializedName = @"Retry-After", + PossibleTypes = new [] { typeof(string) })] + string RetryAfter { get; set; } + + } + internal partial interface IInvoicesDownloadInvoiceAcceptedResponseHeadersInternal + + { + string Location { get; set; } + + string RetryAfter { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/InvoicesDownloadInvoiceAcceptedResponseHeaders.json.cs b/swaggerci/billing/generated/api/Models/InvoicesDownloadInvoiceAcceptedResponseHeaders.json.cs new file mode 100644 index 000000000000..18c32344ca57 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/InvoicesDownloadInvoiceAcceptedResponseHeaders.json.cs @@ -0,0 +1,108 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + public partial class InvoicesDownloadInvoiceAcceptedResponseHeaders + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadInvoiceAcceptedResponseHeaders. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadInvoiceAcceptedResponseHeaders. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadInvoiceAcceptedResponseHeaders FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new InvoicesDownloadInvoiceAcceptedResponseHeaders(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal InvoicesDownloadInvoiceAcceptedResponseHeaders(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/InvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeaders.PowerShell.cs b/swaggerci/billing/generated/api/Models/InvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeaders.PowerShell.cs new file mode 100644 index 000000000000..1d18afcdc288 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/InvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeaders.PowerShell.cs @@ -0,0 +1,155 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + [System.ComponentModel.TypeConverter(typeof(InvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeadersTypeConverter))] + public partial class InvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeaders + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeaders DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new InvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeaders(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeaders DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new InvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeaders(content); + } + + /// + /// Creates a new instance of , deserializing + /// the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// + /// an instance of the model class. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeaders FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal InvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeaders(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Location")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeadersInternal)this).Location = (string) content.GetValueForProperty("Location",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeadersInternal)this).Location, global::System.Convert.ToString); + } + if (content.Contains("RetryAfter")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeadersInternal)this).RetryAfter = (string) content.GetValueForProperty("RetryAfter",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeadersInternal)this).RetryAfter, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal InvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeaders(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Location")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeadersInternal)this).Location = (string) content.GetValueForProperty("Location",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeadersInternal)this).Location, global::System.Convert.ToString); + } + if (content.Contains("RetryAfter")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeadersInternal)this).RetryAfter = (string) content.GetValueForProperty("RetryAfter",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeadersInternal)this).RetryAfter, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + [System.ComponentModel.TypeConverter(typeof(InvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeadersTypeConverter))] + public partial interface IInvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeaders + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/InvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeaders.TypeConverter.cs b/swaggerci/billing/generated/api/Models/InvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeaders.TypeConverter.cs new file mode 100644 index 000000000000..7260d7090b52 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/InvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeaders.TypeConverter.cs @@ -0,0 +1,153 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class InvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeadersTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if + /// there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if + /// there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeaders ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeaders).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return InvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeaders.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return InvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeaders.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return InvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeaders.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/InvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeaders.cs b/swaggerci/billing/generated/api/Models/InvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeaders.cs new file mode 100644 index 000000000000..850733e6d5c1 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/InvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeaders.cs @@ -0,0 +1,77 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + public partial class InvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeaders : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeaders, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeadersInternal, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IHeaderSerializable + { + + /// Backing field for property. + private string _location; + + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Location { get => this._location; set => this._location = value; } + + /// Backing field for property. + private string _retryAfter; + + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string RetryAfter { get => this._retryAfter; set => this._retryAfter = value; } + + /// + /// Creates an new instance. + /// + public InvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeaders() + { + + } + + /// + void Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IHeaderSerializable.ReadHeaders(global::System.Net.Http.Headers.HttpResponseHeaders headers) + { + if (headers.TryGetValues("Location", out var __locationHeader0)) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeadersInternal)this).Location = System.Linq.Enumerable.FirstOrDefault(__locationHeader0) is string __headerLocationHeader0 ? __headerLocationHeader0 : (string)null; + } + if (headers.TryGetValues("Retry-After", out var __retryAfterHeader1)) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeadersInternal)this).RetryAfter = System.Linq.Enumerable.FirstOrDefault(__retryAfterHeader1) is string __headerRetryAfterHeader1 ? __headerRetryAfterHeader1 : (string)null; + } + } + } + public partial interface IInvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeaders + + { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"", + SerializedName = @"Location", + PossibleTypes = new [] { typeof(string) })] + string Location { get; set; } + + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"", + SerializedName = @"Retry-After", + PossibleTypes = new [] { typeof(string) })] + string RetryAfter { get; set; } + + } + internal partial interface IInvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeadersInternal + + { + string Location { get; set; } + + string RetryAfter { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/InvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeaders.json.cs b/swaggerci/billing/generated/api/Models/InvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeaders.json.cs new file mode 100644 index 000000000000..95463a5c83ae --- /dev/null +++ b/swaggerci/billing/generated/api/Models/InvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeaders.json.cs @@ -0,0 +1,108 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + public partial class InvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeaders + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeaders. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeaders. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeaders FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new InvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeaders(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal InvoicesDownloadMultipleBillingProfileInvoicesAcceptedResponseHeaders(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + AfterFromJson(json); + } + + /// + /// Serializes this instance of into + /// a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/InvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeaders.PowerShell.cs b/swaggerci/billing/generated/api/Models/InvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeaders.PowerShell.cs new file mode 100644 index 000000000000..3173f464536c --- /dev/null +++ b/swaggerci/billing/generated/api/Models/InvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeaders.PowerShell.cs @@ -0,0 +1,155 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + [System.ComponentModel.TypeConverter(typeof(InvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeadersTypeConverter))] + public partial class InvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeaders + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeaders DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new InvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeaders(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeaders DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new InvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeaders(content); + } + + /// + /// Creates a new instance of , deserializing + /// the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// + /// an instance of the model class. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeaders FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal InvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeaders(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Location")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeadersInternal)this).Location = (string) content.GetValueForProperty("Location",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeadersInternal)this).Location, global::System.Convert.ToString); + } + if (content.Contains("RetryAfter")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeadersInternal)this).RetryAfter = (string) content.GetValueForProperty("RetryAfter",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeadersInternal)this).RetryAfter, global::System.Convert.ToString); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal InvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeaders(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Location")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeadersInternal)this).Location = (string) content.GetValueForProperty("Location",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeadersInternal)this).Location, global::System.Convert.ToString); + } + if (content.Contains("RetryAfter")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeadersInternal)this).RetryAfter = (string) content.GetValueForProperty("RetryAfter",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeadersInternal)this).RetryAfter, global::System.Convert.ToString); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + [System.ComponentModel.TypeConverter(typeof(InvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeadersTypeConverter))] + public partial interface IInvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeaders + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/InvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeaders.TypeConverter.cs b/swaggerci/billing/generated/api/Models/InvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeaders.TypeConverter.cs new file mode 100644 index 000000000000..a60eaa1dd4e7 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/InvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeaders.TypeConverter.cs @@ -0,0 +1,153 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class InvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeadersTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null + /// if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null + /// if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeaders ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeaders).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return InvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeaders.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return InvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeaders.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return InvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeaders.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/InvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeaders.cs b/swaggerci/billing/generated/api/Models/InvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeaders.cs new file mode 100644 index 000000000000..62f5116da157 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/InvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeaders.cs @@ -0,0 +1,77 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + public partial class InvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeaders : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeaders, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeadersInternal, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IHeaderSerializable + { + + /// Backing field for property. + private string _location; + + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Location { get => this._location; set => this._location = value; } + + /// Backing field for property. + private string _retryAfter; + + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string RetryAfter { get => this._retryAfter; set => this._retryAfter = value; } + + /// + /// Creates an new instance. + /// + public InvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeaders() + { + + } + + /// + void Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IHeaderSerializable.ReadHeaders(global::System.Net.Http.Headers.HttpResponseHeaders headers) + { + if (headers.TryGetValues("Location", out var __locationHeader0)) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeadersInternal)this).Location = System.Linq.Enumerable.FirstOrDefault(__locationHeader0) is string __headerLocationHeader0 ? __headerLocationHeader0 : (string)null; + } + if (headers.TryGetValues("Retry-After", out var __retryAfterHeader1)) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeadersInternal)this).RetryAfter = System.Linq.Enumerable.FirstOrDefault(__retryAfterHeader1) is string __headerRetryAfterHeader1 ? __headerRetryAfterHeader1 : (string)null; + } + } + } + public partial interface IInvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeaders + + { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"", + SerializedName = @"Location", + PossibleTypes = new [] { typeof(string) })] + string Location { get; set; } + + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"", + SerializedName = @"Retry-After", + PossibleTypes = new [] { typeof(string) })] + string RetryAfter { get; set; } + + } + internal partial interface IInvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeadersInternal + + { + string Location { get; set; } + + string RetryAfter { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/InvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeaders.json.cs b/swaggerci/billing/generated/api/Models/InvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeaders.json.cs new file mode 100644 index 000000000000..33b47409299d --- /dev/null +++ b/swaggerci/billing/generated/api/Models/InvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeaders.json.cs @@ -0,0 +1,108 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + public partial class InvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeaders + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeaders. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeaders. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IInvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeaders FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new InvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeaders(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal InvoicesDownloadMultipleBillingSubscriptionInvoicesAcceptedResponseHeaders(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + AfterFromJson(json); + } + + /// + /// Serializes this instance of + /// into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as + /// a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/ProductsMoveAcceptedResponseHeaders.PowerShell.cs b/swaggerci/billing/generated/api/Models/ProductsMoveAcceptedResponseHeaders.PowerShell.cs new file mode 100644 index 000000000000..18e67e128d59 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/ProductsMoveAcceptedResponseHeaders.PowerShell.cs @@ -0,0 +1,152 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + [System.ComponentModel.TypeConverter(typeof(ProductsMoveAcceptedResponseHeadersTypeConverter))] + public partial class ProductsMoveAcceptedResponseHeaders + { + + /// + /// AfterDeserializeDictionary will be called after the deserialization has finished, allowing customization of the + /// object before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Collections.IDictionary content that should be used. + + partial void AfterDeserializeDictionary(global::System.Collections.IDictionary content); + + /// + /// AfterDeserializePSObject will be called after the deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The global::System.Management.Automation.PSObject content that should be used. + + partial void AfterDeserializePSObject(global::System.Management.Automation.PSObject content); + + /// + /// BeforeDeserializeDictionary will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Collections.IDictionary content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializeDictionary(global::System.Collections.IDictionary content, ref bool returnNow); + + /// + /// BeforeDeserializePSObject will be called before the deserialization has commenced, allowing complete customization + /// of the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeDeserializePSObject(global::System.Management.Automation.PSObject content, ref bool returnNow); + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IProductsMoveAcceptedResponseHeaders DeserializeFromDictionary(global::System.Collections.IDictionary content) + { + return new ProductsMoveAcceptedResponseHeaders(content); + } + + /// + /// Deserializes a into an instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + /// + /// an instance of . + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IProductsMoveAcceptedResponseHeaders DeserializeFromPSObject(global::System.Management.Automation.PSObject content) + { + return new ProductsMoveAcceptedResponseHeaders(content); + } + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// + /// an instance of the model class. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IProductsMoveAcceptedResponseHeaders FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Collections.IDictionary content that should be used. + internal ProductsMoveAcceptedResponseHeaders(global::System.Collections.IDictionary content) + { + bool returnNow = false; + BeforeDeserializeDictionary(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Location")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IProductsMoveAcceptedResponseHeadersInternal)this).Location = (string) content.GetValueForProperty("Location",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IProductsMoveAcceptedResponseHeadersInternal)this).Location, global::System.Convert.ToString); + } + if (content.Contains("RetryAfter")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IProductsMoveAcceptedResponseHeadersInternal)this).RetryAfter = (int?) content.GetValueForProperty("RetryAfter",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IProductsMoveAcceptedResponseHeadersInternal)this).RetryAfter, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + AfterDeserializeDictionary(content); + } + + /// + /// Deserializes a into a new instance of . + /// + /// The global::System.Management.Automation.PSObject content that should be used. + internal ProductsMoveAcceptedResponseHeaders(global::System.Management.Automation.PSObject content) + { + bool returnNow = false; + BeforeDeserializePSObject(content, ref returnNow); + if (returnNow) + { + return; + } + // actually deserialize + if (content.Contains("Location")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IProductsMoveAcceptedResponseHeadersInternal)this).Location = (string) content.GetValueForProperty("Location",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IProductsMoveAcceptedResponseHeadersInternal)this).Location, global::System.Convert.ToString); + } + if (content.Contains("RetryAfter")) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IProductsMoveAcceptedResponseHeadersInternal)this).RetryAfter = (int?) content.GetValueForProperty("RetryAfter",((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IProductsMoveAcceptedResponseHeadersInternal)this).RetryAfter, (__y)=> (int) global::System.Convert.ChangeType(__y, typeof(int))); + } + AfterDeserializePSObject(content); + } + + /// Serializes this instance to a json string. + + /// a containing this model serialized to JSON text. + public string ToJsonString() => ToJson(null, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode.IncludeAll)?.ToString(); + } + [System.ComponentModel.TypeConverter(typeof(ProductsMoveAcceptedResponseHeadersTypeConverter))] + public partial interface IProductsMoveAcceptedResponseHeaders + + { + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/ProductsMoveAcceptedResponseHeaders.TypeConverter.cs b/swaggerci/billing/generated/api/Models/ProductsMoveAcceptedResponseHeaders.TypeConverter.cs new file mode 100644 index 000000000000..61892d4c25b7 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/ProductsMoveAcceptedResponseHeaders.TypeConverter.cs @@ -0,0 +1,149 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell; + + /// + /// A PowerShell PSTypeConverter to support converting to an instance of + /// + public partial class ProductsMoveAcceptedResponseHeadersTypeConverter : global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to the + /// type. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise + /// false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the + /// parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IProductsMoveAcceptedResponseHeaders ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IProductsMoveAcceptedResponseHeaders).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return ProductsMoveAcceptedResponseHeaders.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());; + } + catch + { + // Unable to use JSON pattern + } + if (typeof(global::System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return ProductsMoveAcceptedResponseHeaders.DeserializeFromPSObject(sourceValue); + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return ProductsMoveAcceptedResponseHeaders.DeserializeFromDictionary(sourceValue); + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/ProductsMoveAcceptedResponseHeaders.cs b/swaggerci/billing/generated/api/Models/ProductsMoveAcceptedResponseHeaders.cs new file mode 100644 index 000000000000..57ea197ba1e3 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/ProductsMoveAcceptedResponseHeaders.cs @@ -0,0 +1,75 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + public partial class ProductsMoveAcceptedResponseHeaders : + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IProductsMoveAcceptedResponseHeaders, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IProductsMoveAcceptedResponseHeadersInternal, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IHeaderSerializable + { + + /// Backing field for property. + private string _location; + + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public string Location { get => this._location; set => this._location = value; } + + /// Backing field for property. + private int? _retryAfter; + + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Origin(Microsoft.Azure.PowerShell.Cmdlets.Billing.PropertyOrigin.Owned)] + public int? RetryAfter { get => this._retryAfter; set => this._retryAfter = value; } + + /// + void Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IHeaderSerializable.ReadHeaders(global::System.Net.Http.Headers.HttpResponseHeaders headers) + { + if (headers.TryGetValues("Location", out var __locationHeader0)) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IProductsMoveAcceptedResponseHeadersInternal)this).Location = System.Linq.Enumerable.FirstOrDefault(__locationHeader0) is string __headerLocationHeader0 ? __headerLocationHeader0 : (string)null; + } + if (headers.TryGetValues("Retry-After", out var __retryAfterHeader1)) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IProductsMoveAcceptedResponseHeadersInternal)this).RetryAfter = System.Linq.Enumerable.FirstOrDefault(__retryAfterHeader1) is string __headerRetryAfterHeader1 ? int.TryParse( __headerRetryAfterHeader1, out int __headerRetryAfterHeader1Value ) ? __headerRetryAfterHeader1Value : default(int?) : default(int?); + } + } + + /// Creates an new instance. + public ProductsMoveAcceptedResponseHeaders() + { + + } + } + public partial interface IProductsMoveAcceptedResponseHeaders + + { + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"", + SerializedName = @"Location", + PossibleTypes = new [] { typeof(string) })] + string Location { get; set; } + + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"", + SerializedName = @"Retry-After", + PossibleTypes = new [] { typeof(int) })] + int? RetryAfter { get; set; } + + } + internal partial interface IProductsMoveAcceptedResponseHeadersInternal + + { + string Location { get; set; } + + int? RetryAfter { get; set; } + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Models/ProductsMoveAcceptedResponseHeaders.json.cs b/swaggerci/billing/generated/api/Models/ProductsMoveAcceptedResponseHeaders.json.cs new file mode 100644 index 000000000000..51b72394f636 --- /dev/null +++ b/swaggerci/billing/generated/api/Models/ProductsMoveAcceptedResponseHeaders.json.cs @@ -0,0 +1,106 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Models +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + public partial class ProductsMoveAcceptedResponseHeaders + { + + /// + /// AfterFromJson will be called after the json deserialization has finished, allowing customization of the object + /// before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JsonNode that should be deserialized into this object. + + partial void AfterFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json); + + /// + /// AfterToJson will be called after the json serialization has finished, allowing customization of the before it is returned. Implement this method in a partial class to enable this behavior + /// + /// The JSON container that the serialization result will be placed in. + + partial void AfterToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container); + + /// + /// BeforeFromJson will be called before the json deserialization has commenced, allowing complete customization of + /// the object before it is deserialized. + /// If you wish to disable the default deserialization entirely, return true in the + /// output parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JsonNode that should be deserialized into this object. + /// Determines if the rest of the deserialization should be processed, or if the method should return + /// instantly. + + partial void BeforeFromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json, ref bool returnNow); + + /// + /// BeforeToJson will be called before the json serialization has commenced, allowing complete customization of the + /// object before it is serialized. + /// If you wish to disable the default serialization entirely, return true in the output + /// parameter. + /// Implement this method in a partial class to enable this behavior. + /// + /// The JSON container that the serialization result will be placed in. + /// Determines if the rest of the serialization should be processed, or if the method should return + /// instantly. + + partial void BeforeToJson(ref Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, ref bool returnNow); + + /// + /// Deserializes a into an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IProductsMoveAcceptedResponseHeaders. + /// + /// a to deserialize from. + /// + /// an instance of Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IProductsMoveAcceptedResponseHeaders. + /// + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IProductsMoveAcceptedResponseHeaders FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new ProductsMoveAcceptedResponseHeaders(json) : null; + } + + /// + /// Deserializes a Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject into a new instance of . + /// + /// A Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject instance to deserialize from. + internal ProductsMoveAcceptedResponseHeaders(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + bool returnNow = false; + BeforeFromJson(json, ref returnNow); + if (returnNow) + { + return; + } + AfterFromJson(json); + } + + /// + /// Serializes this instance of into a . + /// + /// The container to serialize this object into. If the caller + /// passes in null, a new instance will be created and returned to the caller. + /// Allows the caller to choose the depth of the serialization. See . + /// + /// a serialized instance of as a . + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SerializationMode serializationMode) + { + container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject(); + + bool returnNow = false; + BeforeToJson(ref container, ref returnNow); + if (returnNow) + { + return container; + } + AfterToJson(ref container); + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/AcceptanceMode.Completer.cs b/swaggerci/billing/generated/api/Support/AcceptanceMode.Completer.cs new file mode 100644 index 000000000000..270a18e34340 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/AcceptanceMode.Completer.cs @@ -0,0 +1,43 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The mode of acceptance for an agreement. + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AcceptanceModeTypeConverter))] + public partial struct AcceptanceMode : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "ClickToAccept".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'ClickToAccept'", "ClickToAccept", global::System.Management.Automation.CompletionResultType.ParameterValue, "ClickToAccept"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "ESignEmbedded".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'ESignEmbedded'", "ESignEmbedded", global::System.Management.Automation.CompletionResultType.ParameterValue, "ESignEmbedded"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "ESignOffline".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'ESignOffline'", "ESignOffline", global::System.Management.Automation.CompletionResultType.ParameterValue, "ESignOffline"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/AcceptanceMode.TypeConverter.cs b/swaggerci/billing/generated/api/Support/AcceptanceMode.TypeConverter.cs new file mode 100644 index 000000000000..ea4bfa6ff679 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/AcceptanceMode.TypeConverter.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The mode of acceptance for an agreement. + public partial class AcceptanceModeTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => AcceptanceMode.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/AcceptanceMode.cs b/swaggerci/billing/generated/api/Support/AcceptanceMode.cs new file mode 100644 index 000000000000..44d3a92abdb0 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/AcceptanceMode.cs @@ -0,0 +1,100 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The mode of acceptance for an agreement. + public partial struct AcceptanceMode : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AcceptanceMode ClickToAccept = @"ClickToAccept"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AcceptanceMode ESignEmbedded = @"ESignEmbedded"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AcceptanceMode ESignOffline = @"ESignOffline"; + + /// the value for an instance of the Enum. + private string _value { get; set; } + + /// Creates an instance of the Enum class. + /// the value to create an instance for. + private AcceptanceMode(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Conversion from arbitrary object to AcceptanceMode + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new AcceptanceMode(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type AcceptanceMode + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AcceptanceMode e) + { + return _value.Equals(e._value); + } + + /// Compares values of enum type AcceptanceMode (override for Object) + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is AcceptanceMode && Equals((AcceptanceMode)obj); + } + + /// Returns hashCode for enum AcceptanceMode + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// Returns string representation for AcceptanceMode + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to AcceptanceMode + /// the value to convert to an instance of . + + public static implicit operator AcceptanceMode(string value) + { + return new AcceptanceMode(value); + } + + /// Implicit operator to convert AcceptanceMode to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AcceptanceMode e) + { + return e._value; + } + + /// Overriding != operator for enum AcceptanceMode + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AcceptanceMode e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AcceptanceMode e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum AcceptanceMode + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AcceptanceMode e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AcceptanceMode e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/AccountStatus.Completer.cs b/swaggerci/billing/generated/api/Support/AccountStatus.Completer.cs new file mode 100644 index 000000000000..2323e29027f9 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/AccountStatus.Completer.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The current status of the billing account. + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatusTypeConverter))] + public partial struct AccountStatus : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Active".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Active'", "Active", global::System.Management.Automation.CompletionResultType.ParameterValue, "Active"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Deleted".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Deleted'", "Deleted", global::System.Management.Automation.CompletionResultType.ParameterValue, "Deleted"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Disabled".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Disabled'", "Disabled", global::System.Management.Automation.CompletionResultType.ParameterValue, "Disabled"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Expired".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Expired'", "Expired", global::System.Management.Automation.CompletionResultType.ParameterValue, "Expired"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Transferred".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Transferred'", "Transferred", global::System.Management.Automation.CompletionResultType.ParameterValue, "Transferred"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Extended".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Extended'", "Extended", global::System.Management.Automation.CompletionResultType.ParameterValue, "Extended"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Terminated".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Terminated'", "Terminated", global::System.Management.Automation.CompletionResultType.ParameterValue, "Terminated"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/AccountStatus.TypeConverter.cs b/swaggerci/billing/generated/api/Support/AccountStatus.TypeConverter.cs new file mode 100644 index 000000000000..a9f65b211379 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/AccountStatus.TypeConverter.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The current status of the billing account. + public partial class AccountStatusTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => AccountStatus.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/AccountStatus.cs b/swaggerci/billing/generated/api/Support/AccountStatus.cs new file mode 100644 index 000000000000..20b185bc14b6 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/AccountStatus.cs @@ -0,0 +1,108 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The current status of the billing account. + public partial struct AccountStatus : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatus Active = @"Active"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatus Deleted = @"Deleted"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatus Disabled = @"Disabled"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatus Expired = @"Expired"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatus Extended = @"Extended"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatus Terminated = @"Terminated"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatus Transferred = @"Transferred"; + + /// the value for an instance of the Enum. + private string _value { get; set; } + + /// Creates an instance of the Enum class. + /// the value to create an instance for. + private AccountStatus(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Conversion from arbitrary object to AccountStatus + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new AccountStatus(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type AccountStatus + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatus e) + { + return _value.Equals(e._value); + } + + /// Compares values of enum type AccountStatus (override for Object) + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is AccountStatus && Equals((AccountStatus)obj); + } + + /// Returns hashCode for enum AccountStatus + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// Returns string representation for AccountStatus + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to AccountStatus + /// the value to convert to an instance of . + + public static implicit operator AccountStatus(string value) + { + return new AccountStatus(value); + } + + /// Implicit operator to convert AccountStatus to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatus e) + { + return e._value; + } + + /// Overriding != operator for enum AccountStatus + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatus e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatus e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum AccountStatus + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatus e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountStatus e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/AccountType.Completer.cs b/swaggerci/billing/generated/api/Support/AccountType.Completer.cs new file mode 100644 index 000000000000..49ec1c683c7c --- /dev/null +++ b/swaggerci/billing/generated/api/Support/AccountType.Completer.cs @@ -0,0 +1,43 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The type of customer. + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountTypeTypeConverter))] + public partial struct AccountType : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Enterprise".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Enterprise'", "Enterprise", global::System.Management.Automation.CompletionResultType.ParameterValue, "Enterprise"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Individual".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Individual'", "Individual", global::System.Management.Automation.CompletionResultType.ParameterValue, "Individual"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Partner".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Partner'", "Partner", global::System.Management.Automation.CompletionResultType.ParameterValue, "Partner"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/AccountType.TypeConverter.cs b/swaggerci/billing/generated/api/Support/AccountType.TypeConverter.cs new file mode 100644 index 000000000000..86c7d85a2418 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/AccountType.TypeConverter.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The type of customer. + public partial class AccountTypeTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => AccountType.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/AccountType.cs b/swaggerci/billing/generated/api/Support/AccountType.cs new file mode 100644 index 000000000000..20dab2693103 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/AccountType.cs @@ -0,0 +1,100 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The type of customer. + public partial struct AccountType : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountType Enterprise = @"Enterprise"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountType Individual = @"Individual"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountType Partner = @"Partner"; + + /// the value for an instance of the Enum. + private string _value { get; set; } + + /// Creates an instance of the Enum class. + /// the value to create an instance for. + private AccountType(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Conversion from arbitrary object to AccountType + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new AccountType(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type AccountType + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountType e) + { + return _value.Equals(e._value); + } + + /// Compares values of enum type AccountType (override for Object) + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is AccountType && Equals((AccountType)obj); + } + + /// Returns hashCode for enum AccountType + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// Returns string representation for AccountType + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to AccountType + /// the value to convert to an instance of . + + public static implicit operator AccountType(string value) + { + return new AccountType(value); + } + + /// Implicit operator to convert AccountType to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountType e) + { + return e._value; + } + + /// Overriding != operator for enum AccountType + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountType e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountType e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum AccountType + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountType e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AccountType e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/AddressValidationStatus.Completer.cs b/swaggerci/billing/generated/api/Support/AddressValidationStatus.Completer.cs new file mode 100644 index 000000000000..5bf4840f4a15 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/AddressValidationStatus.Completer.cs @@ -0,0 +1,39 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// Status of the address validation. + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AddressValidationStatusTypeConverter))] + public partial struct AddressValidationStatus : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Valid".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Valid'", "Valid", global::System.Management.Automation.CompletionResultType.ParameterValue, "Valid"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Invalid".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Invalid'", "Invalid", global::System.Management.Automation.CompletionResultType.ParameterValue, "Invalid"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/AddressValidationStatus.TypeConverter.cs b/swaggerci/billing/generated/api/Support/AddressValidationStatus.TypeConverter.cs new file mode 100644 index 000000000000..6e0db9b8b2ac --- /dev/null +++ b/swaggerci/billing/generated/api/Support/AddressValidationStatus.TypeConverter.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// Status of the address validation. + public partial class AddressValidationStatusTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => AddressValidationStatus.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/AddressValidationStatus.cs b/swaggerci/billing/generated/api/Support/AddressValidationStatus.cs new file mode 100644 index 000000000000..cc22aefa5c53 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/AddressValidationStatus.cs @@ -0,0 +1,98 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// Status of the address validation. + public partial struct AddressValidationStatus : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AddressValidationStatus Invalid = @"Invalid"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AddressValidationStatus Valid = @"Valid"; + + /// the value for an instance of the Enum. + private string _value { get; set; } + + /// Creates an instance of the Enum class. + /// the value to create an instance for. + private AddressValidationStatus(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Conversion from arbitrary object to AddressValidationStatus + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new AddressValidationStatus(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type AddressValidationStatus + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AddressValidationStatus e) + { + return _value.Equals(e._value); + } + + /// Compares values of enum type AddressValidationStatus (override for Object) + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is AddressValidationStatus && Equals((AddressValidationStatus)obj); + } + + /// Returns hashCode for enum AddressValidationStatus + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// Returns string representation for AddressValidationStatus + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to AddressValidationStatus + /// the value to convert to an instance of . + + public static implicit operator AddressValidationStatus(string value) + { + return new AddressValidationStatus(value); + } + + /// Implicit operator to convert AddressValidationStatus to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AddressValidationStatus e) + { + return e._value; + } + + /// Overriding != operator for enum AddressValidationStatus + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AddressValidationStatus e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AddressValidationStatus e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum AddressValidationStatus + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AddressValidationStatus e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AddressValidationStatus e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/AgreementType.Completer.cs b/swaggerci/billing/generated/api/Support/AgreementType.Completer.cs new file mode 100644 index 000000000000..834c8ea7fecc --- /dev/null +++ b/swaggerci/billing/generated/api/Support/AgreementType.Completer.cs @@ -0,0 +1,47 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The type of agreement. + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AgreementTypeTypeConverter))] + public partial struct AgreementType : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "MicrosoftCustomerAgreement".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'MicrosoftCustomerAgreement'", "MicrosoftCustomerAgreement", global::System.Management.Automation.CompletionResultType.ParameterValue, "MicrosoftCustomerAgreement"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "EnterpriseAgreement".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'EnterpriseAgreement'", "EnterpriseAgreement", global::System.Management.Automation.CompletionResultType.ParameterValue, "EnterpriseAgreement"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "MicrosoftOnlineServicesProgram".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'MicrosoftOnlineServicesProgram'", "MicrosoftOnlineServicesProgram", global::System.Management.Automation.CompletionResultType.ParameterValue, "MicrosoftOnlineServicesProgram"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "MicrosoftPartnerAgreement".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'MicrosoftPartnerAgreement'", "MicrosoftPartnerAgreement", global::System.Management.Automation.CompletionResultType.ParameterValue, "MicrosoftPartnerAgreement"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/AgreementType.TypeConverter.cs b/swaggerci/billing/generated/api/Support/AgreementType.TypeConverter.cs new file mode 100644 index 000000000000..ed83fe5823e8 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/AgreementType.TypeConverter.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The type of agreement. + public partial class AgreementTypeTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => AgreementType.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/AgreementType.cs b/swaggerci/billing/generated/api/Support/AgreementType.cs new file mode 100644 index 000000000000..2a8b66f4953c --- /dev/null +++ b/swaggerci/billing/generated/api/Support/AgreementType.cs @@ -0,0 +1,102 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The type of agreement. + public partial struct AgreementType : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AgreementType EnterpriseAgreement = @"EnterpriseAgreement"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AgreementType MicrosoftCustomerAgreement = @"MicrosoftCustomerAgreement"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AgreementType MicrosoftOnlineServicesProgram = @"MicrosoftOnlineServicesProgram"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AgreementType MicrosoftPartnerAgreement = @"MicrosoftPartnerAgreement"; + + /// the value for an instance of the Enum. + private string _value { get; set; } + + /// Creates an instance of the Enum class. + /// the value to create an instance for. + private AgreementType(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Conversion from arbitrary object to AgreementType + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new AgreementType(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type AgreementType + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AgreementType e) + { + return _value.Equals(e._value); + } + + /// Compares values of enum type AgreementType (override for Object) + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is AgreementType && Equals((AgreementType)obj); + } + + /// Returns hashCode for enum AgreementType + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// Returns string representation for AgreementType + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to AgreementType + /// the value to convert to an instance of . + + public static implicit operator AgreementType(string value) + { + return new AgreementType(value); + } + + /// Implicit operator to convert AgreementType to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AgreementType e) + { + return e._value; + } + + /// Overriding != operator for enum AgreementType + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AgreementType e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AgreementType e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum AgreementType + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AgreementType e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AgreementType e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/AutoRenew.Completer.cs b/swaggerci/billing/generated/api/Support/AutoRenew.Completer.cs new file mode 100644 index 000000000000..8c2abf52e032 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/AutoRenew.Completer.cs @@ -0,0 +1,39 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// Indicates whether auto renewal is turned on or off for a product. + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AutoRenewTypeConverter))] + public partial struct AutoRenew : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Off".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Off'", "Off", global::System.Management.Automation.CompletionResultType.ParameterValue, "Off"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "On".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'On'", "On", global::System.Management.Automation.CompletionResultType.ParameterValue, "On"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/AutoRenew.TypeConverter.cs b/swaggerci/billing/generated/api/Support/AutoRenew.TypeConverter.cs new file mode 100644 index 000000000000..c79a040dca2f --- /dev/null +++ b/swaggerci/billing/generated/api/Support/AutoRenew.TypeConverter.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// Indicates whether auto renewal is turned on or off for a product. + public partial class AutoRenewTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => AutoRenew.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/AutoRenew.cs b/swaggerci/billing/generated/api/Support/AutoRenew.cs new file mode 100644 index 000000000000..294f6ffd23d0 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/AutoRenew.cs @@ -0,0 +1,98 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// Indicates whether auto renewal is turned on or off for a product. + public partial struct AutoRenew : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AutoRenew Off = @"Off"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AutoRenew On = @"On"; + + /// the value for an instance of the Enum. + private string _value { get; set; } + + /// Creates an instance of the Enum class. + /// the value to create an instance for. + private AutoRenew(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Conversion from arbitrary object to AutoRenew + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new AutoRenew(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type AutoRenew + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AutoRenew e) + { + return _value.Equals(e._value); + } + + /// Compares values of enum type AutoRenew (override for Object) + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is AutoRenew && Equals((AutoRenew)obj); + } + + /// Returns hashCode for enum AutoRenew + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// Returns string representation for AutoRenew + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to AutoRenew + /// the value to convert to an instance of . + + public static implicit operator AutoRenew(string value) + { + return new AutoRenew(value); + } + + /// Implicit operator to convert AutoRenew to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AutoRenew e) + { + return e._value; + } + + /// Overriding != operator for enum AutoRenew + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AutoRenew e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AutoRenew e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum AutoRenew + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AutoRenew e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AutoRenew e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/BillingFrequency.Completer.cs b/swaggerci/billing/generated/api/Support/BillingFrequency.Completer.cs new file mode 100644 index 000000000000..6f6f64cc27b8 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/BillingFrequency.Completer.cs @@ -0,0 +1,43 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The frequency at which the product will be billed. + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingFrequencyTypeConverter))] + public partial struct BillingFrequency : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "OneTime".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'OneTime'", "OneTime", global::System.Management.Automation.CompletionResultType.ParameterValue, "OneTime"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Monthly".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Monthly'", "Monthly", global::System.Management.Automation.CompletionResultType.ParameterValue, "Monthly"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "UsageBased".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'UsageBased'", "UsageBased", global::System.Management.Automation.CompletionResultType.ParameterValue, "UsageBased"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/BillingFrequency.TypeConverter.cs b/swaggerci/billing/generated/api/Support/BillingFrequency.TypeConverter.cs new file mode 100644 index 000000000000..c4165ab0a79a --- /dev/null +++ b/swaggerci/billing/generated/api/Support/BillingFrequency.TypeConverter.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The frequency at which the product will be billed. + public partial class BillingFrequencyTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => BillingFrequency.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/BillingFrequency.cs b/swaggerci/billing/generated/api/Support/BillingFrequency.cs new file mode 100644 index 000000000000..eb878a0c70bb --- /dev/null +++ b/swaggerci/billing/generated/api/Support/BillingFrequency.cs @@ -0,0 +1,100 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The frequency at which the product will be billed. + public partial struct BillingFrequency : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingFrequency Monthly = @"Monthly"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingFrequency OneTime = @"OneTime"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingFrequency UsageBased = @"UsageBased"; + + /// the value for an instance of the Enum. + private string _value { get; set; } + + /// Creates an instance of the Enum class. + /// the value to create an instance for. + private BillingFrequency(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Conversion from arbitrary object to BillingFrequency + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new BillingFrequency(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type BillingFrequency + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingFrequency e) + { + return _value.Equals(e._value); + } + + /// Compares values of enum type BillingFrequency (override for Object) + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is BillingFrequency && Equals((BillingFrequency)obj); + } + + /// Returns hashCode for enum BillingFrequency + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// Returns string representation for BillingFrequency + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to BillingFrequency + /// the value to convert to an instance of . + + public static implicit operator BillingFrequency(string value) + { + return new BillingFrequency(value); + } + + /// Implicit operator to convert BillingFrequency to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingFrequency e) + { + return e._value; + } + + /// Overriding != operator for enum BillingFrequency + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingFrequency e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingFrequency e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum BillingFrequency + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingFrequency e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingFrequency e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/BillingProfileSpendingLimit.Completer.cs b/swaggerci/billing/generated/api/Support/BillingProfileSpendingLimit.Completer.cs new file mode 100644 index 000000000000..cb4c55bf9718 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/BillingProfileSpendingLimit.Completer.cs @@ -0,0 +1,39 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The billing profile spending limit. + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileSpendingLimitTypeConverter))] + public partial struct BillingProfileSpendingLimit : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Off".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Off'", "Off", global::System.Management.Automation.CompletionResultType.ParameterValue, "Off"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "On".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'On'", "On", global::System.Management.Automation.CompletionResultType.ParameterValue, "On"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/BillingProfileSpendingLimit.TypeConverter.cs b/swaggerci/billing/generated/api/Support/BillingProfileSpendingLimit.TypeConverter.cs new file mode 100644 index 000000000000..dc1f2d3a7958 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/BillingProfileSpendingLimit.TypeConverter.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The billing profile spending limit. + public partial class BillingProfileSpendingLimitTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => BillingProfileSpendingLimit.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/BillingProfileSpendingLimit.cs b/swaggerci/billing/generated/api/Support/BillingProfileSpendingLimit.cs new file mode 100644 index 000000000000..54ad723f52e2 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/BillingProfileSpendingLimit.cs @@ -0,0 +1,102 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The billing profile spending limit. + public partial struct BillingProfileSpendingLimit : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileSpendingLimit Off = @"Off"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileSpendingLimit On = @"On"; + + /// + /// the value for an instance of the Enum. + /// + private string _value { get; set; } + + /// + /// Creates an instance of the Enum class. + /// + /// the value to create an instance for. + private BillingProfileSpendingLimit(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Conversion from arbitrary object to BillingProfileSpendingLimit + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new BillingProfileSpendingLimit(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type BillingProfileSpendingLimit + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileSpendingLimit e) + { + return _value.Equals(e._value); + } + + /// Compares values of enum type BillingProfileSpendingLimit (override for Object) + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is BillingProfileSpendingLimit && Equals((BillingProfileSpendingLimit)obj); + } + + /// Returns hashCode for enum BillingProfileSpendingLimit + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// Returns string representation for BillingProfileSpendingLimit + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to BillingProfileSpendingLimit + /// the value to convert to an instance of . + + public static implicit operator BillingProfileSpendingLimit(string value) + { + return new BillingProfileSpendingLimit(value); + } + + /// Implicit operator to convert BillingProfileSpendingLimit to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileSpendingLimit e) + { + return e._value; + } + + /// Overriding != operator for enum BillingProfileSpendingLimit + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileSpendingLimit e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileSpendingLimit e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum BillingProfileSpendingLimit + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileSpendingLimit e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileSpendingLimit e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/BillingProfileStatus.Completer.cs b/swaggerci/billing/generated/api/Support/BillingProfileStatus.Completer.cs new file mode 100644 index 000000000000..d38e3f066fb2 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/BillingProfileStatus.Completer.cs @@ -0,0 +1,43 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The status of the billing profile. + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatusTypeConverter))] + public partial struct BillingProfileStatus : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Active".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Active'", "Active", global::System.Management.Automation.CompletionResultType.ParameterValue, "Active"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Disabled".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Disabled'", "Disabled", global::System.Management.Automation.CompletionResultType.ParameterValue, "Disabled"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Warned".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Warned'", "Warned", global::System.Management.Automation.CompletionResultType.ParameterValue, "Warned"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/BillingProfileStatus.TypeConverter.cs b/swaggerci/billing/generated/api/Support/BillingProfileStatus.TypeConverter.cs new file mode 100644 index 000000000000..2d31322b8afb --- /dev/null +++ b/swaggerci/billing/generated/api/Support/BillingProfileStatus.TypeConverter.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The status of the billing profile. + public partial class BillingProfileStatusTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => BillingProfileStatus.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/BillingProfileStatus.cs b/swaggerci/billing/generated/api/Support/BillingProfileStatus.cs new file mode 100644 index 000000000000..8cd455f57ba7 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/BillingProfileStatus.cs @@ -0,0 +1,100 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The status of the billing profile. + public partial struct BillingProfileStatus : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus Active = @"Active"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus Disabled = @"Disabled"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus Warned = @"Warned"; + + /// the value for an instance of the Enum. + private string _value { get; set; } + + /// Creates an instance of the Enum class. + /// the value to create an instance for. + private BillingProfileStatus(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Conversion from arbitrary object to BillingProfileStatus + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new BillingProfileStatus(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type BillingProfileStatus + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus e) + { + return _value.Equals(e._value); + } + + /// Compares values of enum type BillingProfileStatus (override for Object) + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is BillingProfileStatus && Equals((BillingProfileStatus)obj); + } + + /// Returns hashCode for enum BillingProfileStatus + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// Returns string representation for BillingProfileStatus + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to BillingProfileStatus + /// the value to convert to an instance of . + + public static implicit operator BillingProfileStatus(string value) + { + return new BillingProfileStatus(value); + } + + /// Implicit operator to convert BillingProfileStatus to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus e) + { + return e._value; + } + + /// Overriding != operator for enum BillingProfileStatus + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum BillingProfileStatus + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatus e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/BillingProfileStatusReasonCode.Completer.cs b/swaggerci/billing/generated/api/Support/BillingProfileStatusReasonCode.Completer.cs new file mode 100644 index 000000000000..767242b9b0e2 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/BillingProfileStatusReasonCode.Completer.cs @@ -0,0 +1,43 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// Reason for the specified billing profile status. + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatusReasonCodeTypeConverter))] + public partial struct BillingProfileStatusReasonCode : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "PastDue".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'PastDue'", "PastDue", global::System.Management.Automation.CompletionResultType.ParameterValue, "PastDue"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "SpendingLimitReached".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'SpendingLimitReached'", "SpendingLimitReached", global::System.Management.Automation.CompletionResultType.ParameterValue, "SpendingLimitReached"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "SpendingLimitExpired".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'SpendingLimitExpired'", "SpendingLimitExpired", global::System.Management.Automation.CompletionResultType.ParameterValue, "SpendingLimitExpired"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/BillingProfileStatusReasonCode.TypeConverter.cs b/swaggerci/billing/generated/api/Support/BillingProfileStatusReasonCode.TypeConverter.cs new file mode 100644 index 000000000000..9c4a610098df --- /dev/null +++ b/swaggerci/billing/generated/api/Support/BillingProfileStatusReasonCode.TypeConverter.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// Reason for the specified billing profile status. + public partial class BillingProfileStatusReasonCodeTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => BillingProfileStatusReasonCode.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/BillingProfileStatusReasonCode.cs b/swaggerci/billing/generated/api/Support/BillingProfileStatusReasonCode.cs new file mode 100644 index 000000000000..2d0eacf5249b --- /dev/null +++ b/swaggerci/billing/generated/api/Support/BillingProfileStatusReasonCode.cs @@ -0,0 +1,106 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// Reason for the specified billing profile status. + public partial struct BillingProfileStatusReasonCode : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatusReasonCode PastDue = @"PastDue"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatusReasonCode SpendingLimitExpired = @"SpendingLimitExpired"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatusReasonCode SpendingLimitReached = @"SpendingLimitReached"; + + /// + /// the value for an instance of the Enum. + /// + private string _value { get; set; } + + /// + /// Creates an instance of the Enum class. + /// + /// the value to create an instance for. + private BillingProfileStatusReasonCode(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Conversion from arbitrary object to BillingProfileStatusReasonCode + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new BillingProfileStatusReasonCode(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type BillingProfileStatusReasonCode + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatusReasonCode e) + { + return _value.Equals(e._value); + } + + /// + /// Compares values of enum type BillingProfileStatusReasonCode (override for Object) + /// + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is BillingProfileStatusReasonCode && Equals((BillingProfileStatusReasonCode)obj); + } + + /// Returns hashCode for enum BillingProfileStatusReasonCode + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// Returns string representation for BillingProfileStatusReasonCode + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to BillingProfileStatusReasonCode + /// the value to convert to an instance of . + + public static implicit operator BillingProfileStatusReasonCode(string value) + { + return new BillingProfileStatusReasonCode(value); + } + + /// Implicit operator to convert BillingProfileStatusReasonCode to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatusReasonCode e) + { + return e._value; + } + + /// Overriding != operator for enum BillingProfileStatusReasonCode + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatusReasonCode e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatusReasonCode e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum BillingProfileStatusReasonCode + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatusReasonCode e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingProfileStatusReasonCode e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/BillingRelationshipType.Completer.cs b/swaggerci/billing/generated/api/Support/BillingRelationshipType.Completer.cs new file mode 100644 index 000000000000..5ec4b43f25e9 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/BillingRelationshipType.Completer.cs @@ -0,0 +1,47 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// Identifies which services and purchases are paid by a billing profile. + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingRelationshipTypeTypeConverter))] + public partial struct BillingRelationshipType : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Direct".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Direct'", "Direct", global::System.Management.Automation.CompletionResultType.ParameterValue, "Direct"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "IndirectCustomer".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'IndirectCustomer'", "IndirectCustomer", global::System.Management.Automation.CompletionResultType.ParameterValue, "IndirectCustomer"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "IndirectPartner".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'IndirectPartner'", "IndirectPartner", global::System.Management.Automation.CompletionResultType.ParameterValue, "IndirectPartner"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "CSPPartner".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'CSPPartner'", "CSPPartner", global::System.Management.Automation.CompletionResultType.ParameterValue, "CSPPartner"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/BillingRelationshipType.TypeConverter.cs b/swaggerci/billing/generated/api/Support/BillingRelationshipType.TypeConverter.cs new file mode 100644 index 000000000000..80f79c12a647 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/BillingRelationshipType.TypeConverter.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// Identifies which services and purchases are paid by a billing profile. + public partial class BillingRelationshipTypeTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => BillingRelationshipType.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/BillingRelationshipType.cs b/swaggerci/billing/generated/api/Support/BillingRelationshipType.cs new file mode 100644 index 000000000000..60e5f388f385 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/BillingRelationshipType.cs @@ -0,0 +1,102 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// Identifies which services and purchases are paid by a billing profile. + public partial struct BillingRelationshipType : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingRelationshipType CspPartner = @"CSPPartner"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingRelationshipType Direct = @"Direct"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingRelationshipType IndirectCustomer = @"IndirectCustomer"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingRelationshipType IndirectPartner = @"IndirectPartner"; + + /// the value for an instance of the Enum. + private string _value { get; set; } + + /// Creates an instance of the Enum class. + /// the value to create an instance for. + private BillingRelationshipType(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Conversion from arbitrary object to BillingRelationshipType + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new BillingRelationshipType(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type BillingRelationshipType + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingRelationshipType e) + { + return _value.Equals(e._value); + } + + /// Compares values of enum type BillingRelationshipType (override for Object) + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is BillingRelationshipType && Equals((BillingRelationshipType)obj); + } + + /// Returns hashCode for enum BillingRelationshipType + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// Returns string representation for BillingRelationshipType + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to BillingRelationshipType + /// the value to convert to an instance of . + + public static implicit operator BillingRelationshipType(string value) + { + return new BillingRelationshipType(value); + } + + /// Implicit operator to convert BillingRelationshipType to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingRelationshipType e) + { + return e._value; + } + + /// Overriding != operator for enum BillingRelationshipType + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingRelationshipType e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingRelationshipType e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum BillingRelationshipType + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingRelationshipType e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingRelationshipType e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/BillingSubscriptionStatusType.Completer.cs b/swaggerci/billing/generated/api/Support/BillingSubscriptionStatusType.Completer.cs new file mode 100644 index 000000000000..0332d9d560ef --- /dev/null +++ b/swaggerci/billing/generated/api/Support/BillingSubscriptionStatusType.Completer.cs @@ -0,0 +1,51 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The current billing status of the subscription. + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusTypeTypeConverter))] + public partial struct BillingSubscriptionStatusType : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Active".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Active'", "Active", global::System.Management.Automation.CompletionResultType.ParameterValue, "Active"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Inactive".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Inactive'", "Inactive", global::System.Management.Automation.CompletionResultType.ParameterValue, "Inactive"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Abandoned".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Abandoned'", "Abandoned", global::System.Management.Automation.CompletionResultType.ParameterValue, "Abandoned"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Deleted".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Deleted'", "Deleted", global::System.Management.Automation.CompletionResultType.ParameterValue, "Deleted"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Warning".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Warning'", "Warning", global::System.Management.Automation.CompletionResultType.ParameterValue, "Warning"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/BillingSubscriptionStatusType.TypeConverter.cs b/swaggerci/billing/generated/api/Support/BillingSubscriptionStatusType.TypeConverter.cs new file mode 100644 index 000000000000..413b86930d05 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/BillingSubscriptionStatusType.TypeConverter.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The current billing status of the subscription. + public partial class BillingSubscriptionStatusTypeTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => BillingSubscriptionStatusType.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/BillingSubscriptionStatusType.cs b/swaggerci/billing/generated/api/Support/BillingSubscriptionStatusType.cs new file mode 100644 index 000000000000..a240f7dfe821 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/BillingSubscriptionStatusType.cs @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The current billing status of the subscription. + public partial struct BillingSubscriptionStatusType : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType Abandoned = @"Abandoned"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType Active = @"Active"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType Deleted = @"Deleted"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType Inactive = @"Inactive"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType Warning = @"Warning"; + + /// + /// the value for an instance of the Enum. + /// + private string _value { get; set; } + + /// + /// Creates an instance of the Enum class. + /// + /// the value to create an instance for. + private BillingSubscriptionStatusType(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Conversion from arbitrary object to BillingSubscriptionStatusType + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new BillingSubscriptionStatusType(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type BillingSubscriptionStatusType + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType e) + { + return _value.Equals(e._value); + } + + /// + /// Compares values of enum type BillingSubscriptionStatusType (override for Object) + /// + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is BillingSubscriptionStatusType && Equals((BillingSubscriptionStatusType)obj); + } + + /// Returns hashCode for enum BillingSubscriptionStatusType + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// Returns string representation for BillingSubscriptionStatusType + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to BillingSubscriptionStatusType + /// the value to convert to an instance of . + + public static implicit operator BillingSubscriptionStatusType(string value) + { + return new BillingSubscriptionStatusType(value); + } + + /// Implicit operator to convert BillingSubscriptionStatusType to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType e) + { + return e._value; + } + + /// Overriding != operator for enum BillingSubscriptionStatusType + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum BillingSubscriptionStatusType + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/Category.Completer.cs b/swaggerci/billing/generated/api/Support/Category.Completer.cs new file mode 100644 index 000000000000..5265fc7b7fc0 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/Category.Completer.cs @@ -0,0 +1,43 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The category of the agreement signed by a customer. + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.CategoryTypeConverter))] + public partial struct Category : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "MicrosoftCustomerAgreement".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'MicrosoftCustomerAgreement'", "MicrosoftCustomerAgreement", global::System.Management.Automation.CompletionResultType.ParameterValue, "MicrosoftCustomerAgreement"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "AffiliatePurchaseTerms".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'AffiliatePurchaseTerms'", "AffiliatePurchaseTerms", global::System.Management.Automation.CompletionResultType.ParameterValue, "AffiliatePurchaseTerms"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Other".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Other'", "Other", global::System.Management.Automation.CompletionResultType.ParameterValue, "Other"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/Category.TypeConverter.cs b/swaggerci/billing/generated/api/Support/Category.TypeConverter.cs new file mode 100644 index 000000000000..e63da739b24e --- /dev/null +++ b/swaggerci/billing/generated/api/Support/Category.TypeConverter.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The category of the agreement signed by a customer. + public partial class CategoryTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => Category.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/Category.cs b/swaggerci/billing/generated/api/Support/Category.cs new file mode 100644 index 000000000000..900a8450a7f0 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/Category.cs @@ -0,0 +1,100 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The category of the agreement signed by a customer. + public partial struct Category : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.Category AffiliatePurchaseTerms = @"AffiliatePurchaseTerms"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.Category MicrosoftCustomerAgreement = @"MicrosoftCustomerAgreement"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.Category Other = @"Other"; + + /// the value for an instance of the Enum. + private string _value { get; set; } + + /// Creates an instance of the Enum class. + /// the value to create an instance for. + private Category(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Conversion from arbitrary object to Category + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new Category(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type Category + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.Category e) + { + return _value.Equals(e._value); + } + + /// Compares values of enum type Category (override for Object) + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is Category && Equals((Category)obj); + } + + /// Returns hashCode for enum Category + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// Returns string representation for Category + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to Category + /// the value to convert to an instance of . + + public static implicit operator Category(string value) + { + return new Category(value); + } + + /// Implicit operator to convert Category to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.Category e) + { + return e._value; + } + + /// Overriding != operator for enum Category + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.Category e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.Category e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum Category + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.Category e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.Category e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/DocumentSource.Completer.cs b/swaggerci/billing/generated/api/Support/DocumentSource.Completer.cs new file mode 100644 index 000000000000..caa0ea7c9833 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/DocumentSource.Completer.cs @@ -0,0 +1,39 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The source of the document. ENF for Brazil and DRS for rest of the world. + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.DocumentSourceTypeConverter))] + public partial struct DocumentSource : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "DRS".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'DRS'", "DRS", global::System.Management.Automation.CompletionResultType.ParameterValue, "DRS"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "ENF".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'ENF'", "ENF", global::System.Management.Automation.CompletionResultType.ParameterValue, "ENF"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/DocumentSource.TypeConverter.cs b/swaggerci/billing/generated/api/Support/DocumentSource.TypeConverter.cs new file mode 100644 index 000000000000..384fcb7801a5 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/DocumentSource.TypeConverter.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The source of the document. ENF for Brazil and DRS for rest of the world. + public partial class DocumentSourceTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => DocumentSource.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/DocumentSource.cs b/swaggerci/billing/generated/api/Support/DocumentSource.cs new file mode 100644 index 000000000000..b48148ec7172 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/DocumentSource.cs @@ -0,0 +1,98 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The source of the document. ENF for Brazil and DRS for rest of the world. + public partial struct DocumentSource : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.DocumentSource Drs = @"DRS"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.DocumentSource Enf = @"ENF"; + + /// the value for an instance of the Enum. + private string _value { get; set; } + + /// Conversion from arbitrary object to DocumentSource + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new DocumentSource(global::System.Convert.ToString(value)); + } + + /// Creates an instance of the Enum class. + /// the value to create an instance for. + private DocumentSource(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Compares values of enum type DocumentSource + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.DocumentSource e) + { + return _value.Equals(e._value); + } + + /// Compares values of enum type DocumentSource (override for Object) + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is DocumentSource && Equals((DocumentSource)obj); + } + + /// Returns hashCode for enum DocumentSource + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// Returns string representation for DocumentSource + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to DocumentSource + /// the value to convert to an instance of . + + public static implicit operator DocumentSource(string value) + { + return new DocumentSource(value); + } + + /// Implicit operator to convert DocumentSource to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.DocumentSource e) + { + return e._value; + } + + /// Overriding != operator for enum DocumentSource + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.DocumentSource e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.DocumentSource e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum DocumentSource + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.DocumentSource e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.DocumentSource e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/DocumentType.Completer.cs b/swaggerci/billing/generated/api/Support/DocumentType.Completer.cs new file mode 100644 index 000000000000..5e1b0bf7edae --- /dev/null +++ b/swaggerci/billing/generated/api/Support/DocumentType.Completer.cs @@ -0,0 +1,47 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The type of the document. + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.DocumentTypeTypeConverter))] + public partial struct DocumentType : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Invoice".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Invoice'", "Invoice", global::System.Management.Automation.CompletionResultType.ParameterValue, "Invoice"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "VoidNote".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'VoidNote'", "VoidNote", global::System.Management.Automation.CompletionResultType.ParameterValue, "VoidNote"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "TaxReceipt".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'TaxReceipt'", "TaxReceipt", global::System.Management.Automation.CompletionResultType.ParameterValue, "TaxReceipt"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "CreditNote".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'CreditNote'", "CreditNote", global::System.Management.Automation.CompletionResultType.ParameterValue, "CreditNote"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/DocumentType.TypeConverter.cs b/swaggerci/billing/generated/api/Support/DocumentType.TypeConverter.cs new file mode 100644 index 000000000000..571347fc8b3a --- /dev/null +++ b/swaggerci/billing/generated/api/Support/DocumentType.TypeConverter.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The type of the document. + public partial class DocumentTypeTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => DocumentType.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/DocumentType.cs b/swaggerci/billing/generated/api/Support/DocumentType.cs new file mode 100644 index 000000000000..124ae29ad4db --- /dev/null +++ b/swaggerci/billing/generated/api/Support/DocumentType.cs @@ -0,0 +1,102 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The type of the document. + public partial struct DocumentType : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.DocumentType CreditNote = @"CreditNote"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.DocumentType Invoice = @"Invoice"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.DocumentType TaxReceipt = @"TaxReceipt"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.DocumentType VoidNote = @"VoidNote"; + + /// the value for an instance of the Enum. + private string _value { get; set; } + + /// Conversion from arbitrary object to DocumentType + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new DocumentType(global::System.Convert.ToString(value)); + } + + /// Creates an instance of the Enum class. + /// the value to create an instance for. + private DocumentType(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Compares values of enum type DocumentType + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.DocumentType e) + { + return _value.Equals(e._value); + } + + /// Compares values of enum type DocumentType (override for Object) + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is DocumentType && Equals((DocumentType)obj); + } + + /// Returns hashCode for enum DocumentType + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// Returns string representation for DocumentType + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to DocumentType + /// the value to convert to an instance of . + + public static implicit operator DocumentType(string value) + { + return new DocumentType(value); + } + + /// Implicit operator to convert DocumentType to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.DocumentType e) + { + return e._value; + } + + /// Overriding != operator for enum DocumentType + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.DocumentType e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.DocumentType e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum DocumentType + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.DocumentType e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.DocumentType e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/InvoiceDocumentType.Completer.cs b/swaggerci/billing/generated/api/Support/InvoiceDocumentType.Completer.cs new file mode 100644 index 000000000000..a4e174d8a7eb --- /dev/null +++ b/swaggerci/billing/generated/api/Support/InvoiceDocumentType.Completer.cs @@ -0,0 +1,39 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The type of the document. + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceDocumentTypeTypeConverter))] + public partial struct InvoiceDocumentType : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Invoice".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Invoice'", "Invoice", global::System.Management.Automation.CompletionResultType.ParameterValue, "Invoice"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "CreditNote".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'CreditNote'", "CreditNote", global::System.Management.Automation.CompletionResultType.ParameterValue, "CreditNote"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/InvoiceDocumentType.TypeConverter.cs b/swaggerci/billing/generated/api/Support/InvoiceDocumentType.TypeConverter.cs new file mode 100644 index 000000000000..f10ab50c90cf --- /dev/null +++ b/swaggerci/billing/generated/api/Support/InvoiceDocumentType.TypeConverter.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The type of the document. + public partial class InvoiceDocumentTypeTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => InvoiceDocumentType.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/InvoiceDocumentType.cs b/swaggerci/billing/generated/api/Support/InvoiceDocumentType.cs new file mode 100644 index 000000000000..91ba1b5ed392 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/InvoiceDocumentType.cs @@ -0,0 +1,98 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The type of the document. + public partial struct InvoiceDocumentType : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceDocumentType CreditNote = @"CreditNote"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceDocumentType Invoice = @"Invoice"; + + /// the value for an instance of the Enum. + private string _value { get; set; } + + /// Conversion from arbitrary object to InvoiceDocumentType + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new InvoiceDocumentType(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type InvoiceDocumentType + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceDocumentType e) + { + return _value.Equals(e._value); + } + + /// Compares values of enum type InvoiceDocumentType (override for Object) + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is InvoiceDocumentType && Equals((InvoiceDocumentType)obj); + } + + /// Returns hashCode for enum InvoiceDocumentType + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// Creates an instance of the Enum class. + /// the value to create an instance for. + private InvoiceDocumentType(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Returns string representation for InvoiceDocumentType + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to InvoiceDocumentType + /// the value to convert to an instance of . + + public static implicit operator InvoiceDocumentType(string value) + { + return new InvoiceDocumentType(value); + } + + /// Implicit operator to convert InvoiceDocumentType to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceDocumentType e) + { + return e._value; + } + + /// Overriding != operator for enum InvoiceDocumentType + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceDocumentType e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceDocumentType e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum InvoiceDocumentType + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceDocumentType e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceDocumentType e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/InvoiceSectionState.Completer.cs b/swaggerci/billing/generated/api/Support/InvoiceSectionState.Completer.cs new file mode 100644 index 000000000000..a000ead7649c --- /dev/null +++ b/swaggerci/billing/generated/api/Support/InvoiceSectionState.Completer.cs @@ -0,0 +1,39 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// Identifies the state of an invoice section. + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceSectionStateTypeConverter))] + public partial struct InvoiceSectionState : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Active".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Active'", "Active", global::System.Management.Automation.CompletionResultType.ParameterValue, "Active"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Restricted".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Restricted'", "Restricted", global::System.Management.Automation.CompletionResultType.ParameterValue, "Restricted"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/InvoiceSectionState.TypeConverter.cs b/swaggerci/billing/generated/api/Support/InvoiceSectionState.TypeConverter.cs new file mode 100644 index 000000000000..7f607a65a023 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/InvoiceSectionState.TypeConverter.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// Identifies the state of an invoice section. + public partial class InvoiceSectionStateTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => InvoiceSectionState.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/InvoiceSectionState.cs b/swaggerci/billing/generated/api/Support/InvoiceSectionState.cs new file mode 100644 index 000000000000..de0a298eb6bd --- /dev/null +++ b/swaggerci/billing/generated/api/Support/InvoiceSectionState.cs @@ -0,0 +1,98 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// Identifies the state of an invoice section. + public partial struct InvoiceSectionState : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceSectionState Active = @"Active"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceSectionState Restricted = @"Restricted"; + + /// the value for an instance of the Enum. + private string _value { get; set; } + + /// Conversion from arbitrary object to InvoiceSectionState + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new InvoiceSectionState(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type InvoiceSectionState + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceSectionState e) + { + return _value.Equals(e._value); + } + + /// Compares values of enum type InvoiceSectionState (override for Object) + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is InvoiceSectionState && Equals((InvoiceSectionState)obj); + } + + /// Returns hashCode for enum InvoiceSectionState + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// Creates an instance of the Enum class. + /// the value to create an instance for. + private InvoiceSectionState(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Returns string representation for InvoiceSectionState + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to InvoiceSectionState + /// the value to convert to an instance of . + + public static implicit operator InvoiceSectionState(string value) + { + return new InvoiceSectionState(value); + } + + /// Implicit operator to convert InvoiceSectionState to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceSectionState e) + { + return e._value; + } + + /// Overriding != operator for enum InvoiceSectionState + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceSectionState e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceSectionState e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum InvoiceSectionState + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceSectionState e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceSectionState e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/InvoiceStatus.Completer.cs b/swaggerci/billing/generated/api/Support/InvoiceStatus.Completer.cs new file mode 100644 index 000000000000..4c066a7749d8 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/InvoiceStatus.Completer.cs @@ -0,0 +1,47 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The current status of the invoice. + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceStatusTypeConverter))] + public partial struct InvoiceStatus : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Due".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Due'", "Due", global::System.Management.Automation.CompletionResultType.ParameterValue, "Due"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "OverDue".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'OverDue'", "OverDue", global::System.Management.Automation.CompletionResultType.ParameterValue, "OverDue"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Paid".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Paid'", "Paid", global::System.Management.Automation.CompletionResultType.ParameterValue, "Paid"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Void".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Void'", "Void", global::System.Management.Automation.CompletionResultType.ParameterValue, "Void"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/InvoiceStatus.TypeConverter.cs b/swaggerci/billing/generated/api/Support/InvoiceStatus.TypeConverter.cs new file mode 100644 index 000000000000..17a31347c36a --- /dev/null +++ b/swaggerci/billing/generated/api/Support/InvoiceStatus.TypeConverter.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The current status of the invoice. + public partial class InvoiceStatusTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => InvoiceStatus.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/InvoiceStatus.cs b/swaggerci/billing/generated/api/Support/InvoiceStatus.cs new file mode 100644 index 000000000000..0bb6403f9f77 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/InvoiceStatus.cs @@ -0,0 +1,102 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The current status of the invoice. + public partial struct InvoiceStatus : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceStatus Due = @"Due"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceStatus OverDue = @"OverDue"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceStatus Paid = @"Paid"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceStatus Void = @"Void"; + + /// the value for an instance of the Enum. + private string _value { get; set; } + + /// Conversion from arbitrary object to InvoiceStatus + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new InvoiceStatus(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type InvoiceStatus + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceStatus e) + { + return _value.Equals(e._value); + } + + /// Compares values of enum type InvoiceStatus (override for Object) + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is InvoiceStatus && Equals((InvoiceStatus)obj); + } + + /// Returns hashCode for enum InvoiceStatus + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// Creates an instance of the Enum class. + /// the value to create an instance for. + private InvoiceStatus(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Returns string representation for InvoiceStatus + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to InvoiceStatus + /// the value to convert to an instance of . + + public static implicit operator InvoiceStatus(string value) + { + return new InvoiceStatus(value); + } + + /// Implicit operator to convert InvoiceStatus to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceStatus e) + { + return e._value; + } + + /// Overriding != operator for enum InvoiceStatus + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceStatus e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceStatus e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum InvoiceStatus + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceStatus e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceStatus e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/InvoiceType.Completer.cs b/swaggerci/billing/generated/api/Support/InvoiceType.Completer.cs new file mode 100644 index 000000000000..ba15c8cb5b65 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/InvoiceType.Completer.cs @@ -0,0 +1,43 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// Invoice type. + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceTypeTypeConverter))] + public partial struct InvoiceType : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "AzureService".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'AzureService'", "AzureService", global::System.Management.Automation.CompletionResultType.ParameterValue, "AzureService"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "AzureMarketplace".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'AzureMarketplace'", "AzureMarketplace", global::System.Management.Automation.CompletionResultType.ParameterValue, "AzureMarketplace"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "AzureSupport".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'AzureSupport'", "AzureSupport", global::System.Management.Automation.CompletionResultType.ParameterValue, "AzureSupport"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/InvoiceType.TypeConverter.cs b/swaggerci/billing/generated/api/Support/InvoiceType.TypeConverter.cs new file mode 100644 index 000000000000..a5cf5c8bcc62 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/InvoiceType.TypeConverter.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// Invoice type. + public partial class InvoiceTypeTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => InvoiceType.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/InvoiceType.cs b/swaggerci/billing/generated/api/Support/InvoiceType.cs new file mode 100644 index 000000000000..652a27821189 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/InvoiceType.cs @@ -0,0 +1,100 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// Invoice type. + public partial struct InvoiceType : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceType AzureMarketplace = @"AzureMarketplace"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceType AzureService = @"AzureService"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceType AzureSupport = @"AzureSupport"; + + /// the value for an instance of the Enum. + private string _value { get; set; } + + /// Conversion from arbitrary object to InvoiceType + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new InvoiceType(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type InvoiceType + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceType e) + { + return _value.Equals(e._value); + } + + /// Compares values of enum type InvoiceType (override for Object) + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is InvoiceType && Equals((InvoiceType)obj); + } + + /// Returns hashCode for enum InvoiceType + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// Creates an instance of the Enum class. + /// the value to create an instance for. + private InvoiceType(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Returns string representation for InvoiceType + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to InvoiceType + /// the value to convert to an instance of . + + public static implicit operator InvoiceType(string value) + { + return new InvoiceType(value); + } + + /// Implicit operator to convert InvoiceType to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceType e) + { + return e._value; + } + + /// Overriding != operator for enum InvoiceType + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceType e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceType e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum InvoiceType + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceType e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.InvoiceType e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/MarketplacePurchasesPolicy.Completer.cs b/swaggerci/billing/generated/api/Support/MarketplacePurchasesPolicy.Completer.cs new file mode 100644 index 000000000000..afdf6bad9d1e --- /dev/null +++ b/swaggerci/billing/generated/api/Support/MarketplacePurchasesPolicy.Completer.cs @@ -0,0 +1,45 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// + /// The policy that controls whether Azure marketplace purchases are allowed for a billing profile. + /// + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.MarketplacePurchasesPolicyTypeConverter))] + public partial struct MarketplacePurchasesPolicy : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "AllAllowed".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'AllAllowed'", "AllAllowed", global::System.Management.Automation.CompletionResultType.ParameterValue, "AllAllowed"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "OnlyFreeAllowed".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'OnlyFreeAllowed'", "OnlyFreeAllowed", global::System.Management.Automation.CompletionResultType.ParameterValue, "OnlyFreeAllowed"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "NotAllowed".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'NotAllowed'", "NotAllowed", global::System.Management.Automation.CompletionResultType.ParameterValue, "NotAllowed"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/MarketplacePurchasesPolicy.TypeConverter.cs b/swaggerci/billing/generated/api/Support/MarketplacePurchasesPolicy.TypeConverter.cs new file mode 100644 index 000000000000..b43675355d9b --- /dev/null +++ b/swaggerci/billing/generated/api/Support/MarketplacePurchasesPolicy.TypeConverter.cs @@ -0,0 +1,61 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// + /// The policy that controls whether Azure marketplace purchases are allowed for a billing profile. + /// + public partial class MarketplacePurchasesPolicyTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => MarketplacePurchasesPolicy.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/MarketplacePurchasesPolicy.cs b/swaggerci/billing/generated/api/Support/MarketplacePurchasesPolicy.cs new file mode 100644 index 000000000000..d049046abfb3 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/MarketplacePurchasesPolicy.cs @@ -0,0 +1,104 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// + /// The policy that controls whether Azure marketplace purchases are allowed for a billing profile. + /// + public partial struct MarketplacePurchasesPolicy : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.MarketplacePurchasesPolicy AllAllowed = @"AllAllowed"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.MarketplacePurchasesPolicy NotAllowed = @"NotAllowed"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.MarketplacePurchasesPolicy OnlyFreeAllowed = @"OnlyFreeAllowed"; + + /// + /// the value for an instance of the Enum. + /// + private string _value { get; set; } + + /// Conversion from arbitrary object to MarketplacePurchasesPolicy + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new MarketplacePurchasesPolicy(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type MarketplacePurchasesPolicy + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.MarketplacePurchasesPolicy e) + { + return _value.Equals(e._value); + } + + /// Compares values of enum type MarketplacePurchasesPolicy (override for Object) + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is MarketplacePurchasesPolicy && Equals((MarketplacePurchasesPolicy)obj); + } + + /// Returns hashCode for enum MarketplacePurchasesPolicy + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// Creates an instance of the Enum class. + /// the value to create an instance for. + private MarketplacePurchasesPolicy(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Returns string representation for MarketplacePurchasesPolicy + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to MarketplacePurchasesPolicy + /// the value to convert to an instance of . + + public static implicit operator MarketplacePurchasesPolicy(string value) + { + return new MarketplacePurchasesPolicy(value); + } + + /// Implicit operator to convert MarketplacePurchasesPolicy to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.MarketplacePurchasesPolicy e) + { + return e._value; + } + + /// Overriding != operator for enum MarketplacePurchasesPolicy + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.MarketplacePurchasesPolicy e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.MarketplacePurchasesPolicy e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum MarketplacePurchasesPolicy + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.MarketplacePurchasesPolicy e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.MarketplacePurchasesPolicy e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/PaymentMethodFamily.Completer.cs b/swaggerci/billing/generated/api/Support/PaymentMethodFamily.Completer.cs new file mode 100644 index 000000000000..5135cff85f51 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/PaymentMethodFamily.Completer.cs @@ -0,0 +1,47 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The family of payment method. + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.PaymentMethodFamilyTypeConverter))] + public partial struct PaymentMethodFamily : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Credits".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Credits'", "Credits", global::System.Management.Automation.CompletionResultType.ParameterValue, "Credits"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "CheckWire".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'CheckWire'", "CheckWire", global::System.Management.Automation.CompletionResultType.ParameterValue, "CheckWire"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "CreditCard".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'CreditCard'", "CreditCard", global::System.Management.Automation.CompletionResultType.ParameterValue, "CreditCard"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "None".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'None'", "None", global::System.Management.Automation.CompletionResultType.ParameterValue, "None"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/PaymentMethodFamily.TypeConverter.cs b/swaggerci/billing/generated/api/Support/PaymentMethodFamily.TypeConverter.cs new file mode 100644 index 000000000000..26e83f2ce586 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/PaymentMethodFamily.TypeConverter.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The family of payment method. + public partial class PaymentMethodFamilyTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => PaymentMethodFamily.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/PaymentMethodFamily.cs b/swaggerci/billing/generated/api/Support/PaymentMethodFamily.cs new file mode 100644 index 000000000000..85c2bc31f325 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/PaymentMethodFamily.cs @@ -0,0 +1,102 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The family of payment method. + public partial struct PaymentMethodFamily : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.PaymentMethodFamily CheckWire = @"CheckWire"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.PaymentMethodFamily CreditCard = @"CreditCard"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.PaymentMethodFamily Credits = @"Credits"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.PaymentMethodFamily None = @"None"; + + /// the value for an instance of the Enum. + private string _value { get; set; } + + /// Conversion from arbitrary object to PaymentMethodFamily + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new PaymentMethodFamily(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type PaymentMethodFamily + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.PaymentMethodFamily e) + { + return _value.Equals(e._value); + } + + /// Compares values of enum type PaymentMethodFamily (override for Object) + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is PaymentMethodFamily && Equals((PaymentMethodFamily)obj); + } + + /// Returns hashCode for enum PaymentMethodFamily + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// Creates an instance of the Enum class. + /// the value to create an instance for. + private PaymentMethodFamily(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Returns string representation for PaymentMethodFamily + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to PaymentMethodFamily + /// the value to convert to an instance of . + + public static implicit operator PaymentMethodFamily(string value) + { + return new PaymentMethodFamily(value); + } + + /// Implicit operator to convert PaymentMethodFamily to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.PaymentMethodFamily e) + { + return e._value; + } + + /// Overriding != operator for enum PaymentMethodFamily + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.PaymentMethodFamily e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.PaymentMethodFamily e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum PaymentMethodFamily + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.PaymentMethodFamily e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.PaymentMethodFamily e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/ProductStatusType.Completer.cs b/swaggerci/billing/generated/api/Support/ProductStatusType.Completer.cs new file mode 100644 index 000000000000..826157e73ce4 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/ProductStatusType.Completer.cs @@ -0,0 +1,63 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The current status of the product. + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusTypeTypeConverter))] + public partial struct ProductStatusType : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Active".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Active'", "Active", global::System.Management.Automation.CompletionResultType.ParameterValue, "Active"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Inactive".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Inactive'", "Inactive", global::System.Management.Automation.CompletionResultType.ParameterValue, "Inactive"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "PastDue".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'PastDue'", "PastDue", global::System.Management.Automation.CompletionResultType.ParameterValue, "PastDue"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Expiring".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Expiring'", "Expiring", global::System.Management.Automation.CompletionResultType.ParameterValue, "Expiring"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Expired".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Expired'", "Expired", global::System.Management.Automation.CompletionResultType.ParameterValue, "Expired"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Disabled".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Disabled'", "Disabled", global::System.Management.Automation.CompletionResultType.ParameterValue, "Disabled"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Cancelled".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Cancelled'", "Cancelled", global::System.Management.Automation.CompletionResultType.ParameterValue, "Cancelled"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "AutoRenew".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'AutoRenew'", "AutoRenew", global::System.Management.Automation.CompletionResultType.ParameterValue, "AutoRenew"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/ProductStatusType.TypeConverter.cs b/swaggerci/billing/generated/api/Support/ProductStatusType.TypeConverter.cs new file mode 100644 index 000000000000..90001cabe992 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/ProductStatusType.TypeConverter.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The current status of the product. + public partial class ProductStatusTypeTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ProductStatusType.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/ProductStatusType.cs b/swaggerci/billing/generated/api/Support/ProductStatusType.cs new file mode 100644 index 000000000000..c3a6edfb38a9 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/ProductStatusType.cs @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The current status of the product. + public partial struct ProductStatusType : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType Active = @"Active"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType AutoRenew = @"AutoRenew"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType Cancelled = @"Cancelled"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType Disabled = @"Disabled"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType Expired = @"Expired"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType Expiring = @"Expiring"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType Inactive = @"Inactive"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType PastDue = @"PastDue"; + + /// the value for an instance of the Enum. + private string _value { get; set; } + + /// Conversion from arbitrary object to ProductStatusType + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new ProductStatusType(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type ProductStatusType + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType e) + { + return _value.Equals(e._value); + } + + /// Compares values of enum type ProductStatusType (override for Object) + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is ProductStatusType && Equals((ProductStatusType)obj); + } + + /// Returns hashCode for enum ProductStatusType + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// Creates an instance of the Enum class. + /// the value to create an instance for. + private ProductStatusType(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Returns string representation for ProductStatusType + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to ProductStatusType + /// the value to convert to an instance of . + + public static implicit operator ProductStatusType(string value) + { + return new ProductStatusType(value); + } + + /// Implicit operator to convert ProductStatusType to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType e) + { + return e._value; + } + + /// Overriding != operator for enum ProductStatusType + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum ProductStatusType + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/ProductTransferValidationErrorCode.Completer.cs b/swaggerci/billing/generated/api/Support/ProductTransferValidationErrorCode.Completer.cs new file mode 100644 index 000000000000..ad5e42d51e84 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/ProductTransferValidationErrorCode.Completer.cs @@ -0,0 +1,67 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// Error code of the transfer validation response. + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductTransferValidationErrorCodeTypeConverter))] + public partial struct ProductTransferValidationErrorCode : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "InvalidSource".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'InvalidSource'", "InvalidSource", global::System.Management.Automation.CompletionResultType.ParameterValue, "InvalidSource"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "ProductNotActive".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'ProductNotActive'", "ProductNotActive", global::System.Management.Automation.CompletionResultType.ParameterValue, "ProductNotActive"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "InsufficientPermissionOnSource".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'InsufficientPermissionOnSource'", "InsufficientPermissionOnSource", global::System.Management.Automation.CompletionResultType.ParameterValue, "InsufficientPermissionOnSource"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "InsufficientPermissionOnDestination".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'InsufficientPermissionOnDestination'", "InsufficientPermissionOnDestination", global::System.Management.Automation.CompletionResultType.ParameterValue, "InsufficientPermissionOnDestination"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "DestinationBillingProfilePastDue".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'DestinationBillingProfilePastDue'", "DestinationBillingProfilePastDue", global::System.Management.Automation.CompletionResultType.ParameterValue, "DestinationBillingProfilePastDue"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "ProductTypeNotSupported".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'ProductTypeNotSupported'", "ProductTypeNotSupported", global::System.Management.Automation.CompletionResultType.ParameterValue, "ProductTypeNotSupported"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "CrossBillingAccountNotAllowed".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'CrossBillingAccountNotAllowed'", "CrossBillingAccountNotAllowed", global::System.Management.Automation.CompletionResultType.ParameterValue, "CrossBillingAccountNotAllowed"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "NotAvailableForDestinationMarket".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'NotAvailableForDestinationMarket'", "NotAvailableForDestinationMarket", global::System.Management.Automation.CompletionResultType.ParameterValue, "NotAvailableForDestinationMarket"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "OneTimePurchaseProductTransferNotAllowed".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'OneTimePurchaseProductTransferNotAllowed'", "OneTimePurchaseProductTransferNotAllowed", global::System.Management.Automation.CompletionResultType.ParameterValue, "OneTimePurchaseProductTransferNotAllowed"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/ProductTransferValidationErrorCode.TypeConverter.cs b/swaggerci/billing/generated/api/Support/ProductTransferValidationErrorCode.TypeConverter.cs new file mode 100644 index 000000000000..86902c4dce8b --- /dev/null +++ b/swaggerci/billing/generated/api/Support/ProductTransferValidationErrorCode.TypeConverter.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// Error code of the transfer validation response. + public partial class ProductTransferValidationErrorCodeTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ProductTransferValidationErrorCode.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/ProductTransferValidationErrorCode.cs b/swaggerci/billing/generated/api/Support/ProductTransferValidationErrorCode.cs new file mode 100644 index 000000000000..e76b50ae42dc --- /dev/null +++ b/swaggerci/billing/generated/api/Support/ProductTransferValidationErrorCode.cs @@ -0,0 +1,118 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// Error code of the transfer validation response. + public partial struct ProductTransferValidationErrorCode : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductTransferValidationErrorCode CrossBillingAccountNotAllowed = @"CrossBillingAccountNotAllowed"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductTransferValidationErrorCode DestinationBillingProfilePastDue = @"DestinationBillingProfilePastDue"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductTransferValidationErrorCode InsufficientPermissionOnDestination = @"InsufficientPermissionOnDestination"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductTransferValidationErrorCode InsufficientPermissionOnSource = @"InsufficientPermissionOnSource"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductTransferValidationErrorCode InvalidSource = @"InvalidSource"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductTransferValidationErrorCode NotAvailableForDestinationMarket = @"NotAvailableForDestinationMarket"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductTransferValidationErrorCode OneTimePurchaseProductTransferNotAllowed = @"OneTimePurchaseProductTransferNotAllowed"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductTransferValidationErrorCode ProductNotActive = @"ProductNotActive"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductTransferValidationErrorCode ProductTypeNotSupported = @"ProductTypeNotSupported"; + + /// + /// the value for an instance of the Enum. + /// + private string _value { get; set; } + + /// Conversion from arbitrary object to ProductTransferValidationErrorCode + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new ProductTransferValidationErrorCode(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type ProductTransferValidationErrorCode + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductTransferValidationErrorCode e) + { + return _value.Equals(e._value); + } + + /// + /// Compares values of enum type ProductTransferValidationErrorCode (override for Object) + /// + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is ProductTransferValidationErrorCode && Equals((ProductTransferValidationErrorCode)obj); + } + + /// Returns hashCode for enum ProductTransferValidationErrorCode + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// + /// Creates an instance of the Enum class. + /// + /// the value to create an instance for. + private ProductTransferValidationErrorCode(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Returns string representation for ProductTransferValidationErrorCode + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to ProductTransferValidationErrorCode + /// the value to convert to an instance of . + + public static implicit operator ProductTransferValidationErrorCode(string value) + { + return new ProductTransferValidationErrorCode(value); + } + + /// Implicit operator to convert ProductTransferValidationErrorCode to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductTransferValidationErrorCode e) + { + return e._value; + } + + /// Overriding != operator for enum ProductTransferValidationErrorCode + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductTransferValidationErrorCode e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductTransferValidationErrorCode e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum ProductTransferValidationErrorCode + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductTransferValidationErrorCode e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductTransferValidationErrorCode e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/ReservationPurchasesPolicy.Completer.cs b/swaggerci/billing/generated/api/Support/ReservationPurchasesPolicy.Completer.cs new file mode 100644 index 000000000000..c16d63ba54fd --- /dev/null +++ b/swaggerci/billing/generated/api/Support/ReservationPurchasesPolicy.Completer.cs @@ -0,0 +1,41 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// + /// The policy that controls whether Azure reservation purchases are allowed for a billing profile. + /// + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationPurchasesPolicyTypeConverter))] + public partial struct ReservationPurchasesPolicy : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Allowed".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Allowed'", "Allowed", global::System.Management.Automation.CompletionResultType.ParameterValue, "Allowed"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "NotAllowed".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'NotAllowed'", "NotAllowed", global::System.Management.Automation.CompletionResultType.ParameterValue, "NotAllowed"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/ReservationPurchasesPolicy.TypeConverter.cs b/swaggerci/billing/generated/api/Support/ReservationPurchasesPolicy.TypeConverter.cs new file mode 100644 index 000000000000..5ac77cfd60a5 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/ReservationPurchasesPolicy.TypeConverter.cs @@ -0,0 +1,61 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// + /// The policy that controls whether Azure reservation purchases are allowed for a billing profile. + /// + public partial class ReservationPurchasesPolicyTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ReservationPurchasesPolicy.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/ReservationPurchasesPolicy.cs b/swaggerci/billing/generated/api/Support/ReservationPurchasesPolicy.cs new file mode 100644 index 000000000000..87e562cca72b --- /dev/null +++ b/swaggerci/billing/generated/api/Support/ReservationPurchasesPolicy.cs @@ -0,0 +1,102 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// + /// The policy that controls whether Azure reservation purchases are allowed for a billing profile. + /// + public partial struct ReservationPurchasesPolicy : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationPurchasesPolicy Allowed = @"Allowed"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationPurchasesPolicy NotAllowed = @"NotAllowed"; + + /// + /// the value for an instance of the Enum. + /// + private string _value { get; set; } + + /// Conversion from arbitrary object to ReservationPurchasesPolicy + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new ReservationPurchasesPolicy(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type ReservationPurchasesPolicy + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationPurchasesPolicy e) + { + return _value.Equals(e._value); + } + + /// Compares values of enum type ReservationPurchasesPolicy (override for Object) + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is ReservationPurchasesPolicy && Equals((ReservationPurchasesPolicy)obj); + } + + /// Returns hashCode for enum ReservationPurchasesPolicy + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// Creates an instance of the Enum class. + /// the value to create an instance for. + private ReservationPurchasesPolicy(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Returns string representation for ReservationPurchasesPolicy + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to ReservationPurchasesPolicy + /// the value to convert to an instance of . + + public static implicit operator ReservationPurchasesPolicy(string value) + { + return new ReservationPurchasesPolicy(value); + } + + /// Implicit operator to convert ReservationPurchasesPolicy to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationPurchasesPolicy e) + { + return e._value; + } + + /// Overriding != operator for enum ReservationPurchasesPolicy + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationPurchasesPolicy e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationPurchasesPolicy e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum ReservationPurchasesPolicy + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationPurchasesPolicy e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationPurchasesPolicy e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/ReservationType.Completer.cs b/swaggerci/billing/generated/api/Support/ReservationType.Completer.cs new file mode 100644 index 000000000000..c9752e007139 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/ReservationType.Completer.cs @@ -0,0 +1,39 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The type of transaction. + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationTypeTypeConverter))] + public partial struct ReservationType : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Purchase".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Purchase'", "Purchase", global::System.Management.Automation.CompletionResultType.ParameterValue, "Purchase"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Usage Charge".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Usage Charge'", "Usage Charge", global::System.Management.Automation.CompletionResultType.ParameterValue, "Usage Charge"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/ReservationType.TypeConverter.cs b/swaggerci/billing/generated/api/Support/ReservationType.TypeConverter.cs new file mode 100644 index 000000000000..083cedf6c5bf --- /dev/null +++ b/swaggerci/billing/generated/api/Support/ReservationType.TypeConverter.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The type of transaction. + public partial class ReservationTypeTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ReservationType.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/ReservationType.cs b/swaggerci/billing/generated/api/Support/ReservationType.cs new file mode 100644 index 000000000000..defb8e617bc3 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/ReservationType.cs @@ -0,0 +1,98 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The type of transaction. + public partial struct ReservationType : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationType Purchase = @"Purchase"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationType UsageCharge = @"Usage Charge"; + + /// the value for an instance of the Enum. + private string _value { get; set; } + + /// Conversion from arbitrary object to ReservationType + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new ReservationType(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type ReservationType + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationType e) + { + return _value.Equals(e._value); + } + + /// Compares values of enum type ReservationType (override for Object) + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is ReservationType && Equals((ReservationType)obj); + } + + /// Returns hashCode for enum ReservationType + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// Creates an instance of the Enum class. + /// the value to create an instance for. + private ReservationType(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Returns string representation for ReservationType + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to ReservationType + /// the value to convert to an instance of . + + public static implicit operator ReservationType(string value) + { + return new ReservationType(value); + } + + /// Implicit operator to convert ReservationType to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationType e) + { + return e._value; + } + + /// Overriding != operator for enum ReservationType + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationType e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationType e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum ReservationType + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationType e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ReservationType e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/SpendingLimit.Completer.cs b/swaggerci/billing/generated/api/Support/SpendingLimit.Completer.cs new file mode 100644 index 000000000000..7036e98483e7 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/SpendingLimit.Completer.cs @@ -0,0 +1,39 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The billing profile spending limit. + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimitTypeConverter))] + public partial struct SpendingLimit : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Off".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Off'", "Off", global::System.Management.Automation.CompletionResultType.ParameterValue, "Off"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "On".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'On'", "On", global::System.Management.Automation.CompletionResultType.ParameterValue, "On"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/SpendingLimit.TypeConverter.cs b/swaggerci/billing/generated/api/Support/SpendingLimit.TypeConverter.cs new file mode 100644 index 000000000000..899beea9a390 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/SpendingLimit.TypeConverter.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The billing profile spending limit. + public partial class SpendingLimitTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => SpendingLimit.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/SpendingLimit.cs b/swaggerci/billing/generated/api/Support/SpendingLimit.cs new file mode 100644 index 000000000000..61c741d66c2b --- /dev/null +++ b/swaggerci/billing/generated/api/Support/SpendingLimit.cs @@ -0,0 +1,98 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The billing profile spending limit. + public partial struct SpendingLimit : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimit Off = @"Off"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimit On = @"On"; + + /// the value for an instance of the Enum. + private string _value { get; set; } + + /// Conversion from arbitrary object to SpendingLimit + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new SpendingLimit(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type SpendingLimit + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimit e) + { + return _value.Equals(e._value); + } + + /// Compares values of enum type SpendingLimit (override for Object) + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is SpendingLimit && Equals((SpendingLimit)obj); + } + + /// Returns hashCode for enum SpendingLimit + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// Creates an instance of the Enum class. + /// the value to create an instance for. + private SpendingLimit(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Returns string representation for SpendingLimit + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to SpendingLimit + /// the value to convert to an instance of . + + public static implicit operator SpendingLimit(string value) + { + return new SpendingLimit(value); + } + + /// Implicit operator to convert SpendingLimit to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimit e) + { + return e._value; + } + + /// Overriding != operator for enum SpendingLimit + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimit e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimit e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum SpendingLimit + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimit e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimit e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/SpendingLimitForBillingProfile.Completer.cs b/swaggerci/billing/generated/api/Support/SpendingLimitForBillingProfile.Completer.cs new file mode 100644 index 000000000000..a34716ddae93 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/SpendingLimitForBillingProfile.Completer.cs @@ -0,0 +1,39 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The billing profile spending limit. + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimitForBillingProfileTypeConverter))] + public partial struct SpendingLimitForBillingProfile : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Off".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Off'", "Off", global::System.Management.Automation.CompletionResultType.ParameterValue, "Off"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "On".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'On'", "On", global::System.Management.Automation.CompletionResultType.ParameterValue, "On"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/SpendingLimitForBillingProfile.TypeConverter.cs b/swaggerci/billing/generated/api/Support/SpendingLimitForBillingProfile.TypeConverter.cs new file mode 100644 index 000000000000..e51b44991e47 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/SpendingLimitForBillingProfile.TypeConverter.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The billing profile spending limit. + public partial class SpendingLimitForBillingProfileTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => SpendingLimitForBillingProfile.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/SpendingLimitForBillingProfile.cs b/swaggerci/billing/generated/api/Support/SpendingLimitForBillingProfile.cs new file mode 100644 index 000000000000..9f4a4032d89e --- /dev/null +++ b/swaggerci/billing/generated/api/Support/SpendingLimitForBillingProfile.cs @@ -0,0 +1,104 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The billing profile spending limit. + public partial struct SpendingLimitForBillingProfile : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimitForBillingProfile Off = @"Off"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimitForBillingProfile On = @"On"; + + /// + /// the value for an instance of the Enum. + /// + private string _value { get; set; } + + /// Conversion from arbitrary object to SpendingLimitForBillingProfile + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new SpendingLimitForBillingProfile(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type SpendingLimitForBillingProfile + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimitForBillingProfile e) + { + return _value.Equals(e._value); + } + + /// + /// Compares values of enum type SpendingLimitForBillingProfile (override for Object) + /// + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is SpendingLimitForBillingProfile && Equals((SpendingLimitForBillingProfile)obj); + } + + /// Returns hashCode for enum SpendingLimitForBillingProfile + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// + /// Creates an instance of the Enum class. + /// + /// the value to create an instance for. + private SpendingLimitForBillingProfile(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Returns string representation for SpendingLimitForBillingProfile + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to SpendingLimitForBillingProfile + /// the value to convert to an instance of . + + public static implicit operator SpendingLimitForBillingProfile(string value) + { + return new SpendingLimitForBillingProfile(value); + } + + /// Implicit operator to convert SpendingLimitForBillingProfile to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimitForBillingProfile e) + { + return e._value; + } + + /// Overriding != operator for enum SpendingLimitForBillingProfile + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimitForBillingProfile e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimitForBillingProfile e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum SpendingLimitForBillingProfile + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimitForBillingProfile e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SpendingLimitForBillingProfile e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/StatusReasonCode.Completer.cs b/swaggerci/billing/generated/api/Support/StatusReasonCode.Completer.cs new file mode 100644 index 000000000000..5b9a38da6e55 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/StatusReasonCode.Completer.cs @@ -0,0 +1,43 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// Reason for the specified billing profile status. + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCodeTypeConverter))] + public partial struct StatusReasonCode : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "PastDue".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'PastDue'", "PastDue", global::System.Management.Automation.CompletionResultType.ParameterValue, "PastDue"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "SpendingLimitReached".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'SpendingLimitReached'", "SpendingLimitReached", global::System.Management.Automation.CompletionResultType.ParameterValue, "SpendingLimitReached"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "SpendingLimitExpired".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'SpendingLimitExpired'", "SpendingLimitExpired", global::System.Management.Automation.CompletionResultType.ParameterValue, "SpendingLimitExpired"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/StatusReasonCode.TypeConverter.cs b/swaggerci/billing/generated/api/Support/StatusReasonCode.TypeConverter.cs new file mode 100644 index 000000000000..a63b1d451a01 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/StatusReasonCode.TypeConverter.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// Reason for the specified billing profile status. + public partial class StatusReasonCodeTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => StatusReasonCode.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/StatusReasonCode.cs b/swaggerci/billing/generated/api/Support/StatusReasonCode.cs new file mode 100644 index 000000000000..95031e782116 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/StatusReasonCode.cs @@ -0,0 +1,100 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// Reason for the specified billing profile status. + public partial struct StatusReasonCode : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCode PastDue = @"PastDue"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCode SpendingLimitExpired = @"SpendingLimitExpired"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCode SpendingLimitReached = @"SpendingLimitReached"; + + /// the value for an instance of the Enum. + private string _value { get; set; } + + /// Conversion from arbitrary object to StatusReasonCode + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new StatusReasonCode(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type StatusReasonCode + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCode e) + { + return _value.Equals(e._value); + } + + /// Compares values of enum type StatusReasonCode (override for Object) + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is StatusReasonCode && Equals((StatusReasonCode)obj); + } + + /// Returns hashCode for enum StatusReasonCode + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// Creates an instance of the Enum class. + /// the value to create an instance for. + private StatusReasonCode(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Returns string representation for StatusReasonCode + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to StatusReasonCode + /// the value to convert to an instance of . + + public static implicit operator StatusReasonCode(string value) + { + return new StatusReasonCode(value); + } + + /// Implicit operator to convert StatusReasonCode to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCode e) + { + return e._value; + } + + /// Overriding != operator for enum StatusReasonCode + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCode e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCode e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum StatusReasonCode + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCode e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCode e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/StatusReasonCodeForBillingProfile.Completer.cs b/swaggerci/billing/generated/api/Support/StatusReasonCodeForBillingProfile.Completer.cs new file mode 100644 index 000000000000..2e003b251ea3 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/StatusReasonCodeForBillingProfile.Completer.cs @@ -0,0 +1,43 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// Reason for the specified billing profile status. + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCodeForBillingProfileTypeConverter))] + public partial struct StatusReasonCodeForBillingProfile : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "PastDue".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'PastDue'", "PastDue", global::System.Management.Automation.CompletionResultType.ParameterValue, "PastDue"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "SpendingLimitReached".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'SpendingLimitReached'", "SpendingLimitReached", global::System.Management.Automation.CompletionResultType.ParameterValue, "SpendingLimitReached"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "SpendingLimitExpired".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'SpendingLimitExpired'", "SpendingLimitExpired", global::System.Management.Automation.CompletionResultType.ParameterValue, "SpendingLimitExpired"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/StatusReasonCodeForBillingProfile.TypeConverter.cs b/swaggerci/billing/generated/api/Support/StatusReasonCodeForBillingProfile.TypeConverter.cs new file mode 100644 index 000000000000..04c8c4710ad3 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/StatusReasonCodeForBillingProfile.TypeConverter.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// Reason for the specified billing profile status. + public partial class StatusReasonCodeForBillingProfileTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => StatusReasonCodeForBillingProfile.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/StatusReasonCodeForBillingProfile.cs b/swaggerci/billing/generated/api/Support/StatusReasonCodeForBillingProfile.cs new file mode 100644 index 000000000000..5d71081625be --- /dev/null +++ b/swaggerci/billing/generated/api/Support/StatusReasonCodeForBillingProfile.cs @@ -0,0 +1,106 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// Reason for the specified billing profile status. + public partial struct StatusReasonCodeForBillingProfile : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCodeForBillingProfile PastDue = @"PastDue"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCodeForBillingProfile SpendingLimitExpired = @"SpendingLimitExpired"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCodeForBillingProfile SpendingLimitReached = @"SpendingLimitReached"; + + /// + /// the value for an instance of the Enum. + /// + private string _value { get; set; } + + /// Conversion from arbitrary object to StatusReasonCodeForBillingProfile + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new StatusReasonCodeForBillingProfile(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type StatusReasonCodeForBillingProfile + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCodeForBillingProfile e) + { + return _value.Equals(e._value); + } + + /// + /// Compares values of enum type StatusReasonCodeForBillingProfile (override for Object) + /// + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is StatusReasonCodeForBillingProfile && Equals((StatusReasonCodeForBillingProfile)obj); + } + + /// Returns hashCode for enum StatusReasonCodeForBillingProfile + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// + /// Creates an instance of the Enum class. + /// + /// the value to create an instance for. + private StatusReasonCodeForBillingProfile(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Returns string representation for StatusReasonCodeForBillingProfile + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to StatusReasonCodeForBillingProfile + /// the value to convert to an instance of . + + public static implicit operator StatusReasonCodeForBillingProfile(string value) + { + return new StatusReasonCodeForBillingProfile(value); + } + + /// Implicit operator to convert StatusReasonCodeForBillingProfile to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCodeForBillingProfile e) + { + return e._value; + } + + /// Overriding != operator for enum StatusReasonCodeForBillingProfile + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCodeForBillingProfile e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCodeForBillingProfile e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum StatusReasonCodeForBillingProfile + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCodeForBillingProfile e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.StatusReasonCodeForBillingProfile e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/SubscriptionTransferValidationErrorCode.Completer.cs b/swaggerci/billing/generated/api/Support/SubscriptionTransferValidationErrorCode.Completer.cs new file mode 100644 index 000000000000..24cbb3adaf55 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/SubscriptionTransferValidationErrorCode.Completer.cs @@ -0,0 +1,111 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// Error code of the transfer validation response. + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCodeTypeConverter))] + public partial struct SubscriptionTransferValidationErrorCode : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "BillingAccountInactive".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'BillingAccountInactive'", "BillingAccountInactive", global::System.Management.Automation.CompletionResultType.ParameterValue, "BillingAccountInactive"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "CrossBillingAccountNotAllowed".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'CrossBillingAccountNotAllowed'", "CrossBillingAccountNotAllowed", global::System.Management.Automation.CompletionResultType.ParameterValue, "CrossBillingAccountNotAllowed"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "DestinationBillingProfileInactive".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'DestinationBillingProfileInactive'", "DestinationBillingProfileInactive", global::System.Management.Automation.CompletionResultType.ParameterValue, "DestinationBillingProfileInactive"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "DestinationBillingProfileNotFound".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'DestinationBillingProfileNotFound'", "DestinationBillingProfileNotFound", global::System.Management.Automation.CompletionResultType.ParameterValue, "DestinationBillingProfileNotFound"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "DestinationBillingProfilePastDue".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'DestinationBillingProfilePastDue'", "DestinationBillingProfilePastDue", global::System.Management.Automation.CompletionResultType.ParameterValue, "DestinationBillingProfilePastDue"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "DestinationInvoiceSectionInactive".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'DestinationInvoiceSectionInactive'", "DestinationInvoiceSectionInactive", global::System.Management.Automation.CompletionResultType.ParameterValue, "DestinationInvoiceSectionInactive"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "DestinationInvoiceSectionNotFound".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'DestinationInvoiceSectionNotFound'", "DestinationInvoiceSectionNotFound", global::System.Management.Automation.CompletionResultType.ParameterValue, "DestinationInvoiceSectionNotFound"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "InsufficientPermissionOnDestination".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'InsufficientPermissionOnDestination'", "InsufficientPermissionOnDestination", global::System.Management.Automation.CompletionResultType.ParameterValue, "InsufficientPermissionOnDestination"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "InsufficientPermissionOnSource".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'InsufficientPermissionOnSource'", "InsufficientPermissionOnSource", global::System.Management.Automation.CompletionResultType.ParameterValue, "InsufficientPermissionOnSource"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "InvalidDestination".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'InvalidDestination'", "InvalidDestination", global::System.Management.Automation.CompletionResultType.ParameterValue, "InvalidDestination"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "InvalidSource".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'InvalidSource'", "InvalidSource", global::System.Management.Automation.CompletionResultType.ParameterValue, "InvalidSource"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "MarketplaceNotEnabledOnDestination".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'MarketplaceNotEnabledOnDestination'", "MarketplaceNotEnabledOnDestination", global::System.Management.Automation.CompletionResultType.ParameterValue, "MarketplaceNotEnabledOnDestination"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "NotAvailableForDestinationMarket".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'NotAvailableForDestinationMarket'", "NotAvailableForDestinationMarket", global::System.Management.Automation.CompletionResultType.ParameterValue, "NotAvailableForDestinationMarket"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "ProductInactive".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'ProductInactive'", "ProductInactive", global::System.Management.Automation.CompletionResultType.ParameterValue, "ProductInactive"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "ProductNotFound".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'ProductNotFound'", "ProductNotFound", global::System.Management.Automation.CompletionResultType.ParameterValue, "ProductNotFound"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "ProductTypeNotSupported".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'ProductTypeNotSupported'", "ProductTypeNotSupported", global::System.Management.Automation.CompletionResultType.ParameterValue, "ProductTypeNotSupported"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "SourceBillingProfilePastDue".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'SourceBillingProfilePastDue'", "SourceBillingProfilePastDue", global::System.Management.Automation.CompletionResultType.ParameterValue, "SourceBillingProfilePastDue"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "SourceInvoiceSectionInactive".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'SourceInvoiceSectionInactive'", "SourceInvoiceSectionInactive", global::System.Management.Automation.CompletionResultType.ParameterValue, "SourceInvoiceSectionInactive"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "SubscriptionNotActive".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'SubscriptionNotActive'", "SubscriptionNotActive", global::System.Management.Automation.CompletionResultType.ParameterValue, "SubscriptionNotActive"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "SubscriptionTypeNotSupported".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'SubscriptionTypeNotSupported'", "SubscriptionTypeNotSupported", global::System.Management.Automation.CompletionResultType.ParameterValue, "SubscriptionTypeNotSupported"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/SubscriptionTransferValidationErrorCode.TypeConverter.cs b/swaggerci/billing/generated/api/Support/SubscriptionTransferValidationErrorCode.TypeConverter.cs new file mode 100644 index 000000000000..2552fbab98ce --- /dev/null +++ b/swaggerci/billing/generated/api/Support/SubscriptionTransferValidationErrorCode.TypeConverter.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// Error code of the transfer validation response. + public partial class SubscriptionTransferValidationErrorCodeTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => SubscriptionTransferValidationErrorCode.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/SubscriptionTransferValidationErrorCode.cs b/swaggerci/billing/generated/api/Support/SubscriptionTransferValidationErrorCode.cs new file mode 100644 index 000000000000..6117f10e692b --- /dev/null +++ b/swaggerci/billing/generated/api/Support/SubscriptionTransferValidationErrorCode.cs @@ -0,0 +1,140 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// Error code of the transfer validation response. + public partial struct SubscriptionTransferValidationErrorCode : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode BillingAccountInactive = @"BillingAccountInactive"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode CrossBillingAccountNotAllowed = @"CrossBillingAccountNotAllowed"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode DestinationBillingProfileInactive = @"DestinationBillingProfileInactive"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode DestinationBillingProfileNotFound = @"DestinationBillingProfileNotFound"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode DestinationBillingProfilePastDue = @"DestinationBillingProfilePastDue"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode DestinationInvoiceSectionInactive = @"DestinationInvoiceSectionInactive"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode DestinationInvoiceSectionNotFound = @"DestinationInvoiceSectionNotFound"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode InsufficientPermissionOnDestination = @"InsufficientPermissionOnDestination"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode InsufficientPermissionOnSource = @"InsufficientPermissionOnSource"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode InvalidDestination = @"InvalidDestination"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode InvalidSource = @"InvalidSource"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode MarketplaceNotEnabledOnDestination = @"MarketplaceNotEnabledOnDestination"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode NotAvailableForDestinationMarket = @"NotAvailableForDestinationMarket"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode ProductInactive = @"ProductInactive"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode ProductNotFound = @"ProductNotFound"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode ProductTypeNotSupported = @"ProductTypeNotSupported"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode SourceBillingProfilePastDue = @"SourceBillingProfilePastDue"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode SourceInvoiceSectionInactive = @"SourceInvoiceSectionInactive"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode SubscriptionNotActive = @"SubscriptionNotActive"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode SubscriptionTypeNotSupported = @"SubscriptionTypeNotSupported"; + + /// + /// the value for an instance of the Enum. + /// + private string _value { get; set; } + + /// Conversion from arbitrary object to SubscriptionTransferValidationErrorCode + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new SubscriptionTransferValidationErrorCode(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type SubscriptionTransferValidationErrorCode + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode e) + { + return _value.Equals(e._value); + } + + /// + /// Compares values of enum type SubscriptionTransferValidationErrorCode (override for Object) + /// + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is SubscriptionTransferValidationErrorCode && Equals((SubscriptionTransferValidationErrorCode)obj); + } + + /// Returns hashCode for enum SubscriptionTransferValidationErrorCode + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// + /// Creates an instance of the Enum class. + /// + /// the value to create an instance for. + private SubscriptionTransferValidationErrorCode(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Returns string representation for SubscriptionTransferValidationErrorCode + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to SubscriptionTransferValidationErrorCode + /// the value to convert to an instance of . + + public static implicit operator SubscriptionTransferValidationErrorCode(string value) + { + return new SubscriptionTransferValidationErrorCode(value); + } + + /// Implicit operator to convert SubscriptionTransferValidationErrorCode to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode e) + { + return e._value; + } + + /// Overriding != operator for enum SubscriptionTransferValidationErrorCode + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum SubscriptionTransferValidationErrorCode + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.SubscriptionTransferValidationErrorCode e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/TargetCloud.Completer.cs b/swaggerci/billing/generated/api/Support/TargetCloud.Completer.cs new file mode 100644 index 000000000000..bf4b1e389e1d --- /dev/null +++ b/swaggerci/billing/generated/api/Support/TargetCloud.Completer.cs @@ -0,0 +1,43 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// Possible cloud environments. + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloudTypeConverter))] + public partial struct TargetCloud : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "USGov".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'USGov'", "USGov", global::System.Management.Automation.CompletionResultType.ParameterValue, "USGov"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "USNat".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'USNat'", "USNat", global::System.Management.Automation.CompletionResultType.ParameterValue, "USNat"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "USSec".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'USSec'", "USSec", global::System.Management.Automation.CompletionResultType.ParameterValue, "USSec"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/TargetCloud.TypeConverter.cs b/swaggerci/billing/generated/api/Support/TargetCloud.TypeConverter.cs new file mode 100644 index 000000000000..16f71d5f3cd1 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/TargetCloud.TypeConverter.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// Possible cloud environments. + public partial class TargetCloudTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => TargetCloud.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/TargetCloud.cs b/swaggerci/billing/generated/api/Support/TargetCloud.cs new file mode 100644 index 000000000000..77ce0bc9b5a2 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/TargetCloud.cs @@ -0,0 +1,100 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// Possible cloud environments. + public partial struct TargetCloud : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud UsGov = @"USGov"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud UsNat = @"USNat"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud UsSec = @"USSec"; + + /// the value for an instance of the Enum. + private string _value { get; set; } + + /// Conversion from arbitrary object to TargetCloud + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new TargetCloud(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type TargetCloud + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud e) + { + return _value.Equals(e._value); + } + + /// Compares values of enum type TargetCloud (override for Object) + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is TargetCloud && Equals((TargetCloud)obj); + } + + /// Returns hashCode for enum TargetCloud + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// Creates an instance of the Enum class. + /// the value to create an instance for. + private TargetCloud(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Returns string representation for TargetCloud + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Implicit operator to convert string to TargetCloud + /// the value to convert to an instance of . + + public static implicit operator TargetCloud(string value) + { + return new TargetCloud(value); + } + + /// Implicit operator to convert TargetCloud to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud e) + { + return e._value; + } + + /// Overriding != operator for enum TargetCloud + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum TargetCloud + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TargetCloud e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/TransactionTypeKind.Completer.cs b/swaggerci/billing/generated/api/Support/TransactionTypeKind.Completer.cs new file mode 100644 index 000000000000..2a5ac06d1169 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/TransactionTypeKind.Completer.cs @@ -0,0 +1,39 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The kind of transaction. Options are all or reservation. + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TransactionTypeKindTypeConverter))] + public partial struct TransactionTypeKind : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "all".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'all'", "all", global::System.Management.Automation.CompletionResultType.ParameterValue, "all"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "reservation".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'reservation'", "reservation", global::System.Management.Automation.CompletionResultType.ParameterValue, "reservation"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/TransactionTypeKind.TypeConverter.cs b/swaggerci/billing/generated/api/Support/TransactionTypeKind.TypeConverter.cs new file mode 100644 index 000000000000..3e00d8036de1 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/TransactionTypeKind.TypeConverter.cs @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The kind of transaction. Options are all or reservation. + public partial class TransactionTypeKindTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => TransactionTypeKind.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/TransactionTypeKind.cs b/swaggerci/billing/generated/api/Support/TransactionTypeKind.cs new file mode 100644 index 000000000000..0d227b4a5f67 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/TransactionTypeKind.cs @@ -0,0 +1,98 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// The kind of transaction. Options are all or reservation. + public partial struct TransactionTypeKind : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TransactionTypeKind All = @"all"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TransactionTypeKind Reservation = @"reservation"; + + /// the value for an instance of the Enum. + private string _value { get; set; } + + /// Conversion from arbitrary object to TransactionTypeKind + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new TransactionTypeKind(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type TransactionTypeKind + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TransactionTypeKind e) + { + return _value.Equals(e._value); + } + + /// Compares values of enum type TransactionTypeKind (override for Object) + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is TransactionTypeKind && Equals((TransactionTypeKind)obj); + } + + /// Returns hashCode for enum TransactionTypeKind + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// Returns string representation for TransactionTypeKind + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Creates an instance of the Enum class. + /// the value to create an instance for. + private TransactionTypeKind(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Implicit operator to convert string to TransactionTypeKind + /// the value to convert to an instance of . + + public static implicit operator TransactionTypeKind(string value) + { + return new TransactionTypeKind(value); + } + + /// Implicit operator to convert TransactionTypeKind to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TransactionTypeKind e) + { + return e._value; + } + + /// Overriding != operator for enum TransactionTypeKind + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TransactionTypeKind e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TransactionTypeKind e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum TransactionTypeKind + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TransactionTypeKind e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.TransactionTypeKind e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/ViewCharges.Completer.cs b/swaggerci/billing/generated/api/Support/ViewCharges.Completer.cs new file mode 100644 index 000000000000..d2255babd50d --- /dev/null +++ b/swaggerci/billing/generated/api/Support/ViewCharges.Completer.cs @@ -0,0 +1,41 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// + /// The policy that controls whether the users in customer's organization can view charges at pay-as-you-go prices. + /// + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewChargesTypeConverter))] + public partial struct ViewCharges : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Allowed".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Allowed'", "Allowed", global::System.Management.Automation.CompletionResultType.ParameterValue, "Allowed"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "NotAllowed".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'NotAllowed'", "NotAllowed", global::System.Management.Automation.CompletionResultType.ParameterValue, "NotAllowed"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/ViewCharges.TypeConverter.cs b/swaggerci/billing/generated/api/Support/ViewCharges.TypeConverter.cs new file mode 100644 index 000000000000..4efd50c9916d --- /dev/null +++ b/swaggerci/billing/generated/api/Support/ViewCharges.TypeConverter.cs @@ -0,0 +1,61 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// + /// The policy that controls whether the users in customer's organization can view charges at pay-as-you-go prices. + /// + public partial class ViewChargesTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ViewCharges.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/ViewCharges.cs b/swaggerci/billing/generated/api/Support/ViewCharges.cs new file mode 100644 index 000000000000..f8fd1fdd7596 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/ViewCharges.cs @@ -0,0 +1,100 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// + /// The policy that controls whether the users in customer's organization can view charges at pay-as-you-go prices. + /// + public partial struct ViewCharges : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewCharges Allowed = @"Allowed"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewCharges NotAllowed = @"NotAllowed"; + + /// the value for an instance of the Enum. + private string _value { get; set; } + + /// Conversion from arbitrary object to ViewCharges + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new ViewCharges(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type ViewCharges + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewCharges e) + { + return _value.Equals(e._value); + } + + /// Compares values of enum type ViewCharges (override for Object) + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is ViewCharges && Equals((ViewCharges)obj); + } + + /// Returns hashCode for enum ViewCharges + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// Returns string representation for ViewCharges + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Creates an instance of the Enum class. + /// the value to create an instance for. + private ViewCharges(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Implicit operator to convert string to ViewCharges + /// the value to convert to an instance of . + + public static implicit operator ViewCharges(string value) + { + return new ViewCharges(value); + } + + /// Implicit operator to convert ViewCharges to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewCharges e) + { + return e._value; + } + + /// Overriding != operator for enum ViewCharges + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewCharges e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewCharges e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum ViewCharges + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewCharges e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewCharges e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/ViewChargesPolicy.Completer.cs b/swaggerci/billing/generated/api/Support/ViewChargesPolicy.Completer.cs new file mode 100644 index 000000000000..fb423b183dc2 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/ViewChargesPolicy.Completer.cs @@ -0,0 +1,41 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// + /// The policy that controls whether users with Azure RBAC access to a subscription can view its charges. + /// + [System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewChargesPolicyTypeConverter))] + public partial struct ViewChargesPolicy : + System.Management.Automation.IArgumentCompleter + { + + /// + /// Implementations of this function are called by PowerShell to complete arguments. + /// + /// The name of the command that needs argument completion. + /// The name of the parameter that needs argument completion. + /// The (possibly empty) word being completed. + /// The command ast in case it is needed for completion. + /// This parameter is similar to $PSBoundParameters, except that sometimes PowerShell cannot + /// or will not attempt to evaluate an argument, in which case you may need to use commandAst. + /// + /// A collection of completion results, most like with ResultType set to ParameterValue. + /// + public global::System.Collections.Generic.IEnumerable CompleteArgument(global::System.String commandName, global::System.String parameterName, global::System.String wordToComplete, global::System.Management.Automation.Language.CommandAst commandAst, global::System.Collections.IDictionary fakeBoundParameters) + { + if (global::System.String.IsNullOrEmpty(wordToComplete) || "Allowed".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'Allowed'", "Allowed", global::System.Management.Automation.CompletionResultType.ParameterValue, "Allowed"); + } + if (global::System.String.IsNullOrEmpty(wordToComplete) || "NotAllowed".StartsWith(wordToComplete, global::System.StringComparison.InvariantCultureIgnoreCase)) + { + yield return new global::System.Management.Automation.CompletionResult("'NotAllowed'", "NotAllowed", global::System.Management.Automation.CompletionResultType.ParameterValue, "NotAllowed"); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/ViewChargesPolicy.TypeConverter.cs b/swaggerci/billing/generated/api/Support/ViewChargesPolicy.TypeConverter.cs new file mode 100644 index 000000000000..9e23aa7d3bad --- /dev/null +++ b/swaggerci/billing/generated/api/Support/ViewChargesPolicy.TypeConverter.cs @@ -0,0 +1,61 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// + /// The policy that controls whether users with Azure RBAC access to a subscription can view its charges. + /// + public partial class ViewChargesPolicyTypeConverter : + global::System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => true; + + /// + /// Determines if the converter can convert the parameter to the parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the parameter, otherwise false. + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ViewChargesPolicy.CreateFrom(sourceValue); + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/api/Support/ViewChargesPolicy.cs b/swaggerci/billing/generated/api/Support/ViewChargesPolicy.cs new file mode 100644 index 000000000000..86cabeef5b12 --- /dev/null +++ b/swaggerci/billing/generated/api/Support/ViewChargesPolicy.cs @@ -0,0 +1,100 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Support +{ + + /// + /// The policy that controls whether users with Azure RBAC access to a subscription can view its charges. + /// + public partial struct ViewChargesPolicy : + System.IEquatable + { + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewChargesPolicy Allowed = @"Allowed"; + + public static Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewChargesPolicy NotAllowed = @"NotAllowed"; + + /// the value for an instance of the Enum. + private string _value { get; set; } + + /// Conversion from arbitrary object to ViewChargesPolicy + /// the value to convert to an instance of . + internal static object CreateFrom(object value) + { + return new ViewChargesPolicy(global::System.Convert.ToString(value)); + } + + /// Compares values of enum type ViewChargesPolicy + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public bool Equals(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewChargesPolicy e) + { + return _value.Equals(e._value); + } + + /// Compares values of enum type ViewChargesPolicy (override for Object) + /// the value to compare against this instance. + /// true if the two instances are equal to the same value + public override bool Equals(object obj) + { + return obj is ViewChargesPolicy && Equals((ViewChargesPolicy)obj); + } + + /// Returns hashCode for enum ViewChargesPolicy + /// The hashCode of the value + public override int GetHashCode() + { + return this._value.GetHashCode(); + } + + /// Returns string representation for ViewChargesPolicy + /// A string for this value. + public override string ToString() + { + return this._value; + } + + /// Creates an instance of the Enum class. + /// the value to create an instance for. + private ViewChargesPolicy(string underlyingValue) + { + this._value = underlyingValue; + } + + /// Implicit operator to convert string to ViewChargesPolicy + /// the value to convert to an instance of . + + public static implicit operator ViewChargesPolicy(string value) + { + return new ViewChargesPolicy(value); + } + + /// Implicit operator to convert ViewChargesPolicy to string + /// the value to convert to an instance of . + + public static implicit operator string(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewChargesPolicy e) + { + return e._value; + } + + /// Overriding != operator for enum ViewChargesPolicy + /// the value to compare against + /// the value to compare against + /// true if the two instances are not equal to the same value + public static bool operator !=(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewChargesPolicy e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewChargesPolicy e2) + { + return !e2.Equals(e1); + } + + /// Overriding == operator for enum ViewChargesPolicy + /// the value to compare against + /// the value to compare against + /// true if the two instances are equal to the same value + public static bool operator ==(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewChargesPolicy e1, Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ViewChargesPolicy e2) + { + return e2.Equals(e1); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingAccountInvoiceSection_List.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingAccountInvoiceSection_List.cs new file mode 100644 index 000000000000..9f51b94e5c35 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingAccountInvoiceSection_List.cs @@ -0,0 +1,396 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Lists the invoice sections for which the user has permission to create Azure subscriptions. The operation is supported + /// only for billing accounts with agreement type Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] ListInvoiceSectionsByCreateSubscriptionPermission=>POST:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/listInvoiceSectionsWithCreateSubscriptionPermission" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingAccountInvoiceSection_List", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionWithCreateSubPermission))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Lists the invoice sections for which the user has permission to create Azure subscriptions. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingAccountInvoiceSection_List : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListWithCreateSubPermissionResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingAccountInvoiceSection_List() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'BillingAccountsListInvoiceSectionsByCreateSubscriptionPermission' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingAccountsListInvoiceSectionsByCreateSubscriptionPermission(BillingAccountName, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListWithCreateSubPermissionResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingAccountsListInvoiceSectionsByCreateSubscriptionPermission_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingAccount_Get.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingAccount_Get.cs new file mode 100644 index 000000000000..ad7c48c6237f --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingAccount_Get.cs @@ -0,0 +1,383 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// Gets a billing account by its ID. + /// + /// [OpenAPI] Get=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingAccount_Get")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets a billing account by its ID.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingAccount_Get : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Backing field for property. + private string _expand; + + /// May be used to expand the soldTo, invoice sections and billing profiles. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "May be used to expand the soldTo, invoice sections and billing profiles.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"May be used to expand the soldTo, invoice sections and billing profiles.", + SerializedName = @"$expand", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Query)] + public string Expand { get => this._expand; set => this._expand = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("BillingAccountName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingAccount_Get() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingAccountsGet(Name, this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { Name=Name,Expand=this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { Name=Name, Expand=this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { Name=Name, Expand=this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingAccount_GetViaIdentity.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingAccount_GetViaIdentity.cs new file mode 100644 index 000000000000..08f630a41f66 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingAccount_GetViaIdentity.cs @@ -0,0 +1,388 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// Gets a billing account by its ID. + /// + /// [OpenAPI] Get=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingAccount_GetViaIdentity")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets a billing account by its ID.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingAccount_GetViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Backing field for property. + private string _expand; + + /// May be used to expand the soldTo, invoice sections and billing profiles. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "May be used to expand the soldTo, invoice sections and billing profiles.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"May be used to expand the soldTo, invoice sections and billing profiles.", + SerializedName = @"$expand", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Query)] + public string Expand { get => this._expand; set => this._expand = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingAccount_GetViaIdentity() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.BillingAccountsGetViaIdentity(InputObject.Id, this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.BillingAccountName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingAccountName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.BillingAccountsGet(InputObject.BillingAccountName ?? null, this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { Expand=this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { Expand=this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { Expand=this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingAccount_List.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingAccount_List.cs new file mode 100644 index 000000000000..cb6b8fa28a25 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingAccount_List.cs @@ -0,0 +1,390 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// Lists the billing accounts that a user has access to. + /// + /// [OpenAPI] List=>GET:"/providers/Microsoft.Billing/billingAccounts" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingAccount_List")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Lists the billing accounts that a user has access to.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingAccount_List : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Backing field for property. + private string _expand; + + /// May be used to expand the soldTo, invoice sections and billing profiles. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "May be used to expand the soldTo, invoice sections and billing profiles.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"May be used to expand the soldTo, invoice sections and billing profiles.", + SerializedName = @"$expand", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Query)] + public string Expand { get => this._expand; set => this._expand = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingAccount_List() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingAccountsList(this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { Expand=this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { Expand=this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { Expand=this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingAccountsList_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingAgreement_Get.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingAgreement_Get.cs new file mode 100644 index 000000000000..ec407569f908 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingAgreement_Get.cs @@ -0,0 +1,397 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// Gets an agreement by ID. + /// + /// [OpenAPI] Get=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/agreements/{agreementName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingAgreement_Get")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreement))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets an agreement by ID.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingAgreement_Get : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Backing field for property. + private string _expand; + + /// May be used to expand the participants. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "May be used to expand the participants.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"May be used to expand the participants.", + SerializedName = @"$expand", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Query)] + public string Expand { get => this._expand; set => this._expand = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The ID that uniquely identifies an agreement. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies an agreement.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies an agreement.", + SerializedName = @"agreementName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("AgreementName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreement + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingAgreement_Get() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.AgreementsGet(BillingAccountName, Name, this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,Name=Name,Expand=this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, Name=Name, Expand=this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, Name=Name, Expand=this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreement + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreement + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingAgreement_GetViaIdentity.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingAgreement_GetViaIdentity.cs new file mode 100644 index 000000000000..54bb6d978b93 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingAgreement_GetViaIdentity.cs @@ -0,0 +1,392 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// Gets an agreement by ID. + /// + /// [OpenAPI] Get=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/agreements/{agreementName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingAgreement_GetViaIdentity")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreement))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets an agreement by ID.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingAgreement_GetViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Backing field for property. + private string _expand; + + /// May be used to expand the participants. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "May be used to expand the participants.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"May be used to expand the participants.", + SerializedName = @"$expand", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Query)] + public string Expand { get => this._expand; set => this._expand = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreement + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingAgreement_GetViaIdentity() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.AgreementsGetViaIdentity(InputObject.Id, this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.BillingAccountName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingAccountName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.AgreementName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.AgreementName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.AgreementsGet(InputObject.BillingAccountName ?? null, InputObject.AgreementName ?? null, this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { Expand=this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { Expand=this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { Expand=this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreement + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreement + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingAgreement_List.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingAgreement_List.cs new file mode 100644 index 000000000000..e21169b2082b --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingAgreement_List.cs @@ -0,0 +1,404 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// Lists the agreements for a billing account. + /// + /// [OpenAPI] ListByBillingAccount=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/agreements" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingAgreement_List")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreement))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Lists the agreements for a billing account.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingAgreement_List : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Backing field for property. + private string _expand; + + /// May be used to expand the participants. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "May be used to expand the participants.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"May be used to expand the participants.", + SerializedName = @"$expand", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Query)] + public string Expand { get => this._expand; set => this._expand = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingAgreement_List() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.AgreementsListByBillingAccount(BillingAccountName, this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,Expand=this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, Expand=this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, Expand=this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAgreementListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.AgreementsListByBillingAccount_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingAvailableBalance_Get.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingAvailableBalance_Get.cs new file mode 100644 index 000000000000..18616b8743b0 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingAvailableBalance_Get.cs @@ -0,0 +1,385 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// The available credit balance for a billing profile. This is the balance that can be used for pay now to settle due or + /// past due invoices. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] Get=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/availableBalance/default" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingAvailableBalance_Get")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalance))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"The available credit balance for a billing profile. This is the balance that can be used for pay now to settle due or past due invoices. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingAvailableBalance_Get : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Backing field for property. + private string _billingProfileName; + + /// The ID that uniquely identifies a billing profile. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing profile.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing profile.", + SerializedName = @"billingProfileName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingProfileName { get => this._billingProfileName; set => this._billingProfileName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalance + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingAvailableBalance_Get() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.AvailableBalancesGet(BillingAccountName, BillingProfileName, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,BillingProfileName=BillingProfileName}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalance + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalance + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingAvailableBalance_GetViaIdentity.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingAvailableBalance_GetViaIdentity.cs new file mode 100644 index 000000000000..d6802bcad636 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingAvailableBalance_GetViaIdentity.cs @@ -0,0 +1,381 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// The available credit balance for a billing profile. This is the balance that can be used for pay now to settle due or + /// past due invoices. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] Get=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/availableBalance/default" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingAvailableBalance_GetViaIdentity")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalance))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"The available credit balance for a billing profile. This is the balance that can be used for pay now to settle due or past due invoices. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingAvailableBalance_GetViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalance + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingAvailableBalance_GetViaIdentity() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.AvailableBalancesGetViaIdentity(InputObject.Id, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.BillingAccountName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingAccountName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.BillingProfileName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingProfileName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.AvailableBalancesGet(InputObject.BillingAccountName ?? null, InputObject.BillingProfileName ?? null, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalance + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAvailableBalance + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingCustomer_Get.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingCustomer_Get.cs new file mode 100644 index 000000000000..e5c64ef239ac --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingCustomer_Get.cs @@ -0,0 +1,400 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Gets a customer by its ID. The operation is supported only for billing accounts with agreement type Microsoft Partner + /// Agreement. + /// + /// + /// [OpenAPI] Get=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingCustomer_Get")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomer))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets a customer by its ID. The operation is supported only for billing accounts with agreement type Microsoft Partner Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingCustomer_Get : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Backing field for property. + private string _expand; + + /// May be used to expand enabledAzurePlans and resellers + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "May be used to expand enabledAzurePlans and resellers")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"May be used to expand enabledAzurePlans and resellers", + SerializedName = @"$expand", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Query)] + public string Expand { get => this._expand; set => this._expand = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The ID that uniquely identifies a customer. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a customer.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a customer.", + SerializedName = @"customerName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("CustomerName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomer + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingCustomer_Get() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.CustomersGet(BillingAccountName, Name, this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,Name=Name,Expand=this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, Name=Name, Expand=this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, Name=Name, Expand=this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomer + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomer + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingCustomer_GetViaIdentity.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingCustomer_GetViaIdentity.cs new file mode 100644 index 000000000000..3ed528205574 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingCustomer_GetViaIdentity.cs @@ -0,0 +1,395 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Gets a customer by its ID. The operation is supported only for billing accounts with agreement type Microsoft Partner + /// Agreement. + /// + /// + /// [OpenAPI] Get=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingCustomer_GetViaIdentity")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomer))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets a customer by its ID. The operation is supported only for billing accounts with agreement type Microsoft Partner Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingCustomer_GetViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Backing field for property. + private string _expand; + + /// May be used to expand enabledAzurePlans and resellers + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "May be used to expand enabledAzurePlans and resellers")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"May be used to expand enabledAzurePlans and resellers", + SerializedName = @"$expand", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Query)] + public string Expand { get => this._expand; set => this._expand = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomer + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingCustomer_GetViaIdentity() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.CustomersGetViaIdentity(InputObject.Id, this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.BillingAccountName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingAccountName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.CustomerName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.CustomerName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.CustomersGet(InputObject.BillingAccountName ?? null, InputObject.CustomerName ?? null, this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { Expand=this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { Expand=this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { Expand=this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomer + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomer + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingCustomer_List.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingCustomer_List.cs new file mode 100644 index 000000000000..b18e34e24834 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingCustomer_List.cs @@ -0,0 +1,438 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Lists the customers that are billed to a billing profile. The operation is supported only for billing accounts with agreement + /// type Microsoft Partner Agreement. + /// + /// + /// [OpenAPI] ListByBillingProfile=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/customers" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingCustomer_List")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomer))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Lists the customers that are billed to a billing profile. The operation is supported only for billing accounts with agreement type Microsoft Partner Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingCustomer_List : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Backing field for property. + private string _billingProfileName; + + /// The ID that uniquely identifies a billing profile. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing profile.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing profile.", + SerializedName = @"billingProfileName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingProfileName { get => this._billingProfileName; set => this._billingProfileName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Backing field for property. + private string _filter; + + /// May be used to filter the list of customers. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "May be used to filter the list of customers.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"May be used to filter the list of customers.", + SerializedName = @"$filter", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Query)] + public string Filter { get => this._filter; set => this._filter = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _search; + + /// + /// Used for searching customers by their name. Any customer with name containing the search text will be included in the + /// response + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Used for searching customers by their name. Any customer with name containing the search text will be included in the response")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Used for searching customers by their name. Any customer with name containing the search text will be included in the response", + SerializedName = @"$search", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Query)] + public string Search { get => this._search; set => this._search = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingCustomer_List() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.CustomersListByBillingProfile(BillingAccountName, BillingProfileName, this.InvocationInformation.BoundParameters.ContainsKey("Search") ? Search : null, this.InvocationInformation.BoundParameters.ContainsKey("Filter") ? Filter : null, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,BillingProfileName=BillingProfileName,Search=this.InvocationInformation.BoundParameters.ContainsKey("Search") ? Search : null,Filter=this.InvocationInformation.BoundParameters.ContainsKey("Filter") ? Filter : null}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName, Search=this.InvocationInformation.BoundParameters.ContainsKey("Search") ? Search : null, Filter=this.InvocationInformation.BoundParameters.ContainsKey("Filter") ? Filter : null }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName, Search=this.InvocationInformation.BoundParameters.ContainsKey("Search") ? Search : null, Filter=this.InvocationInformation.BoundParameters.ContainsKey("Filter") ? Filter : null }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.CustomersListByBillingProfile_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingCustomer_List1.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingCustomer_List1.cs new file mode 100644 index 000000000000..cffafe9d8017 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingCustomer_List1.cs @@ -0,0 +1,424 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Lists the customers that are billed to a billing account. The operation is supported only for billing accounts with agreement + /// type Microsoft Partner Agreement. + /// + /// + /// [OpenAPI] ListByBillingAccount=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingCustomer_List1")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomer))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Lists the customers that are billed to a billing account. The operation is supported only for billing accounts with agreement type Microsoft Partner Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingCustomer_List1 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Backing field for property. + private string _filter; + + /// May be used to filter the list of customers. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "May be used to filter the list of customers.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"May be used to filter the list of customers.", + SerializedName = @"$filter", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Query)] + public string Filter { get => this._filter; set => this._filter = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _search; + + /// + /// Used for searching customers by their name. Any customer with name containing the search text will be included in the + /// response + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Used for searching customers by their name. Any customer with name containing the search text will be included in the response")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Used for searching customers by their name. Any customer with name containing the search text will be included in the response", + SerializedName = @"$search", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Query)] + public string Search { get => this._search; set => this._search = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingCustomer_List1() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.CustomersListByBillingAccount(BillingAccountName, this.InvocationInformation.BoundParameters.ContainsKey("Search") ? Search : null, this.InvocationInformation.BoundParameters.ContainsKey("Filter") ? Filter : null, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,Search=this.InvocationInformation.BoundParameters.ContainsKey("Search") ? Search : null,Filter=this.InvocationInformation.BoundParameters.ContainsKey("Filter") ? Filter : null}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, Search=this.InvocationInformation.BoundParameters.ContainsKey("Search") ? Search : null, Filter=this.InvocationInformation.BoundParameters.ContainsKey("Filter") ? Filter : null }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, Search=this.InvocationInformation.BoundParameters.ContainsKey("Search") ? Search : null, Filter=this.InvocationInformation.BoundParameters.ContainsKey("Filter") ? Filter : null }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.CustomersListByBillingAccount_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingEnrollmentAccount_Get.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingEnrollmentAccount_Get.cs new file mode 100644 index 000000000000..90a3206c0584 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingEnrollmentAccount_Get.cs @@ -0,0 +1,368 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// Gets a enrollment account by name. + /// + /// [OpenAPI] Get=>GET:"/providers/Microsoft.Billing/enrollmentAccounts/{name}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingEnrollmentAccount_Get")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummary))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets a enrollment account by name.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingEnrollmentAccount_Get : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Enrollment Account name. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Enrollment Account name.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Enrollment Account name.", + SerializedName = @"name", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummary + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingEnrollmentAccount_Get() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.EnrollmentAccountsGet(Name, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { Name=Name }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { Name=Name }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummary + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummary + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingEnrollmentAccount_GetViaIdentity.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingEnrollmentAccount_GetViaIdentity.cs new file mode 100644 index 000000000000..7bbd5886266f --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingEnrollmentAccount_GetViaIdentity.cs @@ -0,0 +1,374 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// Gets a enrollment account by name. + /// + /// [OpenAPI] Get=>GET:"/providers/Microsoft.Billing/enrollmentAccounts/{name}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingEnrollmentAccount_GetViaIdentity")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummary))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets a enrollment account by name.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingEnrollmentAccount_GetViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummary + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingEnrollmentAccount_GetViaIdentity() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.EnrollmentAccountsGetViaIdentity(InputObject.Id, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.Name) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.Name"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.EnrollmentAccountsGet(InputObject.Name ?? null, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummary + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummary + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingEnrollmentAccount_List.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingEnrollmentAccount_List.cs new file mode 100644 index 000000000000..ae5f515a35d2 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingEnrollmentAccount_List.cs @@ -0,0 +1,376 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// Lists the enrollment accounts the caller has access to. + /// + /// [OpenAPI] List=>GET:"/providers/Microsoft.Billing/enrollmentAccounts" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingEnrollmentAccount_List")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountSummary))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Lists the enrollment accounts the caller has access to.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingEnrollmentAccount_List : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingEnrollmentAccount_List() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.EnrollmentAccountsList(onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IEnrollmentAccountListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.EnrollmentAccountsList_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingInstruction_Get.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingInstruction_Get.cs new file mode 100644 index 000000000000..dc90842207d2 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingInstruction_Get.cs @@ -0,0 +1,399 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Get the instruction by name. These are custom billing instructions and are only applicable for certain customers. + /// + /// + /// [OpenAPI] Get=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/instructions/{instructionName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingInstruction_Get")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstruction))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Get the instruction by name. These are custom billing instructions and are only applicable for certain customers.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingInstruction_Get : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Backing field for property. + private string _billingProfileName; + + /// The ID that uniquely identifies a billing profile. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing profile.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing profile.", + SerializedName = @"billingProfileName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingProfileName { get => this._billingProfileName; set => this._billingProfileName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// Instruction Name. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Instruction Name.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Instruction Name.", + SerializedName = @"instructionName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("InstructionName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstruction + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingInstruction_Get() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.InstructionsGet(BillingAccountName, BillingProfileName, Name, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,BillingProfileName=BillingProfileName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName, Name=Name }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName, Name=Name }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstruction + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstruction + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingInstruction_GetViaIdentity.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingInstruction_GetViaIdentity.cs new file mode 100644 index 000000000000..95c6d49406dd --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingInstruction_GetViaIdentity.cs @@ -0,0 +1,384 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Get the instruction by name. These are custom billing instructions and are only applicable for certain customers. + /// + /// + /// [OpenAPI] Get=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/instructions/{instructionName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingInstruction_GetViaIdentity")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstruction))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Get the instruction by name. These are custom billing instructions and are only applicable for certain customers.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingInstruction_GetViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstruction + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingInstruction_GetViaIdentity() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.InstructionsGetViaIdentity(InputObject.Id, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.BillingAccountName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingAccountName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.BillingProfileName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingProfileName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.InstructionName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.InstructionName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.InstructionsGet(InputObject.BillingAccountName ?? null, InputObject.BillingProfileName ?? null, InputObject.InstructionName ?? null, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstruction + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstruction + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingInstruction_List.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingInstruction_List.cs new file mode 100644 index 000000000000..fd19767db471 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingInstruction_List.cs @@ -0,0 +1,404 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// Lists the instructions by billing profile id. + /// + /// [OpenAPI] ListByBillingProfile=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/instructions" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingInstruction_List")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstruction))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Lists the instructions by billing profile id.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingInstruction_List : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Backing field for property. + private string _billingProfileName; + + /// The ID that uniquely identifies a billing profile. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing profile.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing profile.", + SerializedName = @"billingProfileName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingProfileName { get => this._billingProfileName; set => this._billingProfileName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingInstruction_List() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.InstructionsListByBillingProfile(BillingAccountName, BillingProfileName, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,BillingProfileName=BillingProfileName}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInstructionListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.InstructionsListByBillingProfile_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingInvoiceSection_Get.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingInvoiceSection_Get.cs new file mode 100644 index 000000000000..18640a9d2f1b --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingInvoiceSection_Get.cs @@ -0,0 +1,400 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Gets an invoice section by its ID. The operation is supported only for billing accounts with agreement type Microsoft + /// Customer Agreement. + /// + /// + /// [OpenAPI] Get=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingInvoiceSection_Get")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets an invoice section by its ID. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingInvoiceSection_Get : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Backing field for property. + private string _billingProfileName; + + /// The ID that uniquely identifies a billing profile. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing profile.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing profile.", + SerializedName = @"billingProfileName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingProfileName { get => this._billingProfileName; set => this._billingProfileName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The ID that uniquely identifies an invoice section. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies an invoice section.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies an invoice section.", + SerializedName = @"invoiceSectionName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("InvoiceSectionName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingInvoiceSection_Get() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.InvoiceSectionsGet(BillingAccountName, BillingProfileName, Name, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,BillingProfileName=BillingProfileName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName, Name=Name }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName, Name=Name }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingInvoiceSection_GetViaIdentity.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingInvoiceSection_GetViaIdentity.cs new file mode 100644 index 000000000000..d45b753fb9f9 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingInvoiceSection_GetViaIdentity.cs @@ -0,0 +1,385 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Gets an invoice section by its ID. The operation is supported only for billing accounts with agreement type Microsoft + /// Customer Agreement. + /// + /// + /// [OpenAPI] Get=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingInvoiceSection_GetViaIdentity")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets an invoice section by its ID. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingInvoiceSection_GetViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingInvoiceSection_GetViaIdentity() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.InvoiceSectionsGetViaIdentity(InputObject.Id, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.BillingAccountName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingAccountName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.BillingProfileName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingProfileName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.InvoiceSectionName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.InvoiceSectionName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.InvoiceSectionsGet(InputObject.BillingAccountName ?? null, InputObject.BillingProfileName ?? null, InputObject.InvoiceSectionName ?? null, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingInvoiceSection_List.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingInvoiceSection_List.cs new file mode 100644 index 000000000000..37ab53ab683d --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingInvoiceSection_List.cs @@ -0,0 +1,407 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Lists the invoice sections that a user has access to. The operation is supported only for billing accounts with agreement + /// type Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] ListByBillingProfile=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingInvoiceSection_List")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Lists the invoice sections that a user has access to. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingInvoiceSection_List : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Backing field for property. + private string _billingProfileName; + + /// The ID that uniquely identifies a billing profile. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing profile.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing profile.", + SerializedName = @"billingProfileName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingProfileName { get => this._billingProfileName; set => this._billingProfileName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingInvoiceSection_List() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.InvoiceSectionsListByBillingProfile(BillingAccountName, BillingProfileName, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,BillingProfileName=BillingProfileName}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.InvoiceSectionsListByBillingProfile_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingInvoice_Get.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingInvoice_Get.cs new file mode 100644 index 000000000000..8420318d0206 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingInvoice_Get.cs @@ -0,0 +1,386 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Gets an invoice by billing account name and ID. The operation is supported for billing accounts with agreement type Microsoft + /// Partner Agreement or Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] Get=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingInvoice_Get")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets an invoice by billing account name and ID. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingInvoice_Get : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The ID that uniquely identifies an invoice. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies an invoice.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies an invoice.", + SerializedName = @"invoiceName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("InvoiceName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingInvoice_Get() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.InvoicesGet(BillingAccountName, Name, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, Name=Name }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, Name=Name }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingInvoice_Get1.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingInvoice_Get1.cs new file mode 100644 index 000000000000..74f3fd54a87a --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingInvoice_Get1.cs @@ -0,0 +1,372 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Gets an invoice by ID. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement + /// or Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] GetById=>GET:"/providers/Microsoft.Billing/billingAccounts/default/invoices/{invoiceName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingInvoice_Get1")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets an invoice by ID. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingInvoice_Get1 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The ID that uniquely identifies an invoice. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies an invoice.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies an invoice.", + SerializedName = @"invoiceName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("InvoiceName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingInvoice_Get1() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.InvoicesGetById(Name, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { Name=Name }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { Name=Name }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingInvoice_Get2.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingInvoice_Get2.cs new file mode 100644 index 000000000000..af58a708c691 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingInvoice_Get2.cs @@ -0,0 +1,390 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// Gets an invoice by subscription ID and invoice ID. + /// + /// [OpenAPI] GetBySubscriptionAndInvoiceId=>GET:"/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/invoices/{invoiceName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingInvoice_Get2")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets an invoice by subscription ID and invoice ID.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingInvoice_Get2 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The ID that uniquely identifies an invoice. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies an invoice.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies an invoice.", + SerializedName = @"invoiceName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("InvoiceName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string[] _subscriptionId; + + /// The ID that uniquely identifies an Azure subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies an Azure subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies an Azure subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingInvoice_Get2() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + foreach( var SubscriptionId in this.SubscriptionId ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.InvoicesGetBySubscriptionAndInvoiceId(SubscriptionId, Name, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId, Name=Name }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId, Name=Name }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingInvoice_GetViaIdentity.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingInvoice_GetViaIdentity.cs new file mode 100644 index 000000000000..e5c2e14f0509 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingInvoice_GetViaIdentity.cs @@ -0,0 +1,381 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Gets an invoice by billing account name and ID. The operation is supported for billing accounts with agreement type Microsoft + /// Partner Agreement or Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] Get=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingInvoice_GetViaIdentity")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets an invoice by billing account name and ID. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingInvoice_GetViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingInvoice_GetViaIdentity() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.InvoicesGetViaIdentity(InputObject.Id, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.BillingAccountName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingAccountName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.InvoiceName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.InvoiceName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.InvoicesGet(InputObject.BillingAccountName ?? null, InputObject.InvoiceName ?? null, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingInvoice_GetViaIdentity1.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingInvoice_GetViaIdentity1.cs new file mode 100644 index 000000000000..0cc200dfc4e1 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingInvoice_GetViaIdentity1.cs @@ -0,0 +1,377 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Gets an invoice by ID. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement + /// or Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] GetById=>GET:"/providers/Microsoft.Billing/billingAccounts/default/invoices/{invoiceName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingInvoice_GetViaIdentity1")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets an invoice by ID. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingInvoice_GetViaIdentity1 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingInvoice_GetViaIdentity1() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.InvoicesGetByIdViaIdentity(InputObject.Id, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.InvoiceName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.InvoiceName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.InvoicesGetById(InputObject.InvoiceName ?? null, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingInvoice_GetViaIdentity2.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingInvoice_GetViaIdentity2.cs new file mode 100644 index 000000000000..51d320b7b70f --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingInvoice_GetViaIdentity2.cs @@ -0,0 +1,378 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// Gets an invoice by subscription ID and invoice ID. + /// + /// [OpenAPI] GetBySubscriptionAndInvoiceId=>GET:"/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/invoices/{invoiceName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingInvoice_GetViaIdentity2")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets an invoice by subscription ID and invoice ID.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingInvoice_GetViaIdentity2 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingInvoice_GetViaIdentity2() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.InvoicesGetBySubscriptionAndInvoiceIdViaIdentity(InputObject.Id, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.InvoiceName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.InvoiceName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.InvoicesGetBySubscriptionAndInvoiceId(InputObject.SubscriptionId ?? null, InputObject.InvoiceName ?? null, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingInvoice_List.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingInvoice_List.cs new file mode 100644 index 000000000000..0399d01bec44 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingInvoice_List.cs @@ -0,0 +1,425 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Lists the invoices for a billing account for a given start date and end date. The operation is supported for billing accounts + /// with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] ListByBillingAccount=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingInvoice_List")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Lists the invoices for a billing account for a given start date and end date. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingInvoice_List : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _periodEndDate; + + /// + /// The end date to fetch the invoices. The date should be specified in MM-DD-YYYY format. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The end date to fetch the invoices. The date should be specified in MM-DD-YYYY format.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The end date to fetch the invoices. The date should be specified in MM-DD-YYYY format.", + SerializedName = @"periodEndDate", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Query)] + public string PeriodEndDate { get => this._periodEndDate; set => this._periodEndDate = value; } + + /// Backing field for property. + private string _periodStartDate; + + /// + /// The start date to fetch the invoices. The date should be specified in MM-DD-YYYY format. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The start date to fetch the invoices. The date should be specified in MM-DD-YYYY format.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The start date to fetch the invoices. The date should be specified in MM-DD-YYYY format.", + SerializedName = @"periodStartDate", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Query)] + public string PeriodStartDate { get => this._periodStartDate; set => this._periodStartDate = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingInvoice_List() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.InvoicesListByBillingAccount(BillingAccountName, PeriodStartDate, PeriodEndDate, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,PeriodStartDate=PeriodStartDate,PeriodEndDate=PeriodEndDate}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, PeriodStartDate=PeriodStartDate, PeriodEndDate=PeriodEndDate }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, PeriodStartDate=PeriodStartDate, PeriodEndDate=PeriodEndDate }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.InvoicesListByBillingAccount_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingInvoice_List1.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingInvoice_List1.cs new file mode 100644 index 000000000000..68dae7419623 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingInvoice_List1.cs @@ -0,0 +1,439 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Lists the invoices for a billing profile for a given start date and end date. The operation is supported for billing accounts + /// with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] ListByBillingProfile=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoices" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingInvoice_List1")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Lists the invoices for a billing profile for a given start date and end date. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingInvoice_List1 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Backing field for property. + private string _billingProfileName; + + /// The ID that uniquely identifies a billing profile. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing profile.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing profile.", + SerializedName = @"billingProfileName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingProfileName { get => this._billingProfileName; set => this._billingProfileName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _periodEndDate; + + /// + /// The end date to fetch the invoices. The date should be specified in MM-DD-YYYY format. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The end date to fetch the invoices. The date should be specified in MM-DD-YYYY format.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The end date to fetch the invoices. The date should be specified in MM-DD-YYYY format.", + SerializedName = @"periodEndDate", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Query)] + public string PeriodEndDate { get => this._periodEndDate; set => this._periodEndDate = value; } + + /// Backing field for property. + private string _periodStartDate; + + /// + /// The start date to fetch the invoices. The date should be specified in MM-DD-YYYY format. + /// + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The start date to fetch the invoices. The date should be specified in MM-DD-YYYY format.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The start date to fetch the invoices. The date should be specified in MM-DD-YYYY format.", + SerializedName = @"periodStartDate", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Query)] + public string PeriodStartDate { get => this._periodStartDate; set => this._periodStartDate = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingInvoice_List1() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.InvoicesListByBillingProfile(BillingAccountName, BillingProfileName, PeriodStartDate, PeriodEndDate, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,BillingProfileName=BillingProfileName,PeriodStartDate=PeriodStartDate,PeriodEndDate=PeriodEndDate}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName, PeriodStartDate=PeriodStartDate, PeriodEndDate=PeriodEndDate }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName, PeriodStartDate=PeriodStartDate, PeriodEndDate=PeriodEndDate }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.InvoicesListByBillingProfile_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingInvoice_List2.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingInvoice_List2.cs new file mode 100644 index 000000000000..6511f4e17419 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingInvoice_List2.cs @@ -0,0 +1,425 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// Lists the invoices for a subscription. + /// + /// [OpenAPI] ListByBillingSubscription=>GET:"/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/invoices" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingInvoice_List2")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoice))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Lists the invoices for a subscription.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingInvoice_List2 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _periodEndDate; + + /// Invoice period end date. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Invoice period end date.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Invoice period end date.", + SerializedName = @"periodEndDate", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Query)] + public string PeriodEndDate { get => this._periodEndDate; set => this._periodEndDate = value; } + + /// Backing field for property. + private string _periodStartDate; + + /// Invoice period start date. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Invoice period start date.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Invoice period start date.", + SerializedName = @"periodStartDate", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Query)] + public string PeriodStartDate { get => this._periodStartDate; set => this._periodStartDate = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string[] _subscriptionId; + + /// The ID that uniquely identifies an Azure subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies an Azure subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies an Azure subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingInvoice_List2() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + foreach( var SubscriptionId in this.SubscriptionId ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.InvoicesListByBillingSubscription(SubscriptionId, PeriodStartDate, PeriodEndDate, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,PeriodStartDate=PeriodStartDate,PeriodEndDate=PeriodEndDate}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId, PeriodStartDate=PeriodStartDate, PeriodEndDate=PeriodEndDate }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId, PeriodStartDate=PeriodStartDate, PeriodEndDate=PeriodEndDate }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.InvoicesListByBillingSubscription_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingOperation_List.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingOperation_List.cs new file mode 100644 index 000000000000..76c405323947 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingOperation_List.cs @@ -0,0 +1,377 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// Lists the available billing REST API operations. + /// + /// [OpenAPI] List=>GET:"/providers/Microsoft.Billing/operations" + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.InternalExport] + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingOperation_List")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperation))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Lists the available billing REST API operations.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingOperation_List : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingOperation_List() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.OperationsList(onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationsErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperationListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.OperationsList_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingPeriod_Get.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingPeriod_Get.cs new file mode 100644 index 000000000000..08689c6420d9 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingPeriod_Get.cs @@ -0,0 +1,393 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Gets a named billing period. This is only supported for Azure Web-Direct subscriptions. Other subscription types which + /// were not purchased directly through the Azure web portal are not supported through this preview API. + /// + /// + /// [OpenAPI] Get=>GET:"/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingPeriod_Get")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriod))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets a named billing period. This is only supported for Azure Web-Direct subscriptions. Other subscription types which were not purchased directly through the Azure web portal are not supported through this preview API.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingPeriod_Get : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The name of a BillingPeriod resource. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of a BillingPeriod resource.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The name of a BillingPeriod resource.", + SerializedName = @"billingPeriodName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("BillingPeriodName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string[] _subscriptionId; + + /// The ID that uniquely identifies an Azure subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies an Azure subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies an Azure subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriod + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingPeriod_Get() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + foreach( var SubscriptionId in this.SubscriptionId ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingPeriodsGet(SubscriptionId, Name, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId, Name=Name }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId, Name=Name }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriod + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriod + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingPeriod_GetViaIdentity.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingPeriod_GetViaIdentity.cs new file mode 100644 index 000000000000..194c1e0b480e --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingPeriod_GetViaIdentity.cs @@ -0,0 +1,381 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Gets a named billing period. This is only supported for Azure Web-Direct subscriptions. Other subscription types which + /// were not purchased directly through the Azure web portal are not supported through this preview API. + /// + /// + /// [OpenAPI] Get=>GET:"/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingPeriod_GetViaIdentity")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriod))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets a named billing period. This is only supported for Azure Web-Direct subscriptions. Other subscription types which were not purchased directly through the Azure web portal are not supported through this preview API.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingPeriod_GetViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriod + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingPeriod_GetViaIdentity() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.BillingPeriodsGetViaIdentity(InputObject.Id, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.BillingPeriodName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingPeriodName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.BillingPeriodsGet(InputObject.SubscriptionId ?? null, InputObject.BillingPeriodName ?? null, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriod + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriod + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingPeriod_List.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingPeriod_List.cs new file mode 100644 index 000000000000..b16db8e1f84b --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingPeriod_List.cs @@ -0,0 +1,452 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Lists the available billing periods for a subscription in reverse chronological order. This is only supported for Azure + /// Web-Direct subscriptions. Other subscription types which were not purchased directly through the Azure web portal are + /// not supported through this preview API. + /// + /// + /// [OpenAPI] List=>GET:"/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingPeriod_List")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriod))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Lists the available billing periods for a subscription in reverse chronological order. This is only supported for Azure Web-Direct subscriptions. Other subscription types which were not purchased directly through the Azure web portal are not supported through this preview API.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingPeriod_List : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Backing field for property. + private string _filter; + + /// + /// May be used to filter billing periods by billingPeriodEndDate. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. + /// It does not currently support 'ne', 'or', or 'not'. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "May be used to filter billing periods by billingPeriodEndDate. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"May be used to filter billing periods by billingPeriodEndDate. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'.", + SerializedName = @"$filter", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Query)] + public string Filter { get => this._filter; set => this._filter = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _skiptoken; + + /// + /// Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, + /// the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent + /// calls. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls.", + SerializedName = @"$skiptoken", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Query)] + public string Skiptoken { get => this._skiptoken; set => this._skiptoken = value; } + + /// Backing field for property. + private string[] _subscriptionId; + + /// The ID that uniquely identifies an Azure subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies an Azure subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies an Azure subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// Backing field for property. + private int _top; + + /// + /// May be used to limit the number of results to the most recent N billing periods. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "May be used to limit the number of results to the most recent N billing periods.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"May be used to limit the number of results to the most recent N billing periods.", + SerializedName = @"$top", + PossibleTypes = new [] { typeof(int) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Query)] + public int Top { get => this._top; set => this._top = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodsListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingPeriod_List() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + foreach( var SubscriptionId in this.SubscriptionId ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingPeriodsList(SubscriptionId, this.InvocationInformation.BoundParameters.ContainsKey("Filter") ? Filter : null, this.InvocationInformation.BoundParameters.ContainsKey("Skiptoken") ? Skiptoken : null, this.InvocationInformation.BoundParameters.ContainsKey("Top") ? Top : default(int?), onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,Filter=this.InvocationInformation.BoundParameters.ContainsKey("Filter") ? Filter : null,Skiptoken=this.InvocationInformation.BoundParameters.ContainsKey("Skiptoken") ? Skiptoken : null,Top=this.InvocationInformation.BoundParameters.ContainsKey("Top") ? Top : default(int?)}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId, Filter=this.InvocationInformation.BoundParameters.ContainsKey("Filter") ? Filter : null, Skiptoken=this.InvocationInformation.BoundParameters.ContainsKey("Skiptoken") ? Skiptoken : null, Top=this.InvocationInformation.BoundParameters.ContainsKey("Top") ? Top : default(int?) }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId, Filter=this.InvocationInformation.BoundParameters.ContainsKey("Filter") ? Filter : null, Skiptoken=this.InvocationInformation.BoundParameters.ContainsKey("Skiptoken") ? Skiptoken : null, Top=this.InvocationInformation.BoundParameters.ContainsKey("Top") ? Top : default(int?) }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IBillingPeriodsListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingPeriodsList_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingPermission_List.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingPermission_List.cs new file mode 100644 index 000000000000..ed9d74cf5bd7 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingPermission_List.cs @@ -0,0 +1,404 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// Lists the billing permissions the caller has for a customer. + /// + /// [OpenAPI] ListByCustomer=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}/billingPermissions" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingPermission_List")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsProperties))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Lists the billing permissions the caller has for a customer.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingPermission_List : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// Backing field for property. + private string _customerName; + + /// The ID that uniquely identifies a customer. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a customer.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a customer.", + SerializedName = @"customerName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string CustomerName { get => this._customerName; set => this._customerName = value; } + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingPermission_List() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingPermissionsListByCustomer(BillingAccountName, CustomerName, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,CustomerName=CustomerName}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, CustomerName=CustomerName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, CustomerName=CustomerName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingPermissionsListByCustomer_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingPermission_List1.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingPermission_List1.cs new file mode 100644 index 000000000000..ec0b22ef650f --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingPermission_List1.cs @@ -0,0 +1,390 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// Lists the billing permissions the caller has on a billing account. + /// + /// [OpenAPI] ListByBillingAccount=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingPermissions" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingPermission_List1")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsProperties))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Lists the billing permissions the caller has on a billing account.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingPermission_List1 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingPermission_List1() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingPermissionsListByBillingAccount(BillingAccountName, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingPermissionsListByBillingAccount_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingPermission_List2.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingPermission_List2.cs new file mode 100644 index 000000000000..c4f1deafdc84 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingPermission_List2.cs @@ -0,0 +1,418 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// Lists the billing permissions the caller has on an invoice section. + /// + /// [OpenAPI] ListByInvoiceSections=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingPermissions" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingPermission_List2")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsProperties))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Lists the billing permissions the caller has on an invoice section.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingPermission_List2 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Backing field for property. + private string _billingProfileName; + + /// The ID that uniquely identifies a billing profile. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing profile.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing profile.", + SerializedName = @"billingProfileName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingProfileName { get => this._billingProfileName; set => this._billingProfileName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _invoiceSectionName; + + /// The ID that uniquely identifies an invoice section. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies an invoice section.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies an invoice section.", + SerializedName = @"invoiceSectionName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string InvoiceSectionName { get => this._invoiceSectionName; set => this._invoiceSectionName = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingPermission_List2() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingPermissionsListByInvoiceSections(BillingAccountName, BillingProfileName, InvoiceSectionName, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,BillingProfileName=BillingProfileName,InvoiceSectionName=InvoiceSectionName}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName, InvoiceSectionName=InvoiceSectionName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName, InvoiceSectionName=InvoiceSectionName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingPermissionsListByInvoiceSections_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingPermission_List3.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingPermission_List3.cs new file mode 100644 index 000000000000..65572653ce4a --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingPermission_List3.cs @@ -0,0 +1,404 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// Lists the billing permissions the caller has on a billing profile. + /// + /// [OpenAPI] ListByBillingProfile=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingPermissions" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingPermission_List3")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsProperties))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Lists the billing permissions the caller has on a billing profile.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingPermission_List3 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Backing field for property. + private string _billingProfileName; + + /// The ID that uniquely identifies a billing profile. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing profile.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing profile.", + SerializedName = @"billingProfileName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingProfileName { get => this._billingProfileName; set => this._billingProfileName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingPermission_List3() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingPermissionsListByBillingProfile(BillingAccountName, BillingProfileName, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,BillingProfileName=BillingProfileName}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingPermissionsListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingPermissionsListByBillingProfile_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingPolicy_Get.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingPolicy_Get.cs new file mode 100644 index 000000000000..caa439edf49f --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingPolicy_Get.cs @@ -0,0 +1,385 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Lists the policies for a billing profile. This operation is supported only for billing accounts with agreement type Microsoft + /// Customer Agreement. + /// + /// + /// [OpenAPI] GetByBillingProfile=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/policies/default" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingPolicy_Get")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicy))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Lists the policies for a billing profile. This operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingPolicy_Get : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Backing field for property. + private string _billingProfileName; + + /// The ID that uniquely identifies a billing profile. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing profile.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing profile.", + SerializedName = @"billingProfileName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingProfileName { get => this._billingProfileName; set => this._billingProfileName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicy + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingPolicy_Get() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.PoliciesGetByBillingProfile(BillingAccountName, BillingProfileName, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,BillingProfileName=BillingProfileName}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicy + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicy + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingPolicy_Get1.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingPolicy_Get1.cs new file mode 100644 index 000000000000..8ea0a4de0096 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingPolicy_Get1.cs @@ -0,0 +1,385 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Lists the policies for a customer. This operation is supported only for billing accounts with agreement type Microsoft + /// Partner Agreement. + /// + /// + /// [OpenAPI] GetByCustomer=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}/policies/default" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingPolicy_Get1")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicy))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Lists the policies for a customer. This operation is supported only for billing accounts with agreement type Microsoft Partner Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingPolicy_Get1 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// Backing field for property. + private string _customerName; + + /// The ID that uniquely identifies a customer. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a customer.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a customer.", + SerializedName = @"customerName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string CustomerName { get => this._customerName; set => this._customerName = value; } + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicy + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingPolicy_Get1() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.PoliciesGetByCustomer(BillingAccountName, CustomerName, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,CustomerName=CustomerName}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, CustomerName=CustomerName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, CustomerName=CustomerName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicy + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicy + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingPolicy_GetViaIdentity.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingPolicy_GetViaIdentity.cs new file mode 100644 index 000000000000..3608748192dd --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingPolicy_GetViaIdentity.cs @@ -0,0 +1,381 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Lists the policies for a billing profile. This operation is supported only for billing accounts with agreement type Microsoft + /// Customer Agreement. + /// + /// + /// [OpenAPI] GetByBillingProfile=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/policies/default" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingPolicy_GetViaIdentity")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicy))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Lists the policies for a billing profile. This operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingPolicy_GetViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicy + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingPolicy_GetViaIdentity() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.PoliciesGetByBillingProfileViaIdentity(InputObject.Id, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.BillingAccountName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingAccountName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.BillingProfileName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingProfileName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.PoliciesGetByBillingProfile(InputObject.BillingAccountName ?? null, InputObject.BillingProfileName ?? null, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicy + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IPolicy + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingPolicy_GetViaIdentity1.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingPolicy_GetViaIdentity1.cs new file mode 100644 index 000000000000..6f74392f0bde --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingPolicy_GetViaIdentity1.cs @@ -0,0 +1,381 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Lists the policies for a customer. This operation is supported only for billing accounts with agreement type Microsoft + /// Partner Agreement. + /// + /// + /// [OpenAPI] GetByCustomer=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}/policies/default" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingPolicy_GetViaIdentity1")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicy))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Lists the policies for a customer. This operation is supported only for billing accounts with agreement type Microsoft Partner Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingPolicy_GetViaIdentity1 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicy + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingPolicy_GetViaIdentity1() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.PoliciesGetByCustomerViaIdentity(InputObject.Id, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.BillingAccountName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingAccountName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.CustomerName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.CustomerName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.PoliciesGetByCustomer(InputObject.BillingAccountName ?? null, InputObject.CustomerName ?? null, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicy + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ICustomerPolicy + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingProduct_Get.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingProduct_Get.cs new file mode 100644 index 000000000000..2cfe7b2ad232 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingProduct_Get.cs @@ -0,0 +1,385 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Gets a product by ID. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] Get=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/products/{productName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingProduct_Get")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets a product by ID. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingProduct_Get : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The ID that uniquely identifies a product. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a product.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a product.", + SerializedName = @"productName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("ProductName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingProduct_Get() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.ProductsGet(BillingAccountName, Name, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, Name=Name }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, Name=Name }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingProduct_GetViaIdentity.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingProduct_GetViaIdentity.cs new file mode 100644 index 000000000000..9215f90b3261 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingProduct_GetViaIdentity.cs @@ -0,0 +1,380 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Gets a product by ID. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] Get=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/products/{productName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingProduct_GetViaIdentity")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets a product by ID. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingProduct_GetViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingProduct_GetViaIdentity() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.ProductsGetViaIdentity(InputObject.Id, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.BillingAccountName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingAccountName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.ProductName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ProductName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.ProductsGet(InputObject.BillingAccountName ?? null, InputObject.ProductName ?? null, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingProduct_List.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingProduct_List.cs new file mode 100644 index 000000000000..8785127ddabe --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingProduct_List.cs @@ -0,0 +1,407 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Lists the products for a customer. These don't include products billed based on usage.The operation is supported only + /// for billing accounts with agreement type Microsoft Partner Agreement. + /// + /// + /// [OpenAPI] ListByCustomer=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}/products" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingProduct_List")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Lists the products for a customer. These don't include products billed based on usage.The operation is supported only for billing accounts with agreement type Microsoft Partner Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingProduct_List : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// Backing field for property. + private string _customerName; + + /// The ID that uniquely identifies a customer. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a customer.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a customer.", + SerializedName = @"customerName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string CustomerName { get => this._customerName; set => this._customerName = value; } + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductsListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingProduct_List() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.ProductsListByCustomer(BillingAccountName, CustomerName, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,CustomerName=CustomerName}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, CustomerName=CustomerName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, CustomerName=CustomerName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductsListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.ProductsListByCustomer_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingProduct_List1.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingProduct_List1.cs new file mode 100644 index 000000000000..f5c9442eb0ac --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingProduct_List1.cs @@ -0,0 +1,410 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Lists the products for a billing account. These don't include products billed based on usage. The operation is supported + /// for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement. + /// + /// + /// [OpenAPI] ListByBillingAccount=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/products" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingProduct_List1")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Lists the products for a billing account. These don't include products billed based on usage. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingProduct_List1 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Backing field for property. + private string _filter; + + /// + /// May be used to filter by product type. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently + /// support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value are separated by a colon (:). + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "May be used to filter by product type. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value are separated by a colon (:).")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"May be used to filter by product type. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value are separated by a colon (:).", + SerializedName = @"$filter", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Query)] + public string Filter { get => this._filter; set => this._filter = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductsListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingProduct_List1() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.ProductsListByBillingAccount(BillingAccountName, this.InvocationInformation.BoundParameters.ContainsKey("Filter") ? Filter : null, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,Filter=this.InvocationInformation.BoundParameters.ContainsKey("Filter") ? Filter : null}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, Filter=this.InvocationInformation.BoundParameters.ContainsKey("Filter") ? Filter : null }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, Filter=this.InvocationInformation.BoundParameters.ContainsKey("Filter") ? Filter : null }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductsListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.ProductsListByBillingAccount_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingProduct_List2.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingProduct_List2.cs new file mode 100644 index 000000000000..cee503e5f374 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingProduct_List2.cs @@ -0,0 +1,424 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Lists the products for a billing profile. These don't include products billed based on usage. The operation is supported + /// for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement. + /// + /// + /// [OpenAPI] ListByBillingProfile=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/products" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingProduct_List2")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Lists the products for a billing profile. These don't include products billed based on usage. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingProduct_List2 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Backing field for property. + private string _billingProfileName; + + /// The ID that uniquely identifies a billing profile. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing profile.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing profile.", + SerializedName = @"billingProfileName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingProfileName { get => this._billingProfileName; set => this._billingProfileName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Backing field for property. + private string _filter; + + /// + /// May be used to filter by product type. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently + /// support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value are separated by a colon (:). + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "May be used to filter by product type. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value are separated by a colon (:).")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"May be used to filter by product type. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value are separated by a colon (:).", + SerializedName = @"$filter", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Query)] + public string Filter { get => this._filter; set => this._filter = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductsListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingProduct_List2() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.ProductsListByBillingProfile(BillingAccountName, BillingProfileName, this.InvocationInformation.BoundParameters.ContainsKey("Filter") ? Filter : null, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,BillingProfileName=BillingProfileName,Filter=this.InvocationInformation.BoundParameters.ContainsKey("Filter") ? Filter : null}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName, Filter=this.InvocationInformation.BoundParameters.ContainsKey("Filter") ? Filter : null }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName, Filter=this.InvocationInformation.BoundParameters.ContainsKey("Filter") ? Filter : null }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductsListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.ProductsListByBillingProfile_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingProduct_List3.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingProduct_List3.cs new file mode 100644 index 000000000000..514732247a89 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingProduct_List3.cs @@ -0,0 +1,438 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Lists the products for an invoice section. These don't include products billed based on usage. The operation is supported + /// only for billing accounts with agreement type Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] ListByInvoiceSection=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/products" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingProduct_List3")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Lists the products for an invoice section. These don't include products billed based on usage. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingProduct_List3 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Backing field for property. + private string _billingProfileName; + + /// The ID that uniquely identifies a billing profile. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing profile.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing profile.", + SerializedName = @"billingProfileName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingProfileName { get => this._billingProfileName; set => this._billingProfileName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Backing field for property. + private string _filter; + + /// + /// May be used to filter by product type. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently + /// support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value are separated by a colon (:). + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "May be used to filter by product type. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value are separated by a colon (:).")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"May be used to filter by product type. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value are separated by a colon (:).", + SerializedName = @"$filter", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Query)] + public string Filter { get => this._filter; set => this._filter = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _invoiceSectionName; + + /// The ID that uniquely identifies an invoice section. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies an invoice section.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies an invoice section.", + SerializedName = @"invoiceSectionName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string InvoiceSectionName { get => this._invoiceSectionName; set => this._invoiceSectionName = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductsListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingProduct_List3() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.ProductsListByInvoiceSection(BillingAccountName, BillingProfileName, InvoiceSectionName, this.InvocationInformation.BoundParameters.ContainsKey("Filter") ? Filter : null, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,BillingProfileName=BillingProfileName,InvoiceSectionName=InvoiceSectionName,Filter=this.InvocationInformation.BoundParameters.ContainsKey("Filter") ? Filter : null}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName, InvoiceSectionName=InvoiceSectionName, Filter=this.InvocationInformation.BoundParameters.ContainsKey("Filter") ? Filter : null }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName, InvoiceSectionName=InvoiceSectionName, Filter=this.InvocationInformation.BoundParameters.ContainsKey("Filter") ? Filter : null }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProductsListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.ProductsListByInvoiceSection_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingProfile_Get.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingProfile_Get.cs new file mode 100644 index 000000000000..5fbee1811744 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingProfile_Get.cs @@ -0,0 +1,400 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Gets a billing profile by its ID. The operation is supported for billing accounts with agreement type Microsoft Customer + /// Agreement or Microsoft Partner Agreement. + /// + /// + /// [OpenAPI] Get=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingProfile_Get")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets a billing profile by its ID. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingProfile_Get : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Backing field for property. + private string _expand; + + /// May be used to expand the invoice sections. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "May be used to expand the invoice sections.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"May be used to expand the invoice sections.", + SerializedName = @"$expand", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Query)] + public string Expand { get => this._expand; set => this._expand = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The ID that uniquely identifies a billing profile. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing profile.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing profile.", + SerializedName = @"billingProfileName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("BillingProfileName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingProfile_Get() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingProfilesGet(BillingAccountName, Name, this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,Name=Name,Expand=this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, Name=Name, Expand=this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, Name=Name, Expand=this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingProfile_GetViaIdentity.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingProfile_GetViaIdentity.cs new file mode 100644 index 000000000000..951c2824d5da --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingProfile_GetViaIdentity.cs @@ -0,0 +1,395 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Gets a billing profile by its ID. The operation is supported for billing accounts with agreement type Microsoft Customer + /// Agreement or Microsoft Partner Agreement. + /// + /// + /// [OpenAPI] Get=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingProfile_GetViaIdentity")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets a billing profile by its ID. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingProfile_GetViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Backing field for property. + private string _expand; + + /// May be used to expand the invoice sections. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "May be used to expand the invoice sections.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"May be used to expand the invoice sections.", + SerializedName = @"$expand", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Query)] + public string Expand { get => this._expand; set => this._expand = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingProfile_GetViaIdentity() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.BillingProfilesGetViaIdentity(InputObject.Id, this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.BillingAccountName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingAccountName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.BillingProfileName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingProfileName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.BillingProfilesGet(InputObject.BillingAccountName ?? null, InputObject.BillingProfileName ?? null, this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { Expand=this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { Expand=this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { Expand=this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingProfile_List.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingProfile_List.cs new file mode 100644 index 000000000000..93b23226ca1d --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingProfile_List.cs @@ -0,0 +1,407 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Lists the billing profiles that a user has access to. The operation is supported for billing accounts with agreement type + /// Microsoft Customer Agreement or Microsoft Partner Agreement. + /// + /// + /// [OpenAPI] ListByBillingAccount=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingProfile_List")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Lists the billing profiles that a user has access to. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingProfile_List : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Backing field for property. + private string _expand; + + /// May be used to expand the invoice sections. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "May be used to expand the invoice sections.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"May be used to expand the invoice sections.", + SerializedName = @"$expand", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Query)] + public string Expand { get => this._expand; set => this._expand = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingProfile_List() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingProfilesListByBillingAccount(BillingAccountName, this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,Expand=this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, Expand=this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, Expand=this.InvocationInformation.BoundParameters.ContainsKey("Expand") ? Expand : null }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfileListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingProfilesListByBillingAccount_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingProperty_Get.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingProperty_Get.cs new file mode 100644 index 000000000000..856743e4903b --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingProperty_Get.cs @@ -0,0 +1,378 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Get the billing properties for a subscription. This operation is not supported for billing accounts with agreement type + /// Enterprise Agreement. + /// + /// + /// [OpenAPI] Get=>GET:"/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingProperty/default" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingProperty_Get")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProperty))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Get the billing properties for a subscription. This operation is not supported for billing accounts with agreement type Enterprise Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingProperty_Get : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string[] _subscriptionId; + + /// The ID that uniquely identifies an Azure subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies an Azure subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies an Azure subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProperty + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingProperty_Get() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + foreach( var SubscriptionId in this.SubscriptionId ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingPropertyGet(SubscriptionId, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProperty + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProperty + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingProperty_GetViaIdentity.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingProperty_GetViaIdentity.cs new file mode 100644 index 000000000000..4e0933ad1dcd --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingProperty_GetViaIdentity.cs @@ -0,0 +1,377 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Get the billing properties for a subscription. This operation is not supported for billing accounts with agreement type + /// Enterprise Agreement. + /// + /// + /// [OpenAPI] Get=>GET:"/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingProperty/default" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingProperty_GetViaIdentity")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProperty))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Get the billing properties for a subscription. This operation is not supported for billing accounts with agreement type Enterprise Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingProperty_GetViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProperty + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingProperty_GetViaIdentity() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.BillingPropertyGetViaIdentity(InputObject.Id, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.BillingPropertyGet(InputObject.SubscriptionId ?? null, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProperty + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProperty + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingReservation_List.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingReservation_List.cs new file mode 100644 index 000000000000..ad3eb132f251 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingReservation_List.cs @@ -0,0 +1,453 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Lists the reservations for a billing account and the roll up counts of reservations group by provisioning states. + /// + /// + /// [OpenAPI] ListByBillingAccount=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/reservations" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingReservation_List")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservation))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Lists the reservations for a billing account and the roll up counts of reservations group by provisioning states.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingReservation_List : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Backing field for property. + private string _filter; + + /// + /// May be used to filter by reservation properties. The filter supports 'eq', 'or', and 'and'. It does not currently support + /// 'ne', 'gt', 'le', 'ge', or 'not'. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "May be used to filter by reservation properties. The filter supports 'eq', 'or', and 'and'. It does not currently support 'ne', 'gt', 'le', 'ge', or 'not'.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"May be used to filter by reservation properties. The filter supports 'eq', 'or', and 'and'. It does not currently support 'ne', 'gt', 'le', 'ge', or 'not'.", + SerializedName = @"$filter", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Query)] + public string Filter { get => this._filter; set => this._filter = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _orderby; + + /// May be used to sort order by reservation properties. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "May be used to sort order by reservation properties.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"May be used to sort order by reservation properties.", + SerializedName = @"$orderby", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Query)] + public string Orderby { get => this._orderby; set => this._orderby = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _refreshSummary; + + /// + /// To indicate whether to refresh the roll up counts of the reservations group by provisioning states + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "To indicate whether to refresh the roll up counts of the reservations group by provisioning states")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"To indicate whether to refresh the roll up counts of the reservations group by provisioning states", + SerializedName = @"refreshSummary", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Query)] + public string RefreshSummary { get => this._refreshSummary; set => this._refreshSummary = value; } + + /// Backing field for property. + private string _selectedState; + + /// The selected provisioning state + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The selected provisioning state")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The selected provisioning state", + SerializedName = @"selectedState", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Query)] + public string SelectedState { get => this._selectedState; set => this._selectedState = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingReservation_List() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.ReservationsListByBillingAccount(BillingAccountName, this.InvocationInformation.BoundParameters.ContainsKey("Filter") ? Filter : null, this.InvocationInformation.BoundParameters.ContainsKey("Orderby") ? Orderby : null, this.InvocationInformation.BoundParameters.ContainsKey("RefreshSummary") ? RefreshSummary : null, this.InvocationInformation.BoundParameters.ContainsKey("SelectedState") ? SelectedState : null, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,Filter=this.InvocationInformation.BoundParameters.ContainsKey("Filter") ? Filter : null,Orderby=this.InvocationInformation.BoundParameters.ContainsKey("Orderby") ? Orderby : null,RefreshSummary=this.InvocationInformation.BoundParameters.ContainsKey("RefreshSummary") ? RefreshSummary : null,SelectedState=this.InvocationInformation.BoundParameters.ContainsKey("SelectedState") ? SelectedState : null}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, Filter=this.InvocationInformation.BoundParameters.ContainsKey("Filter") ? Filter : null, Orderby=this.InvocationInformation.BoundParameters.ContainsKey("Orderby") ? Orderby : null, RefreshSummary=this.InvocationInformation.BoundParameters.ContainsKey("RefreshSummary") ? RefreshSummary : null, SelectedState=this.InvocationInformation.BoundParameters.ContainsKey("SelectedState") ? SelectedState : null }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, Filter=this.InvocationInformation.BoundParameters.ContainsKey("Filter") ? Filter : null, Orderby=this.InvocationInformation.BoundParameters.ContainsKey("Orderby") ? Orderby : null, RefreshSummary=this.InvocationInformation.BoundParameters.ContainsKey("RefreshSummary") ? RefreshSummary : null, SelectedState=this.InvocationInformation.BoundParameters.ContainsKey("SelectedState") ? SelectedState : null }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.ReservationsListByBillingAccount_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingReservation_List1.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingReservation_List1.cs new file mode 100644 index 000000000000..d873bf0da82b --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingReservation_List1.cs @@ -0,0 +1,467 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Lists the reservations for a billing profile and the roll up counts of reservations group by provisioning state. + /// + /// + /// [OpenAPI] ListByBillingProfile=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/reservations" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingReservation_List1")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservation))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Lists the reservations for a billing profile and the roll up counts of reservations group by provisioning state.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingReservation_List1 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Backing field for property. + private string _billingProfileName; + + /// The ID that uniquely identifies a billing profile. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing profile.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing profile.", + SerializedName = @"billingProfileName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingProfileName { get => this._billingProfileName; set => this._billingProfileName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Backing field for property. + private string _filter; + + /// + /// May be used to filter by reservation properties. The filter supports 'eq', 'or', and 'and'. It does not currently support + /// 'ne', 'gt', 'le', 'ge', or 'not'. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "May be used to filter by reservation properties. The filter supports 'eq', 'or', and 'and'. It does not currently support 'ne', 'gt', 'le', 'ge', or 'not'.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"May be used to filter by reservation properties. The filter supports 'eq', 'or', and 'and'. It does not currently support 'ne', 'gt', 'le', 'ge', or 'not'.", + SerializedName = @"$filter", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Query)] + public string Filter { get => this._filter; set => this._filter = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _orderby; + + /// May be used to sort order by reservation properties. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "May be used to sort order by reservation properties.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"May be used to sort order by reservation properties.", + SerializedName = @"$orderby", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Query)] + public string Orderby { get => this._orderby; set => this._orderby = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _refreshSummary; + + /// + /// To indicate whether to refresh the roll up counts of the reservations group by provisioning state + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "To indicate whether to refresh the roll up counts of the reservations group by provisioning state")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"To indicate whether to refresh the roll up counts of the reservations group by provisioning state", + SerializedName = @"refreshSummary", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Query)] + public string RefreshSummary { get => this._refreshSummary; set => this._refreshSummary = value; } + + /// Backing field for property. + private string _selectedState; + + /// The selected provisioning state + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The selected provisioning state")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The selected provisioning state", + SerializedName = @"selectedState", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Query)] + public string SelectedState { get => this._selectedState; set => this._selectedState = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingReservation_List1() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.ReservationsListByBillingProfile(BillingAccountName, BillingProfileName, this.InvocationInformation.BoundParameters.ContainsKey("Filter") ? Filter : null, this.InvocationInformation.BoundParameters.ContainsKey("Orderby") ? Orderby : null, this.InvocationInformation.BoundParameters.ContainsKey("RefreshSummary") ? RefreshSummary : null, this.InvocationInformation.BoundParameters.ContainsKey("SelectedState") ? SelectedState : null, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,BillingProfileName=BillingProfileName,Filter=this.InvocationInformation.BoundParameters.ContainsKey("Filter") ? Filter : null,Orderby=this.InvocationInformation.BoundParameters.ContainsKey("Orderby") ? Orderby : null,RefreshSummary=this.InvocationInformation.BoundParameters.ContainsKey("RefreshSummary") ? RefreshSummary : null,SelectedState=this.InvocationInformation.BoundParameters.ContainsKey("SelectedState") ? SelectedState : null}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName, Filter=this.InvocationInformation.BoundParameters.ContainsKey("Filter") ? Filter : null, Orderby=this.InvocationInformation.BoundParameters.ContainsKey("Orderby") ? Orderby : null, RefreshSummary=this.InvocationInformation.BoundParameters.ContainsKey("RefreshSummary") ? RefreshSummary : null, SelectedState=this.InvocationInformation.BoundParameters.ContainsKey("SelectedState") ? SelectedState : null }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName, Filter=this.InvocationInformation.BoundParameters.ContainsKey("Filter") ? Filter : null, Orderby=this.InvocationInformation.BoundParameters.ContainsKey("Orderby") ? Orderby : null, RefreshSummary=this.InvocationInformation.BoundParameters.ContainsKey("RefreshSummary") ? RefreshSummary : null, SelectedState=this.InvocationInformation.BoundParameters.ContainsKey("SelectedState") ? SelectedState : null }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IReservationsListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.ReservationsListByBillingProfile_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingRoleAssignment_Get.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingRoleAssignment_Get.cs new file mode 100644 index 000000000000..0a082c6e2af2 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingRoleAssignment_Get.cs @@ -0,0 +1,386 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Gets a role assignment for the caller on a billing account. The operation is supported for billing accounts with agreement + /// type Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] GetByBillingAccount=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleAssignments/{billingRoleAssignmentName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingRoleAssignment_Get")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets a role assignment for the caller on a billing account. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingRoleAssignment_Get : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The ID that uniquely identifies a role assignment. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a role assignment.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a role assignment.", + SerializedName = @"billingRoleAssignmentName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("BillingRoleAssignmentName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingRoleAssignment_Get() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingRoleAssignmentsGetByBillingAccount(BillingAccountName, Name, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, Name=Name }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, Name=Name }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingRoleAssignment_Get1.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingRoleAssignment_Get1.cs new file mode 100644 index 000000000000..5eb83ab224f6 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingRoleAssignment_Get1.cs @@ -0,0 +1,414 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Gets a role assignment for the caller on an invoice section. The operation is supported for billing accounts with agreement + /// type Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] GetByInvoiceSection=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleAssignments/{billingRoleAssignmentName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingRoleAssignment_Get1")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets a role assignment for the caller on an invoice section. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingRoleAssignment_Get1 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Backing field for property. + private string _billingProfileName; + + /// The ID that uniquely identifies a billing profile. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing profile.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing profile.", + SerializedName = @"billingProfileName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingProfileName { get => this._billingProfileName; set => this._billingProfileName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _invoiceSectionName; + + /// The ID that uniquely identifies an invoice section. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies an invoice section.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies an invoice section.", + SerializedName = @"invoiceSectionName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string InvoiceSectionName { get => this._invoiceSectionName; set => this._invoiceSectionName = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The ID that uniquely identifies a role assignment. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a role assignment.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a role assignment.", + SerializedName = @"billingRoleAssignmentName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("BillingRoleAssignmentName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingRoleAssignment_Get1() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingRoleAssignmentsGetByInvoiceSection(BillingAccountName, BillingProfileName, InvoiceSectionName, Name, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,BillingProfileName=BillingProfileName,InvoiceSectionName=InvoiceSectionName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName, InvoiceSectionName=InvoiceSectionName, Name=Name }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName, InvoiceSectionName=InvoiceSectionName, Name=Name }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingRoleAssignment_Get2.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingRoleAssignment_Get2.cs new file mode 100644 index 000000000000..1cd4d2dd09cc --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingRoleAssignment_Get2.cs @@ -0,0 +1,400 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Gets a role assignment for the caller on a billing profile. The operation is supported for billing accounts with agreement + /// type Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] GetByBillingProfile=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleAssignments/{billingRoleAssignmentName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingRoleAssignment_Get2")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets a role assignment for the caller on a billing profile. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingRoleAssignment_Get2 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Backing field for property. + private string _billingProfileName; + + /// The ID that uniquely identifies a billing profile. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing profile.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing profile.", + SerializedName = @"billingProfileName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingProfileName { get => this._billingProfileName; set => this._billingProfileName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The ID that uniquely identifies a role assignment. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a role assignment.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a role assignment.", + SerializedName = @"billingRoleAssignmentName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("BillingRoleAssignmentName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingRoleAssignment_Get2() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingRoleAssignmentsGetByBillingProfile(BillingAccountName, BillingProfileName, Name, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,BillingProfileName=BillingProfileName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName, Name=Name }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName, Name=Name }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingRoleAssignment_GetViaIdentity.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingRoleAssignment_GetViaIdentity.cs new file mode 100644 index 000000000000..9c5b614f4c26 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingRoleAssignment_GetViaIdentity.cs @@ -0,0 +1,381 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Gets a role assignment for the caller on a billing account. The operation is supported for billing accounts with agreement + /// type Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] GetByBillingAccount=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleAssignments/{billingRoleAssignmentName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingRoleAssignment_GetViaIdentity")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets a role assignment for the caller on a billing account. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingRoleAssignment_GetViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingRoleAssignment_GetViaIdentity() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.BillingRoleAssignmentsGetByBillingAccountViaIdentity(InputObject.Id, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.BillingAccountName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingAccountName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.BillingRoleAssignmentName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingRoleAssignmentName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.BillingRoleAssignmentsGetByBillingAccount(InputObject.BillingAccountName ?? null, InputObject.BillingRoleAssignmentName ?? null, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingRoleAssignment_GetViaIdentity1.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingRoleAssignment_GetViaIdentity1.cs new file mode 100644 index 000000000000..4eead1e5b662 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingRoleAssignment_GetViaIdentity1.cs @@ -0,0 +1,389 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Gets a role assignment for the caller on an invoice section. The operation is supported for billing accounts with agreement + /// type Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] GetByInvoiceSection=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleAssignments/{billingRoleAssignmentName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingRoleAssignment_GetViaIdentity1")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets a role assignment for the caller on an invoice section. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingRoleAssignment_GetViaIdentity1 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingRoleAssignment_GetViaIdentity1() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.BillingRoleAssignmentsGetByInvoiceSectionViaIdentity(InputObject.Id, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.BillingAccountName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingAccountName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.BillingProfileName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingProfileName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.InvoiceSectionName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.InvoiceSectionName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.BillingRoleAssignmentName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingRoleAssignmentName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.BillingRoleAssignmentsGetByInvoiceSection(InputObject.BillingAccountName ?? null, InputObject.BillingProfileName ?? null, InputObject.InvoiceSectionName ?? null, InputObject.BillingRoleAssignmentName ?? null, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingRoleAssignment_GetViaIdentity2.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingRoleAssignment_GetViaIdentity2.cs new file mode 100644 index 000000000000..28e6e4646638 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingRoleAssignment_GetViaIdentity2.cs @@ -0,0 +1,385 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Gets a role assignment for the caller on a billing profile. The operation is supported for billing accounts with agreement + /// type Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] GetByBillingProfile=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleAssignments/{billingRoleAssignmentName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingRoleAssignment_GetViaIdentity2")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets a role assignment for the caller on a billing profile. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingRoleAssignment_GetViaIdentity2 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingRoleAssignment_GetViaIdentity2() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.BillingRoleAssignmentsGetByBillingProfileViaIdentity(InputObject.Id, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.BillingAccountName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingAccountName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.BillingProfileName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingProfileName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.BillingRoleAssignmentName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingRoleAssignmentName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.BillingRoleAssignmentsGetByBillingProfile(InputObject.BillingAccountName ?? null, InputObject.BillingProfileName ?? null, InputObject.BillingRoleAssignmentName ?? null, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingRoleAssignment_List.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingRoleAssignment_List.cs new file mode 100644 index 000000000000..b6064554862a --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingRoleAssignment_List.cs @@ -0,0 +1,393 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Lists the role assignments for the caller on a billing account. The operation is supported for billing accounts with agreement + /// type Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] ListByBillingAccount=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleAssignments" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingRoleAssignment_List")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Lists the role assignments for the caller on a billing account. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingRoleAssignment_List : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingRoleAssignment_List() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingRoleAssignmentsListByBillingAccount(BillingAccountName, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingRoleAssignmentsListByBillingAccount_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingRoleAssignment_List1.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingRoleAssignment_List1.cs new file mode 100644 index 000000000000..b6d349e9332f --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingRoleAssignment_List1.cs @@ -0,0 +1,421 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Lists the role assignments for the caller on an invoice section. The operation is supported for billing accounts with + /// agreement type Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] ListByInvoiceSection=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleAssignments" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingRoleAssignment_List1")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Lists the role assignments for the caller on an invoice section. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingRoleAssignment_List1 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Backing field for property. + private string _billingProfileName; + + /// The ID that uniquely identifies a billing profile. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing profile.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing profile.", + SerializedName = @"billingProfileName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingProfileName { get => this._billingProfileName; set => this._billingProfileName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _invoiceSectionName; + + /// The ID that uniquely identifies an invoice section. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies an invoice section.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies an invoice section.", + SerializedName = @"invoiceSectionName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string InvoiceSectionName { get => this._invoiceSectionName; set => this._invoiceSectionName = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingRoleAssignment_List1() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingRoleAssignmentsListByInvoiceSection(BillingAccountName, BillingProfileName, InvoiceSectionName, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,BillingProfileName=BillingProfileName,InvoiceSectionName=InvoiceSectionName}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName, InvoiceSectionName=InvoiceSectionName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName, InvoiceSectionName=InvoiceSectionName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingRoleAssignmentsListByInvoiceSection_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingRoleAssignment_List2.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingRoleAssignment_List2.cs new file mode 100644 index 000000000000..4c273560ebd1 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingRoleAssignment_List2.cs @@ -0,0 +1,407 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Lists the role assignments for the caller on a billing profile. The operation is supported for billing accounts with agreement + /// type Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] ListByBillingProfile=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleAssignments" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingRoleAssignment_List2")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Lists the role assignments for the caller on a billing profile. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingRoleAssignment_List2 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Backing field for property. + private string _billingProfileName; + + /// The ID that uniquely identifies a billing profile. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing profile.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing profile.", + SerializedName = @"billingProfileName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingProfileName { get => this._billingProfileName; set => this._billingProfileName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingRoleAssignment_List2() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingRoleAssignmentsListByBillingProfile(BillingAccountName, BillingProfileName, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,BillingProfileName=BillingProfileName}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignmentListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingRoleAssignmentsListByBillingProfile_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingRoleDefinition_Get.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingRoleDefinition_Get.cs new file mode 100644 index 000000000000..2e2f44d5c904 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingRoleDefinition_Get.cs @@ -0,0 +1,386 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Gets the definition for a role on a billing account. The operation is supported for billing accounts with agreement type + /// Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] GetByBillingAccount=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleDefinitions/{billingRoleDefinitionName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingRoleDefinition_Get")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets the definition for a role on a billing account. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingRoleDefinition_Get : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The ID that uniquely identifies a role definition. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a role definition.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a role definition.", + SerializedName = @"billingRoleDefinitionName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("BillingRoleDefinitionName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingRoleDefinition_Get() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingRoleDefinitionsGetByBillingAccount(BillingAccountName, Name, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, Name=Name }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, Name=Name }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingRoleDefinition_Get1.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingRoleDefinition_Get1.cs new file mode 100644 index 000000000000..9082599ffecb --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingRoleDefinition_Get1.cs @@ -0,0 +1,414 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Gets the definition for a role on an invoice section. The operation is supported only for billing accounts with agreement + /// type Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] GetByInvoiceSection=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleDefinitions/{billingRoleDefinitionName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingRoleDefinition_Get1")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets the definition for a role on an invoice section. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingRoleDefinition_Get1 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Backing field for property. + private string _billingProfileName; + + /// The ID that uniquely identifies a billing profile. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing profile.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing profile.", + SerializedName = @"billingProfileName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingProfileName { get => this._billingProfileName; set => this._billingProfileName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _invoiceSectionName; + + /// The ID that uniquely identifies an invoice section. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies an invoice section.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies an invoice section.", + SerializedName = @"invoiceSectionName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string InvoiceSectionName { get => this._invoiceSectionName; set => this._invoiceSectionName = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The ID that uniquely identifies a role definition. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a role definition.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a role definition.", + SerializedName = @"billingRoleDefinitionName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("BillingRoleDefinitionName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingRoleDefinition_Get1() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingRoleDefinitionsGetByInvoiceSection(BillingAccountName, BillingProfileName, InvoiceSectionName, Name, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,BillingProfileName=BillingProfileName,InvoiceSectionName=InvoiceSectionName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName, InvoiceSectionName=InvoiceSectionName, Name=Name }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName, InvoiceSectionName=InvoiceSectionName, Name=Name }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingRoleDefinition_Get2.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingRoleDefinition_Get2.cs new file mode 100644 index 000000000000..5e0ed028b0d8 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingRoleDefinition_Get2.cs @@ -0,0 +1,400 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Gets the definition for a role on a billing profile. The operation is supported for billing accounts with agreement type + /// Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] GetByBillingProfile=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleDefinitions/{billingRoleDefinitionName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingRoleDefinition_Get2")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets the definition for a role on a billing profile. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingRoleDefinition_Get2 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Backing field for property. + private string _billingProfileName; + + /// The ID that uniquely identifies a billing profile. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing profile.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing profile.", + SerializedName = @"billingProfileName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingProfileName { get => this._billingProfileName; set => this._billingProfileName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The ID that uniquely identifies a role definition. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a role definition.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a role definition.", + SerializedName = @"billingRoleDefinitionName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("BillingRoleDefinitionName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingRoleDefinition_Get2() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingRoleDefinitionsGetByBillingProfile(BillingAccountName, BillingProfileName, Name, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,BillingProfileName=BillingProfileName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName, Name=Name }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName, Name=Name }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingRoleDefinition_GetViaIdentity.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingRoleDefinition_GetViaIdentity.cs new file mode 100644 index 000000000000..f9d4f35a344c --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingRoleDefinition_GetViaIdentity.cs @@ -0,0 +1,381 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Gets the definition for a role on a billing account. The operation is supported for billing accounts with agreement type + /// Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] GetByBillingAccount=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleDefinitions/{billingRoleDefinitionName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingRoleDefinition_GetViaIdentity")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets the definition for a role on a billing account. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingRoleDefinition_GetViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingRoleDefinition_GetViaIdentity() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.BillingRoleDefinitionsGetByBillingAccountViaIdentity(InputObject.Id, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.BillingAccountName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingAccountName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.BillingRoleDefinitionName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingRoleDefinitionName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.BillingRoleDefinitionsGetByBillingAccount(InputObject.BillingAccountName ?? null, InputObject.BillingRoleDefinitionName ?? null, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingRoleDefinition_GetViaIdentity1.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingRoleDefinition_GetViaIdentity1.cs new file mode 100644 index 000000000000..3808e5b2e952 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingRoleDefinition_GetViaIdentity1.cs @@ -0,0 +1,389 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Gets the definition for a role on an invoice section. The operation is supported only for billing accounts with agreement + /// type Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] GetByInvoiceSection=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleDefinitions/{billingRoleDefinitionName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingRoleDefinition_GetViaIdentity1")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets the definition for a role on an invoice section. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingRoleDefinition_GetViaIdentity1 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingRoleDefinition_GetViaIdentity1() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.BillingRoleDefinitionsGetByInvoiceSectionViaIdentity(InputObject.Id, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.BillingAccountName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingAccountName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.BillingProfileName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingProfileName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.InvoiceSectionName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.InvoiceSectionName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.BillingRoleDefinitionName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingRoleDefinitionName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.BillingRoleDefinitionsGetByInvoiceSection(InputObject.BillingAccountName ?? null, InputObject.BillingProfileName ?? null, InputObject.InvoiceSectionName ?? null, InputObject.BillingRoleDefinitionName ?? null, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingRoleDefinition_GetViaIdentity2.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingRoleDefinition_GetViaIdentity2.cs new file mode 100644 index 000000000000..1f7915074335 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingRoleDefinition_GetViaIdentity2.cs @@ -0,0 +1,385 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Gets the definition for a role on a billing profile. The operation is supported for billing accounts with agreement type + /// Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] GetByBillingProfile=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleDefinitions/{billingRoleDefinitionName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingRoleDefinition_GetViaIdentity2")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets the definition for a role on a billing profile. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingRoleDefinition_GetViaIdentity2 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingRoleDefinition_GetViaIdentity2() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.BillingRoleDefinitionsGetByBillingProfileViaIdentity(InputObject.Id, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.BillingAccountName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingAccountName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.BillingProfileName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingProfileName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.BillingRoleDefinitionName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingRoleDefinitionName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.BillingRoleDefinitionsGetByBillingProfile(InputObject.BillingAccountName ?? null, InputObject.BillingProfileName ?? null, InputObject.BillingRoleDefinitionName ?? null, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingRoleDefinition_List.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingRoleDefinition_List.cs new file mode 100644 index 000000000000..85e2c5f450da --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingRoleDefinition_List.cs @@ -0,0 +1,393 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Lists the role definitions for a billing account. The operation is supported for billing accounts with agreement type + /// Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] ListByBillingAccount=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleDefinitions" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingRoleDefinition_List")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Lists the role definitions for a billing account. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingRoleDefinition_List : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingRoleDefinition_List() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingRoleDefinitionsListByBillingAccount(BillingAccountName, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingRoleDefinitionsListByBillingAccount_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingRoleDefinition_List1.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingRoleDefinition_List1.cs new file mode 100644 index 000000000000..16578de8b58f --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingRoleDefinition_List1.cs @@ -0,0 +1,421 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Lists the role definitions for an invoice section. The operation is supported for billing accounts with agreement type + /// Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] ListByInvoiceSection=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleDefinitions" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingRoleDefinition_List1")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Lists the role definitions for an invoice section. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingRoleDefinition_List1 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Backing field for property. + private string _billingProfileName; + + /// The ID that uniquely identifies a billing profile. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing profile.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing profile.", + SerializedName = @"billingProfileName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingProfileName { get => this._billingProfileName; set => this._billingProfileName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _invoiceSectionName; + + /// The ID that uniquely identifies an invoice section. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies an invoice section.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies an invoice section.", + SerializedName = @"invoiceSectionName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string InvoiceSectionName { get => this._invoiceSectionName; set => this._invoiceSectionName = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingRoleDefinition_List1() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingRoleDefinitionsListByInvoiceSection(BillingAccountName, BillingProfileName, InvoiceSectionName, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,BillingProfileName=BillingProfileName,InvoiceSectionName=InvoiceSectionName}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName, InvoiceSectionName=InvoiceSectionName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName, InvoiceSectionName=InvoiceSectionName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingRoleDefinitionsListByInvoiceSection_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingRoleDefinition_List2.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingRoleDefinition_List2.cs new file mode 100644 index 000000000000..1db12d3563cf --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingRoleDefinition_List2.cs @@ -0,0 +1,407 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Lists the role definitions for a billing profile. The operation is supported for billing accounts with agreement type + /// Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] ListByBillingProfile=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleDefinitions" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingRoleDefinition_List2")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinition))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Lists the role definitions for a billing profile. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingRoleDefinition_List2 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Backing field for property. + private string _billingProfileName; + + /// The ID that uniquely identifies a billing profile. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing profile.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing profile.", + SerializedName = @"billingProfileName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingProfileName { get => this._billingProfileName; set => this._billingProfileName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingRoleDefinition_List2() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingRoleDefinitionsListByBillingProfile(BillingAccountName, BillingProfileName, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,BillingProfileName=BillingProfileName}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleDefinitionListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingRoleDefinitionsListByBillingProfile_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingSubscription_Get.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingSubscription_Get.cs new file mode 100644 index 000000000000..54e0cd3115f4 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingSubscription_Get.cs @@ -0,0 +1,392 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Gets a subscription by its ID. The operation is supported for billing accounts with agreement type Microsoft Customer + /// Agreement and Microsoft Partner Agreement. + /// + /// + /// [OpenAPI] Get=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions/{subscriptionId}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingSubscription_Get")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets a subscription by its ID. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement and Microsoft Partner Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingSubscription_Get : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string[] _subscriptionId; + + /// The ID that uniquely identifies an Azure subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies an Azure subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies an Azure subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string[] SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingSubscription_Get() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + foreach( var SubscriptionId in this.SubscriptionId ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingSubscriptionsGet(BillingAccountName, SubscriptionId, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,SubscriptionId=SubscriptionId}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, SubscriptionId=SubscriptionId }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, SubscriptionId=SubscriptionId }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingSubscription_GetViaIdentity.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingSubscription_GetViaIdentity.cs new file mode 100644 index 000000000000..28673c616edb --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingSubscription_GetViaIdentity.cs @@ -0,0 +1,381 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Gets a subscription by its ID. The operation is supported for billing accounts with agreement type Microsoft Customer + /// Agreement and Microsoft Partner Agreement. + /// + /// + /// [OpenAPI] Get=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions/{subscriptionId}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingSubscription_GetViaIdentity")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets a subscription by its ID. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement and Microsoft Partner Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingSubscription_GetViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingSubscription_GetViaIdentity() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.BillingSubscriptionsGetViaIdentity(InputObject.Id, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.BillingAccountName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingAccountName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.BillingSubscriptionsGet(InputObject.BillingAccountName ?? null, InputObject.SubscriptionId ?? null, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingSubscription_List.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingSubscription_List.cs new file mode 100644 index 000000000000..505d65e1d8f0 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingSubscription_List.cs @@ -0,0 +1,407 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Lists the subscriptions for a customer. The operation is supported only for billing accounts with agreement type Microsoft + /// Partner Agreement. + /// + /// + /// [OpenAPI] ListByCustomer=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}/billingSubscriptions" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingSubscription_List")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Lists the subscriptions for a customer. The operation is supported only for billing accounts with agreement type Microsoft Partner Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingSubscription_List : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// Backing field for property. + private string _customerName; + + /// The ID that uniquely identifies a customer. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a customer.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a customer.", + SerializedName = @"customerName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string CustomerName { get => this._customerName; set => this._customerName = value; } + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionsListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingSubscription_List() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingSubscriptionsListByCustomer(BillingAccountName, CustomerName, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,CustomerName=CustomerName}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, CustomerName=CustomerName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, CustomerName=CustomerName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionsListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingSubscriptionsListByCustomer_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingSubscription_List1.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingSubscription_List1.cs new file mode 100644 index 000000000000..63d7fb87488a --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingSubscription_List1.cs @@ -0,0 +1,393 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Lists the subscriptions for a billing account. The operation is supported for billing accounts with agreement type Microsoft + /// Customer Agreement or Microsoft Partner Agreement. + /// + /// + /// [OpenAPI] ListByBillingAccount=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingSubscription_List1")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Lists the subscriptions for a billing account. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingSubscription_List1 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionsListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingSubscription_List1() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingSubscriptionsListByBillingAccount(BillingAccountName, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionsListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingSubscriptionsListByBillingAccount_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingSubscription_List2.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingSubscription_List2.cs new file mode 100644 index 000000000000..5c7ef65d938e --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingSubscription_List2.cs @@ -0,0 +1,407 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Lists the subscriptions that are billed to a billing profile. The operation is supported for billing accounts with agreement + /// type Microsoft Customer Agreement or Microsoft Partner Agreement. + /// + /// + /// [OpenAPI] ListByBillingProfile=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingSubscriptions" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingSubscription_List2")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Lists the subscriptions that are billed to a billing profile. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingSubscription_List2 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Backing field for property. + private string _billingProfileName; + + /// The ID that uniquely identifies a billing profile. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing profile.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing profile.", + SerializedName = @"billingProfileName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingProfileName { get => this._billingProfileName; set => this._billingProfileName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionsListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingSubscription_List2() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingSubscriptionsListByBillingProfile(BillingAccountName, BillingProfileName, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,BillingProfileName=BillingProfileName}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionsListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingSubscriptionsListByBillingProfile_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingSubscription_List3.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingSubscription_List3.cs new file mode 100644 index 000000000000..0c0332bf1c53 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingSubscription_List3.cs @@ -0,0 +1,421 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Lists the subscriptions that are billed to an invoice section. The operation is supported only for billing accounts with + /// agreement type Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] ListByInvoiceSection=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingSubscriptions" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingSubscription_List3")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Lists the subscriptions that are billed to an invoice section. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingSubscription_List3 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Backing field for property. + private string _billingProfileName; + + /// The ID that uniquely identifies a billing profile. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing profile.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing profile.", + SerializedName = @"billingProfileName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingProfileName { get => this._billingProfileName; set => this._billingProfileName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _invoiceSectionName; + + /// The ID that uniquely identifies an invoice section. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies an invoice section.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies an invoice section.", + SerializedName = @"invoiceSectionName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string InvoiceSectionName { get => this._invoiceSectionName; set => this._invoiceSectionName = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionsListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingSubscription_List3() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingSubscriptionsListByInvoiceSection(BillingAccountName, BillingProfileName, InvoiceSectionName, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,BillingProfileName=BillingProfileName,InvoiceSectionName=InvoiceSectionName}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName, InvoiceSectionName=InvoiceSectionName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName, InvoiceSectionName=InvoiceSectionName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscriptionsListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingSubscriptionsListByInvoiceSection_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/GetAzBillingTransaction_List.cs b/swaggerci/billing/generated/cmdlets/GetAzBillingTransaction_List.cs new file mode 100644 index 000000000000..6c1428cf128f --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/GetAzBillingTransaction_List.cs @@ -0,0 +1,406 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Lists the transactions for an invoice. Transactions include purchases, refunds and Azure usage charges. + /// + /// + /// [OpenAPI] ListByInvoice=>GET:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}/transactions" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Get, @"AzBillingTransaction_List")] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransaction))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Lists the transactions for an invoice. Transactions include purchases, refunds and Azure usage charges.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class GetAzBillingTransaction_List : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A flag to tell whether it is the first onOK call. + private bool _isFirst = true; + + /// Link to retrieve next page. + private string _nextLink; + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _invoiceName; + + /// The ID that uniquely identifies an invoice. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies an invoice.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies an invoice.", + SerializedName = @"invoiceName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string InvoiceName { get => this._invoiceName; set => this._invoiceName = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionListResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public GetAzBillingTransaction_List() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.TransactionsListByInvoice(BillingAccountName, InvoiceName, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,InvoiceName=InvoiceName}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, InvoiceName=InvoiceName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, InvoiceName=InvoiceName }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransactionListResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // response should be returning an array of some kind. +Pageable + // pageable / value / nextLink + var result = await response; + WriteObject(result.Value,true); + _nextLink = result.NextLink; + if (_isFirst) + { + _isFirst = false; + while (_nextLink != null) + { + if (responseMessage.RequestMessage is System.Net.Http.HttpRequestMessage requestMessage ) + { + requestMessage = requestMessage.Clone(new global::System.Uri( _nextLink ),Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Method.Get ); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.FollowingNextLink); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.TransactionsListByInvoice_Call(requestMessage, onOk, onDefault, this, Pipeline); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/InvokeAzBillingDownloadInvoiceBillingSubscriptionInvoice_Download.cs b/swaggerci/billing/generated/cmdlets/InvokeAzBillingDownloadInvoiceBillingSubscriptionInvoice_Download.cs new file mode 100644 index 000000000000..b59f9f990dc1 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/InvokeAzBillingDownloadInvoiceBillingSubscriptionInvoice_Download.cs @@ -0,0 +1,472 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// Gets a URL to download an invoice. + /// + /// [OpenAPI] DownloadBillingSubscriptionInvoice=>POST:"/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/invoices/{invoiceName}/download" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsLifecycle.Invoke, @"AzBillingDownloadInvoiceBillingSubscriptionInvoice_Download", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets a URL to download an invoice.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class InvokeAzBillingDownloadInvoiceBillingSubscriptionInvoice_Download : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Backing field for property. + private string _downloadToken; + + /// Download token with document source and document ID. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Download token with document source and document ID.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Download token with document source and document ID.", + SerializedName = @"downloadToken", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Query)] + public string DownloadToken { get => this._downloadToken; set => this._downloadToken = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _invoiceName; + + /// The ID that uniquely identifies an invoice. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies an invoice.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies an invoice.", + SerializedName = @"invoiceName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string InvoiceName { get => this._invoiceName; set => this._invoiceName = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID that uniquely identifies an Azure subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies an Azure subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies an Azure subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// + /// a duplicate instance of InvokeAzBillingDownloadInvoiceBillingSubscriptionInvoice_Download + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets.InvokeAzBillingDownloadInvoiceBillingSubscriptionInvoice_Download Clone() + { + var clone = new InvokeAzBillingDownloadInvoiceBillingSubscriptionInvoice_Download(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.InvoiceName = this.InvoiceName; + clone.DownloadToken = this.DownloadToken; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet + /// class. + /// + public InvokeAzBillingDownloadInvoiceBillingSubscriptionInvoice_Download() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.DelayBeforePolling: + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + var data = messageData(); + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'InvoicesDownloadBillingSubscriptionInvoice' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.InvoicesDownloadBillingSubscriptionInvoice(SubscriptionId, InvoiceName, DownloadToken, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,InvoiceName=InvoiceName,DownloadToken=DownloadToken}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId, InvoiceName=InvoiceName, DownloadToken=DownloadToken }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId, InvoiceName=InvoiceName, DownloadToken=DownloadToken }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/InvokeAzBillingDownloadInvoiceBillingSubscriptionInvoice_DownloadViaIdentity.cs b/swaggerci/billing/generated/cmdlets/InvokeAzBillingDownloadInvoiceBillingSubscriptionInvoice_DownloadViaIdentity.cs new file mode 100644 index 000000000000..5060fc9e5457 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/InvokeAzBillingDownloadInvoiceBillingSubscriptionInvoice_DownloadViaIdentity.cs @@ -0,0 +1,462 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// Gets a URL to download an invoice. + /// + /// [OpenAPI] DownloadBillingSubscriptionInvoice=>POST:"/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/invoices/{invoiceName}/download" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsLifecycle.Invoke, @"AzBillingDownloadInvoiceBillingSubscriptionInvoice_DownloadViaIdentity", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets a URL to download an invoice.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class InvokeAzBillingDownloadInvoiceBillingSubscriptionInvoice_DownloadViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Backing field for property. + private string _downloadToken; + + /// Download token with document source and document ID. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Download token with document source and document ID.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Download token with document source and document ID.", + SerializedName = @"downloadToken", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Query)] + public string DownloadToken { get => this._downloadToken; set => this._downloadToken = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// + /// a duplicate instance of InvokeAzBillingDownloadInvoiceBillingSubscriptionInvoice_DownloadViaIdentity + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets.InvokeAzBillingDownloadInvoiceBillingSubscriptionInvoice_DownloadViaIdentity Clone() + { + var clone = new InvokeAzBillingDownloadInvoiceBillingSubscriptionInvoice_DownloadViaIdentity(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.DownloadToken = this.DownloadToken; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public InvokeAzBillingDownloadInvoiceBillingSubscriptionInvoice_DownloadViaIdentity() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.DelayBeforePolling: + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + var data = messageData(); + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'InvoicesDownloadBillingSubscriptionInvoice' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.InvoicesDownloadBillingSubscriptionInvoiceViaIdentity(InputObject.Id, DownloadToken, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.InvoiceName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.InvoiceName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.InvoicesDownloadBillingSubscriptionInvoice(InputObject.SubscriptionId ?? null, InputObject.InvoiceName ?? null, DownloadToken, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { DownloadToken=DownloadToken}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { DownloadToken=DownloadToken }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { DownloadToken=DownloadToken }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/InvokeAzBillingDownloadInvoiceMultipleBillingProfileInvoice_Download.cs b/swaggerci/billing/generated/cmdlets/InvokeAzBillingDownloadInvoiceMultipleBillingProfileInvoice_Download.cs new file mode 100644 index 000000000000..9197fa97785a --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/InvokeAzBillingDownloadInvoiceMultipleBillingProfileInvoice_Download.cs @@ -0,0 +1,456 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip file. The operation + /// is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] DownloadMultipleBillingProfileInvoices=>POST:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/downloadDocuments" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsLifecycle.Invoke, @"AzBillingDownloadInvoiceMultipleBillingProfileInvoice_Download", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip file. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class InvokeAzBillingDownloadInvoiceMultipleBillingProfileInvoice_Download : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Backing field for property. + private string[] _downloadUrl; + + /// Array of PostContentSchemaItem + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Array of PostContentSchemaItem", ValueFromPipeline = true)] + [global::System.Management.Automation.AllowEmptyCollection] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Array of PostContentSchemaItem", + SerializedName = @"downloadUrls", + PossibleTypes = new [] { typeof(string) })] + public string[] DownloadUrl { get => this._downloadUrl; set => this._downloadUrl = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// + /// a duplicate instance of InvokeAzBillingDownloadInvoiceMultipleBillingProfileInvoice_Download + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets.InvokeAzBillingDownloadInvoiceMultipleBillingProfileInvoice_Download Clone() + { + var clone = new InvokeAzBillingDownloadInvoiceMultipleBillingProfileInvoice_Download(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.BillingAccountName = this.BillingAccountName; + clone.DownloadUrl = this.DownloadUrl; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet + /// class. + /// + public InvokeAzBillingDownloadInvoiceMultipleBillingProfileInvoice_Download() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.DelayBeforePolling: + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + var data = messageData(); + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'InvoicesDownloadMultipleBillingProfileInvoices' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.InvoicesDownloadMultipleBillingProfileInvoices(BillingAccountName, DownloadUrl, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,body=DownloadUrl}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, body=DownloadUrl }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, body=DownloadUrl }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/InvokeAzBillingDownloadInvoiceMultipleBillingProfileInvoice_DownloadViaIdentity.cs b/swaggerci/billing/generated/cmdlets/InvokeAzBillingDownloadInvoiceMultipleBillingProfileInvoice_DownloadViaIdentity.cs new file mode 100644 index 000000000000..9dcb61af1a05 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/InvokeAzBillingDownloadInvoiceMultipleBillingProfileInvoice_DownloadViaIdentity.cs @@ -0,0 +1,461 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip file. The operation + /// is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] DownloadMultipleBillingProfileInvoices=>POST:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/downloadDocuments" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsLifecycle.Invoke, @"AzBillingDownloadInvoiceMultipleBillingProfileInvoice_DownloadViaIdentity", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip file. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class InvokeAzBillingDownloadInvoiceMultipleBillingProfileInvoice_DownloadViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Backing field for property. + private string[] _downloadUrl; + + /// Array of PostContentSchemaItem + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Array of PostContentSchemaItem", ValueFromPipeline = true)] + [global::System.Management.Automation.AllowEmptyCollection] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Array of PostContentSchemaItem", + SerializedName = @"downloadUrls", + PossibleTypes = new [] { typeof(string) })] + public string[] DownloadUrl { get => this._downloadUrl; set => this._downloadUrl = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// + /// a duplicate instance of InvokeAzBillingDownloadInvoiceMultipleBillingProfileInvoice_DownloadViaIdentity + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets.InvokeAzBillingDownloadInvoiceMultipleBillingProfileInvoice_DownloadViaIdentity Clone() + { + var clone = new InvokeAzBillingDownloadInvoiceMultipleBillingProfileInvoice_DownloadViaIdentity(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.DownloadUrl = this.DownloadUrl; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public InvokeAzBillingDownloadInvoiceMultipleBillingProfileInvoice_DownloadViaIdentity() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.DelayBeforePolling: + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + var data = messageData(); + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'InvoicesDownloadMultipleBillingProfileInvoices' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.InvoicesDownloadMultipleBillingProfileInvoicesViaIdentity(InputObject.Id, DownloadUrl, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.BillingAccountName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingAccountName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.InvoicesDownloadMultipleBillingProfileInvoices(InputObject.BillingAccountName ?? null, DownloadUrl, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=DownloadUrl}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=DownloadUrl }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=DownloadUrl }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/InvokeAzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice_Download.cs b/swaggerci/billing/generated/cmdlets/InvokeAzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice_Download.cs new file mode 100644 index 000000000000..0ee87822ee34 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/InvokeAzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice_Download.cs @@ -0,0 +1,459 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip file. + /// + /// + /// [OpenAPI] DownloadMultipleBillingSubscriptionInvoices=>POST:"/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/downloadDocuments" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsLifecycle.Invoke, @"AzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice_Download", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip file.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class InvokeAzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice_Download : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Backing field for property. + private string[] _downloadUrl; + + /// Array of String + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Array of String", ValueFromPipeline = true)] + [global::System.Management.Automation.AllowEmptyCollection] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Array of String", + SerializedName = @"downloadUrls", + PossibleTypes = new [] { typeof(string) })] + public string[] DownloadUrl { get => this._downloadUrl; set => this._downloadUrl = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID that uniquely identifies an Azure subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies an Azure subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies an Azure subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// + /// a duplicate instance of InvokeAzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice_Download + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets.InvokeAzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice_Download Clone() + { + var clone = new InvokeAzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice_Download(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.SubscriptionId = this.SubscriptionId; + clone.DownloadUrl = this.DownloadUrl; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public InvokeAzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice_Download() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.DelayBeforePolling: + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + var data = messageData(); + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'InvoicesDownloadMultipleBillingSubscriptionInvoices' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.InvoicesDownloadMultipleBillingSubscriptionInvoices(SubscriptionId, DownloadUrl, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,body=DownloadUrl}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId, body=DownloadUrl }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId, body=DownloadUrl }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/InvokeAzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice_DownloadViaIdentity.cs b/swaggerci/billing/generated/cmdlets/InvokeAzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice_DownloadViaIdentity.cs new file mode 100644 index 000000000000..0a611663009c --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/InvokeAzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice_DownloadViaIdentity.cs @@ -0,0 +1,460 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip file. + /// + /// + /// [OpenAPI] DownloadMultipleBillingSubscriptionInvoices=>POST:"/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/downloadDocuments" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsLifecycle.Invoke, @"AzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice_DownloadViaIdentity", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip file.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class InvokeAzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice_DownloadViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Backing field for property. + private string[] _downloadUrl; + + /// Array of String + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Array of String", ValueFromPipeline = true)] + [global::System.Management.Automation.AllowEmptyCollection] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Array of String", + SerializedName = @"downloadUrls", + PossibleTypes = new [] { typeof(string) })] + public string[] DownloadUrl { get => this._downloadUrl; set => this._downloadUrl = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// + /// a duplicate instance of InvokeAzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice_DownloadViaIdentity + /// + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets.InvokeAzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice_DownloadViaIdentity Clone() + { + var clone = new InvokeAzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice_DownloadViaIdentity(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.DownloadUrl = this.DownloadUrl; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public InvokeAzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice_DownloadViaIdentity() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.DelayBeforePolling: + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + var data = messageData(); + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'InvoicesDownloadMultipleBillingSubscriptionInvoices' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.InvoicesDownloadMultipleBillingSubscriptionInvoicesViaIdentity(InputObject.Id, DownloadUrl, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.InvoicesDownloadMultipleBillingSubscriptionInvoices(InputObject.SubscriptionId ?? null, DownloadUrl, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=DownloadUrl}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=DownloadUrl }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=DownloadUrl }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/InvokeAzBillingDownloadInvoice_Download.cs b/swaggerci/billing/generated/cmdlets/InvokeAzBillingDownloadInvoice_Download.cs new file mode 100644 index 000000000000..62f1b753f876 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/InvokeAzBillingDownloadInvoice_Download.cs @@ -0,0 +1,468 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Gets a URL to download an invoice. The operation is supported for billing accounts with agreement type Microsoft Partner + /// Agreement or Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] DownloadInvoice=>POST:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}/download" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsLifecycle.Invoke, @"AzBillingDownloadInvoice_Download", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets a URL to download an invoice. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class InvokeAzBillingDownloadInvoice_Download : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Backing field for property. + private string _downloadToken; + + /// Download token with document source and document ID. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Download token with document source and document ID.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Download token with document source and document ID.", + SerializedName = @"downloadToken", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Query)] + public string DownloadToken { get => this._downloadToken; set => this._downloadToken = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _invoiceName; + + /// The ID that uniquely identifies an invoice. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies an invoice.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies an invoice.", + SerializedName = @"invoiceName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string InvoiceName { get => this._invoiceName; set => this._invoiceName = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of InvokeAzBillingDownloadInvoice_Download + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets.InvokeAzBillingDownloadInvoice_Download Clone() + { + var clone = new InvokeAzBillingDownloadInvoice_Download(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.BillingAccountName = this.BillingAccountName; + clone.InvoiceName = this.InvoiceName; + clone.DownloadToken = this.DownloadToken; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public InvokeAzBillingDownloadInvoice_Download() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.DelayBeforePolling: + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + var data = messageData(); + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'InvoicesDownloadInvoice' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.InvoicesDownloadInvoice(BillingAccountName, InvoiceName, DownloadToken, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,InvoiceName=InvoiceName,DownloadToken=DownloadToken}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, InvoiceName=InvoiceName, DownloadToken=DownloadToken }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, InvoiceName=InvoiceName, DownloadToken=DownloadToken }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/InvokeAzBillingDownloadInvoice_DownloadViaIdentity.cs b/swaggerci/billing/generated/cmdlets/InvokeAzBillingDownloadInvoice_DownloadViaIdentity.cs new file mode 100644 index 000000000000..a674b4c7e20a --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/InvokeAzBillingDownloadInvoice_DownloadViaIdentity.cs @@ -0,0 +1,462 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Gets a URL to download an invoice. The operation is supported for billing accounts with agreement type Microsoft Partner + /// Agreement or Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] DownloadInvoice=>POST:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}/download" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsLifecycle.Invoke, @"AzBillingDownloadInvoice_DownloadViaIdentity", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Gets a URL to download an invoice. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class InvokeAzBillingDownloadInvoice_DownloadViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Backing field for property. + private string _downloadToken; + + /// Download token with document source and document ID. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Download token with document source and document ID.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Download token with document source and document ID.", + SerializedName = @"downloadToken", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Query)] + public string DownloadToken { get => this._downloadToken; set => this._downloadToken = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of InvokeAzBillingDownloadInvoice_DownloadViaIdentity + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets.InvokeAzBillingDownloadInvoice_DownloadViaIdentity Clone() + { + var clone = new InvokeAzBillingDownloadInvoice_DownloadViaIdentity(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.DownloadToken = this.DownloadToken; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public InvokeAzBillingDownloadInvoice_DownloadViaIdentity() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.DelayBeforePolling: + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + var data = messageData(); + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'InvoicesDownloadInvoice' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.InvoicesDownloadInvoiceViaIdentity(InputObject.Id, DownloadToken, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.BillingAccountName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingAccountName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.InvoiceName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.InvoiceName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.InvoicesDownloadInvoice(InputObject.BillingAccountName ?? null, InputObject.InvoiceName ?? null, DownloadToken, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { DownloadToken=DownloadToken}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { DownloadToken=DownloadToken }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { DownloadToken=DownloadToken }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDownloadUrl + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/MoveAzBillingProduct_Move.cs b/swaggerci/billing/generated/cmdlets/MoveAzBillingProduct_Move.cs new file mode 100644 index 000000000000..f4d8e123daf6 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/MoveAzBillingProduct_Move.cs @@ -0,0 +1,448 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Moves a product's charges to a new invoice section. The new invoice section must belong to the same billing profile as + /// the existing invoice section. This operation is supported only for products that are purchased with a recurring charge + /// and for billing accounts with agreement type Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] Move=>POST:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/products/{productName}/move" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Move, @"AzBillingProduct_Move", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Moves a product's charges to a new invoice section. The new invoice section must belong to the same billing profile as the existing invoice section. This operation is supported only for products that are purchased with a recurring charge and for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class MoveAzBillingProduct_Move : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The ID that uniquely identifies a product. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a product.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a product.", + SerializedName = @"productName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("ProductName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties _parameter; + + /// The properties of the product to initiate a transfer. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The properties of the product to initiate a transfer.", ValueFromPipeline = true)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The properties of the product to initiate a transfer.", + SerializedName = @"parameters", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties) })] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties Parameter { get => this._parameter; set => this._parameter = value; } + + /// + /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter PassThru { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnAccepted will be called before the regular onAccepted has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the header result as a from the remote call + /// /// Determines if the rest of the onAccepted method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnAccepted(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task headers, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public MoveAzBillingProduct_Move() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'ProductsMove' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.ProductsMove(BillingAccountName, Name, Parameter, onOk, onAccepted, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,Name=Name,body=Parameter}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// a delegate that is called when the remote service returns 202 (Accepted). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the header result as a from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onAccepted(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task headers) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnAccepted(responseMessage, headers, ref _returnNow); + // if overrideOnAccepted has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onAccepted - response for 202 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, Name=Name, body=Parameter }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, Name=Name, body=Parameter }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/MoveAzBillingProduct_MoveExpanded.cs b/swaggerci/billing/generated/cmdlets/MoveAzBillingProduct_MoveExpanded.cs new file mode 100644 index 000000000000..c79a3e0eabbb --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/MoveAzBillingProduct_MoveExpanded.cs @@ -0,0 +1,449 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Moves a product's charges to a new invoice section. The new invoice section must belong to the same billing profile as + /// the existing invoice section. This operation is supported only for products that are purchased with a recurring charge + /// and for billing accounts with agreement type Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] Move=>POST:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/products/{productName}/move" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Move, @"AzBillingProduct_MoveExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Moves a product's charges to a new invoice section. The new invoice section must belong to the same billing profile as the existing invoice section. This operation is supported only for products that are purchased with a recurring charge and for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class MoveAzBillingProduct_MoveExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// The properties of the product to initiate a transfer. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties _parametersBody = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.TransferProductRequestProperties(); + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// The destination invoice section id. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The destination invoice section id.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The destination invoice section id.", + SerializedName = @"destinationInvoiceSectionId", + PossibleTypes = new [] { typeof(string) })] + public string DestinationInvoiceSectionId { get => _parametersBody.DestinationInvoiceSectionId ?? null; set => _parametersBody.DestinationInvoiceSectionId = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The ID that uniquely identifies a product. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a product.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a product.", + SerializedName = @"productName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("ProductName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter PassThru { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnAccepted will be called before the regular onAccepted has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the header result as a from the remote call + /// /// Determines if the rest of the onAccepted method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnAccepted(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task headers, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public MoveAzBillingProduct_MoveExpanded() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'ProductsMove' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.ProductsMove(BillingAccountName, Name, _parametersBody, onOk, onAccepted, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,Name=Name,body=_parametersBody}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// a delegate that is called when the remote service returns 202 (Accepted). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the header result as a from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onAccepted(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task headers) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnAccepted(responseMessage, headers, ref _returnNow); + // if overrideOnAccepted has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onAccepted - response for 202 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, Name=Name, body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, Name=Name, body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/MoveAzBillingProduct_MoveViaIdentity.cs b/swaggerci/billing/generated/cmdlets/MoveAzBillingProduct_MoveViaIdentity.cs new file mode 100644 index 000000000000..4686452967cf --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/MoveAzBillingProduct_MoveViaIdentity.cs @@ -0,0 +1,443 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Moves a product's charges to a new invoice section. The new invoice section must belong to the same billing profile as + /// the existing invoice section. This operation is supported only for products that are purchased with a recurring charge + /// and for billing accounts with agreement type Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] Move=>POST:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/products/{productName}/move" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Move, @"AzBillingProduct_MoveViaIdentity", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Moves a product's charges to a new invoice section. The new invoice section must belong to the same billing profile as the existing invoice section. This operation is supported only for products that are purchased with a recurring charge and for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class MoveAzBillingProduct_MoveViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties _parameter; + + /// The properties of the product to initiate a transfer. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The properties of the product to initiate a transfer.", ValueFromPipeline = true)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The properties of the product to initiate a transfer.", + SerializedName = @"parameters", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties) })] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties Parameter { get => this._parameter; set => this._parameter = value; } + + /// + /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter PassThru { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnAccepted will be called before the regular onAccepted has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the header result as a from the remote call + /// /// Determines if the rest of the onAccepted method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnAccepted(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task headers, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public MoveAzBillingProduct_MoveViaIdentity() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'ProductsMove' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.ProductsMoveViaIdentity(InputObject.Id, Parameter, onOk, onAccepted, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.BillingAccountName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingAccountName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.ProductName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ProductName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.ProductsMove(InputObject.BillingAccountName ?? null, InputObject.ProductName ?? null, Parameter, onOk, onAccepted, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=Parameter}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// a delegate that is called when the remote service returns 202 (Accepted). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the header result as a from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onAccepted(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task headers) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnAccepted(responseMessage, headers, ref _returnNow); + // if overrideOnAccepted has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onAccepted - response for 202 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=Parameter }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=Parameter }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/MoveAzBillingProduct_MoveViaIdentityExpanded.cs b/swaggerci/billing/generated/cmdlets/MoveAzBillingProduct_MoveViaIdentityExpanded.cs new file mode 100644 index 000000000000..43cadac760d2 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/MoveAzBillingProduct_MoveViaIdentityExpanded.cs @@ -0,0 +1,444 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Moves a product's charges to a new invoice section. The new invoice section must belong to the same billing profile as + /// the existing invoice section. This operation is supported only for products that are purchased with a recurring charge + /// and for billing accounts with agreement type Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] Move=>POST:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/products/{productName}/move" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Move, @"AzBillingProduct_MoveViaIdentityExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Moves a product's charges to a new invoice section. The new invoice section must belong to the same billing profile as the existing invoice section. This operation is supported only for products that are purchased with a recurring charge and for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class MoveAzBillingProduct_MoveViaIdentityExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// The properties of the product to initiate a transfer. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties _parametersBody = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.TransferProductRequestProperties(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// The destination invoice section id. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The destination invoice section id.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The destination invoice section id.", + SerializedName = @"destinationInvoiceSectionId", + PossibleTypes = new [] { typeof(string) })] + public string DestinationInvoiceSectionId { get => _parametersBody.DestinationInvoiceSectionId ?? null; set => _parametersBody.DestinationInvoiceSectionId = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// When specified, forces the cmdlet return a 'bool' given that there isn't a return type by default. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Returns true when the command succeeds")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter PassThru { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnAccepted will be called before the regular onAccepted has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the header result as a from the remote call + /// /// Determines if the rest of the onAccepted method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnAccepted(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task headers, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public MoveAzBillingProduct_MoveViaIdentityExpanded() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'ProductsMove' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.ProductsMoveViaIdentity(InputObject.Id, _parametersBody, onOk, onAccepted, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.BillingAccountName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingAccountName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.ProductName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ProductName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.ProductsMove(InputObject.BillingAccountName ?? null, InputObject.ProductName ?? null, _parametersBody, onOk, onAccepted, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// a delegate that is called when the remote service returns 202 (Accepted). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the header result as a from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onAccepted(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task headers) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnAccepted(responseMessage, headers, ref _returnNow); + // if overrideOnAccepted has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onAccepted - response for 202 / + if (true == MyInvocation?.BoundParameters?.ContainsKey("PassThru")) + { + WriteObject(true); + } + } + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/MoveAzBillingSubscription_Move.cs b/swaggerci/billing/generated/cmdlets/MoveAzBillingSubscription_Move.cs new file mode 100644 index 000000000000..390378b60568 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/MoveAzBillingSubscription_Move.cs @@ -0,0 +1,472 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Moves a subscription's charges to a new invoice section. The new invoice section must belong to the same billing profile + /// as the existing invoice section. This operation is supported for billing accounts with agreement type Microsoft Customer + /// Agreement. + /// + /// + /// [OpenAPI] Move=>POST:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions/{subscriptionId}/move" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Move, @"AzBillingSubscription_Move", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Moves a subscription's charges to a new invoice section. The new invoice section must belong to the same billing profile as the existing invoice section. This operation is supported for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class MoveAzBillingSubscription_Move : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties _parameter; + + /// Request parameters to transfer billing subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Request parameters to transfer billing subscription.", ValueFromPipeline = true)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Request parameters to transfer billing subscription.", + SerializedName = @"parameters", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties) })] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties Parameter { get => this._parameter; set => this._parameter = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID that uniquely identifies an Azure subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies an Azure subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies an Azure subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of MoveAzBillingSubscription_Move + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets.MoveAzBillingSubscription_Move Clone() + { + var clone = new MoveAzBillingSubscription_Move(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.BillingAccountName = this.BillingAccountName; + clone.SubscriptionId = this.SubscriptionId; + clone.Parameter = this.Parameter; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.DelayBeforePolling: + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + var data = messageData(); + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public MoveAzBillingSubscription_Move() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'BillingSubscriptionsMove' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingSubscriptionsMove(BillingAccountName, SubscriptionId, Parameter, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,SubscriptionId=SubscriptionId,body=Parameter}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, SubscriptionId=SubscriptionId, body=Parameter }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, SubscriptionId=SubscriptionId, body=Parameter }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/MoveAzBillingSubscription_MoveExpanded.cs b/swaggerci/billing/generated/cmdlets/MoveAzBillingSubscription_MoveExpanded.cs new file mode 100644 index 000000000000..92fe701e1476 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/MoveAzBillingSubscription_MoveExpanded.cs @@ -0,0 +1,473 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Moves a subscription's charges to a new invoice section. The new invoice section must belong to the same billing profile + /// as the existing invoice section. This operation is supported for billing accounts with agreement type Microsoft Customer + /// Agreement. + /// + /// + /// [OpenAPI] Move=>POST:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions/{subscriptionId}/move" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Move, @"AzBillingSubscription_MoveExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Moves a subscription's charges to a new invoice section. The new invoice section must belong to the same billing profile as the existing invoice section. This operation is supported for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class MoveAzBillingSubscription_MoveExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Request parameters to transfer billing subscription. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties _parametersBody = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.TransferBillingSubscriptionRequestProperties(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// The destination invoice section id. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The destination invoice section id.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The destination invoice section id.", + SerializedName = @"destinationInvoiceSectionId", + PossibleTypes = new [] { typeof(string) })] + public string DestinationInvoiceSectionId { get => _parametersBody.DestinationInvoiceSectionId ?? null; set => _parametersBody.DestinationInvoiceSectionId = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID that uniquely identifies an Azure subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies an Azure subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies an Azure subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of MoveAzBillingSubscription_MoveExpanded + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets.MoveAzBillingSubscription_MoveExpanded Clone() + { + var clone = new MoveAzBillingSubscription_MoveExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._parametersBody = this._parametersBody; + clone.BillingAccountName = this.BillingAccountName; + clone.SubscriptionId = this.SubscriptionId; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.DelayBeforePolling: + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + var data = messageData(); + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public MoveAzBillingSubscription_MoveExpanded() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'BillingSubscriptionsMove' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingSubscriptionsMove(BillingAccountName, SubscriptionId, _parametersBody, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,SubscriptionId=SubscriptionId,body=_parametersBody}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, SubscriptionId=SubscriptionId, body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, SubscriptionId=SubscriptionId, body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/MoveAzBillingSubscription_MoveViaIdentity.cs b/swaggerci/billing/generated/cmdlets/MoveAzBillingSubscription_MoveViaIdentity.cs new file mode 100644 index 000000000000..ea3177393a60 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/MoveAzBillingSubscription_MoveViaIdentity.cs @@ -0,0 +1,462 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Moves a subscription's charges to a new invoice section. The new invoice section must belong to the same billing profile + /// as the existing invoice section. This operation is supported for billing accounts with agreement type Microsoft Customer + /// Agreement. + /// + /// + /// [OpenAPI] Move=>POST:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions/{subscriptionId}/move" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Move, @"AzBillingSubscription_MoveViaIdentity", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Moves a subscription's charges to a new invoice section. The new invoice section must belong to the same billing profile as the existing invoice section. This operation is supported for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class MoveAzBillingSubscription_MoveViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties _parameter; + + /// Request parameters to transfer billing subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Request parameters to transfer billing subscription.", ValueFromPipeline = true)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Request parameters to transfer billing subscription.", + SerializedName = @"parameters", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties) })] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties Parameter { get => this._parameter; set => this._parameter = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of MoveAzBillingSubscription_MoveViaIdentity + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets.MoveAzBillingSubscription_MoveViaIdentity Clone() + { + var clone = new MoveAzBillingSubscription_MoveViaIdentity(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone.Parameter = this.Parameter; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.DelayBeforePolling: + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + var data = messageData(); + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public MoveAzBillingSubscription_MoveViaIdentity() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'BillingSubscriptionsMove' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.BillingSubscriptionsMoveViaIdentity(InputObject.Id, Parameter, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.BillingAccountName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingAccountName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.BillingSubscriptionsMove(InputObject.BillingAccountName ?? null, InputObject.SubscriptionId ?? null, Parameter, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=Parameter}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=Parameter }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=Parameter }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/MoveAzBillingSubscription_MoveViaIdentityExpanded.cs b/swaggerci/billing/generated/cmdlets/MoveAzBillingSubscription_MoveViaIdentityExpanded.cs new file mode 100644 index 000000000000..f2a089219f7a --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/MoveAzBillingSubscription_MoveViaIdentityExpanded.cs @@ -0,0 +1,463 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Moves a subscription's charges to a new invoice section. The new invoice section must belong to the same billing profile + /// as the existing invoice section. This operation is supported for billing accounts with agreement type Microsoft Customer + /// Agreement. + /// + /// + /// [OpenAPI] Move=>POST:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions/{subscriptionId}/move" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Move, @"AzBillingSubscription_MoveViaIdentityExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Moves a subscription's charges to a new invoice section. The new invoice section must belong to the same billing profile as the existing invoice section. This operation is supported for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class MoveAzBillingSubscription_MoveViaIdentityExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Request parameters to transfer billing subscription. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties _parametersBody = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.TransferBillingSubscriptionRequestProperties(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// The destination invoice section id. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The destination invoice section id.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The destination invoice section id.", + SerializedName = @"destinationInvoiceSectionId", + PossibleTypes = new [] { typeof(string) })] + public string DestinationInvoiceSectionId { get => _parametersBody.DestinationInvoiceSectionId ?? null; set => _parametersBody.DestinationInvoiceSectionId = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of MoveAzBillingSubscription_MoveViaIdentityExpanded + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets.MoveAzBillingSubscription_MoveViaIdentityExpanded Clone() + { + var clone = new MoveAzBillingSubscription_MoveViaIdentityExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._parametersBody = this._parametersBody; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.DelayBeforePolling: + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + var data = messageData(); + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public MoveAzBillingSubscription_MoveViaIdentityExpanded() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'BillingSubscriptionsMove' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.BillingSubscriptionsMoveViaIdentity(InputObject.Id, _parametersBody, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.BillingAccountName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingAccountName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.BillingSubscriptionsMove(InputObject.BillingAccountName ?? null, InputObject.SubscriptionId ?? null, _parametersBody, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/NewAzBillingInvoiceSection_CreateExpanded.cs b/swaggerci/billing/generated/cmdlets/NewAzBillingInvoiceSection_CreateExpanded.cs new file mode 100644 index 000000000000..d5ed24efec5b --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/NewAzBillingInvoiceSection_CreateExpanded.cs @@ -0,0 +1,511 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Creates or updates an invoice section. The operation is supported only for billing accounts with agreement type Microsoft + /// Customer Agreement. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzBillingInvoiceSection_CreateExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Creates or updates an invoice section. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class NewAzBillingInvoiceSection_CreateExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// An invoice section. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection _parametersBody = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.InvoiceSection(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Backing field for property. + private string _billingProfileName; + + /// The ID that uniquely identifies a billing profile. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing profile.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing profile.", + SerializedName = @"billingProfileName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingProfileName { get => this._billingProfileName; set => this._billingProfileName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// The name of the invoice section. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the invoice section.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the invoice section.", + SerializedName = @"displayName", + PossibleTypes = new [] { typeof(string) })] + public string DisplayName { get => _parametersBody.DisplayName ?? null; set => _parametersBody.DisplayName = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Dictionary of metadata associated with the invoice section. + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ExportAs(typeof(global::System.Collections.Hashtable))] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Dictionary of metadata associated with the invoice section.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Dictionary of metadata associated with the invoice section.", + SerializedName = @"labels", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesLabels) })] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesLabels Label { get => _parametersBody.Label ?? null /* object */; set => _parametersBody.Label = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The ID that uniquely identifies an invoice section. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies an invoice section.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies an invoice section.", + SerializedName = @"invoiceSectionName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("InvoiceSectionName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// Dictionary of metadata associated with the invoice section. Maximum key/value length supported of 256 characters. Keys/value + /// should not empty value nor null. Keys can not contain < > % & \ / + /// + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ExportAs(typeof(global::System.Collections.Hashtable))] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Dictionary of metadata associated with the invoice section. Maximum key/value length supported of 256 characters. Keys/value should not empty value nor null. Keys can not contain < > % & \\ /")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Dictionary of metadata associated with the invoice section. Maximum key/value length supported of 256 characters. Keys/value should not empty value nor null. Keys can not contain < > % & \ /", + SerializedName = @"tags", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesTags) })] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSectionPropertiesTags Tag { get => _parametersBody.Tag ?? null /* object */; set => _parametersBody.Tag = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of NewAzBillingInvoiceSection_CreateExpanded + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets.NewAzBillingInvoiceSection_CreateExpanded Clone() + { + var clone = new NewAzBillingInvoiceSection_CreateExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._parametersBody = this._parametersBody; + clone.BillingAccountName = this.BillingAccountName; + clone.BillingProfileName = this.BillingProfileName; + clone.Name = this.Name; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.DelayBeforePolling: + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + var data = messageData(); + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public NewAzBillingInvoiceSection_CreateExpanded() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'InvoiceSectionsCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.InvoiceSectionsCreateOrUpdate(BillingAccountName, BillingProfileName, Name, _parametersBody, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,BillingProfileName=BillingProfileName,Name=Name,body=_parametersBody}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName, Name=Name, body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName, Name=Name, body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/NewAzBillingProfile_CreateExpanded.cs b/swaggerci/billing/generated/cmdlets/NewAzBillingProfile_CreateExpanded.cs new file mode 100644 index 000000000000..5d88bec11629 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/NewAzBillingProfile_CreateExpanded.cs @@ -0,0 +1,685 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Creates or updates a billing profile. The operation is supported for billing accounts with agreement type Microsoft Customer + /// Agreement or Microsoft Partner Agreement. + /// + /// + /// [OpenAPI] CreateOrUpdate=>PUT:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzBillingProfile_CreateExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Creates or updates a billing profile. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class NewAzBillingProfile_CreateExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A billing profile. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile _parametersBody = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProfile(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// Address line 1. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Address line 1.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address line 1.", + SerializedName = @"addressLine1", + PossibleTypes = new [] { typeof(string) })] + public string BillToAddressLine1 { get => _parametersBody.BillToAddressLine1 ?? null; set => _parametersBody.BillToAddressLine1 = value; } + + /// Address line 2. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Address line 2.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address line 2.", + SerializedName = @"addressLine2", + PossibleTypes = new [] { typeof(string) })] + public string BillToAddressLine2 { get => _parametersBody.BillToAddressLine2 ?? null; set => _parametersBody.BillToAddressLine2 = value; } + + /// Address line 3. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Address line 3.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address line 3.", + SerializedName = @"addressLine3", + PossibleTypes = new [] { typeof(string) })] + public string BillToAddressLine3 { get => _parametersBody.BillToAddressLine3 ?? null; set => _parametersBody.BillToAddressLine3 = value; } + + /// Address city. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Address city.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address city.", + SerializedName = @"city", + PossibleTypes = new [] { typeof(string) })] + public string BillToCity { get => _parametersBody.BillToCity ?? null; set => _parametersBody.BillToCity = value; } + + /// Company name. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Company name.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Company name.", + SerializedName = @"companyName", + PossibleTypes = new [] { typeof(string) })] + public string BillToCompanyName { get => _parametersBody.BillToCompanyName ?? null; set => _parametersBody.BillToCompanyName = value; } + + /// Country code uses ISO2, 2-digit format. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Country code uses ISO2, 2-digit format.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Country code uses ISO2, 2-digit format.", + SerializedName = @"country", + PossibleTypes = new [] { typeof(string) })] + public string BillToCountry { get => _parametersBody.BillToCountry ?? null; set => _parametersBody.BillToCountry = value; } + + /// Address district. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Address district.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address district.", + SerializedName = @"district", + PossibleTypes = new [] { typeof(string) })] + public string BillToDistrict { get => _parametersBody.BillToDistrict ?? null; set => _parametersBody.BillToDistrict = value; } + + /// Email address. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Email address.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Email address.", + SerializedName = @"email", + PossibleTypes = new [] { typeof(string) })] + public string BillToEmail { get => _parametersBody.BillToEmail ?? null; set => _parametersBody.BillToEmail = value; } + + /// First name. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "First name.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"First name.", + SerializedName = @"firstName", + PossibleTypes = new [] { typeof(string) })] + public string BillToFirstName { get => _parametersBody.BillToFirstName ?? null; set => _parametersBody.BillToFirstName = value; } + + /// Last name. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Last name.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Last name.", + SerializedName = @"lastName", + PossibleTypes = new [] { typeof(string) })] + public string BillToLastName { get => _parametersBody.BillToLastName ?? null; set => _parametersBody.BillToLastName = value; } + + /// Middle name. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Middle name.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Middle name.", + SerializedName = @"middleName", + PossibleTypes = new [] { typeof(string) })] + public string BillToMiddleName { get => _parametersBody.BillToMiddleName ?? null; set => _parametersBody.BillToMiddleName = value; } + + /// Phone number. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Phone number.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Phone number.", + SerializedName = @"phoneNumber", + PossibleTypes = new [] { typeof(string) })] + public string BillToPhoneNumber { get => _parametersBody.BillToPhoneNumber ?? null; set => _parametersBody.BillToPhoneNumber = value; } + + /// Postal code. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Postal code.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Postal code.", + SerializedName = @"postalCode", + PossibleTypes = new [] { typeof(string) })] + public string BillToPostalCode { get => _parametersBody.BillToPostalCode ?? null; set => _parametersBody.BillToPostalCode = value; } + + /// Address region. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Address region.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address region.", + SerializedName = @"region", + PossibleTypes = new [] { typeof(string) })] + public string BillToRegion { get => _parametersBody.BillToRegion ?? null; set => _parametersBody.BillToRegion = value; } + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// The name of the billing profile. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The name of the billing profile.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The name of the billing profile.", + SerializedName = @"displayName", + PossibleTypes = new [] { typeof(string) })] + public string DisplayName { get => _parametersBody.DisplayName ?? null; set => _parametersBody.DisplayName = value; } + + /// Information about the enabled azure plans. + [global::System.Management.Automation.AllowEmptyCollection] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Information about the enabled azure plans.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Information about the enabled azure plans.", + SerializedName = @"enabledAzurePlans", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan) })] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAzurePlan[] EnabledAzurePlan { get => _parametersBody.EnabledAzurePlan ?? null /* arrayOf */; set => _parametersBody.EnabledAzurePlan = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// Flag controlling whether the invoices for the billing profile are sent through email. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Flag controlling whether the invoices for the billing profile are sent through email.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Flag controlling whether the invoices for the billing profile are sent through email.", + SerializedName = @"invoiceEmailOptIn", + PossibleTypes = new [] { typeof(global::System.Management.Automation.SwitchParameter) })] + public global::System.Management.Automation.SwitchParameter InvoiceEmailOptIn { get => _parametersBody.InvoiceEmailOptIn ?? default(global::System.Management.Automation.SwitchParameter); set => _parametersBody.InvoiceEmailOptIn = value; } + + /// The invoice sections associated to the billing profile. + [global::System.Management.Automation.AllowEmptyCollection] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The invoice sections associated to the billing profile.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The invoice sections associated to the billing profile.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection) })] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IInvoiceSection[] InvoiceSectionValue { get => _parametersBody.InvoiceSectionValue ?? null /* arrayOf */; set => _parametersBody.InvoiceSectionValue = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The ID that uniquely identifies a billing profile. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing profile.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing profile.", + SerializedName = @"billingProfileName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("BillingProfileName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// + /// The purchase order name that will appear on the invoices generated for the billing profile. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The purchase order name that will appear on the invoices generated for the billing profile.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The purchase order name that will appear on the invoices generated for the billing profile.", + SerializedName = @"poNumber", + PossibleTypes = new [] { typeof(string) })] + public string PoNumber { get => _parametersBody.PoNumber ?? null; set => _parametersBody.PoNumber = value; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Tags of billing profiles. + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ExportAs(typeof(global::System.Collections.Hashtable))] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Tags of billing profiles.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Tags of billing profiles.", + SerializedName = @"tags", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesTags) })] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfilePropertiesTags Tag { get => _parametersBody.Tag ?? null /* object */; set => _parametersBody.Tag = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of NewAzBillingProfile_CreateExpanded + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets.NewAzBillingProfile_CreateExpanded Clone() + { + var clone = new NewAzBillingProfile_CreateExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._parametersBody = this._parametersBody; + clone.BillingAccountName = this.BillingAccountName; + clone.Name = this.Name; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.DelayBeforePolling: + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + var data = messageData(); + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public NewAzBillingProfile_CreateExpanded() + { + + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'BillingProfilesCreateOrUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingProfilesCreateOrUpdate(BillingAccountName, Name, _parametersBody, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,Name=Name,body=_parametersBody}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, Name=Name, body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, Name=Name, body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/RemoveAzBillingRoleAssignment_Delete.cs b/swaggerci/billing/generated/cmdlets/RemoveAzBillingRoleAssignment_Delete.cs new file mode 100644 index 000000000000..8dd781fdde38 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/RemoveAzBillingRoleAssignment_Delete.cs @@ -0,0 +1,389 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Deletes a role assignment for the caller on a billing account. The operation is supported for billing accounts with agreement + /// type Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] DeleteByBillingAccount=>DELETE:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleAssignments/{billingRoleAssignmentName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzBillingRoleAssignment_Delete", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Deletes a role assignment for the caller on a billing account. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class RemoveAzBillingRoleAssignment_Delete : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The ID that uniquely identifies a role assignment. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a role assignment.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a role assignment.", + SerializedName = @"billingRoleAssignmentName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("BillingRoleAssignmentName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'BillingRoleAssignmentsDeleteByBillingAccount' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingRoleAssignmentsDeleteByBillingAccount(BillingAccountName, Name, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public RemoveAzBillingRoleAssignment_Delete() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, Name=Name }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, Name=Name }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/RemoveAzBillingRoleAssignment_Delete1.cs b/swaggerci/billing/generated/cmdlets/RemoveAzBillingRoleAssignment_Delete1.cs new file mode 100644 index 000000000000..8c4504902d8b --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/RemoveAzBillingRoleAssignment_Delete1.cs @@ -0,0 +1,417 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Deletes a role assignment for the caller on an invoice section. The operation is supported for billing accounts with agreement + /// type Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] DeleteByInvoiceSection=>DELETE:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleAssignments/{billingRoleAssignmentName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzBillingRoleAssignment_Delete1", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Deletes a role assignment for the caller on an invoice section. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class RemoveAzBillingRoleAssignment_Delete1 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Backing field for property. + private string _billingProfileName; + + /// The ID that uniquely identifies a billing profile. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing profile.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing profile.", + SerializedName = @"billingProfileName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingProfileName { get => this._billingProfileName; set => this._billingProfileName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Backing field for property. + private string _invoiceSectionName; + + /// The ID that uniquely identifies an invoice section. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies an invoice section.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies an invoice section.", + SerializedName = @"invoiceSectionName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string InvoiceSectionName { get => this._invoiceSectionName; set => this._invoiceSectionName = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The ID that uniquely identifies a role assignment. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a role assignment.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a role assignment.", + SerializedName = @"billingRoleAssignmentName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("BillingRoleAssignmentName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'BillingRoleAssignmentsDeleteByInvoiceSection' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingRoleAssignmentsDeleteByInvoiceSection(BillingAccountName, BillingProfileName, InvoiceSectionName, Name, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,BillingProfileName=BillingProfileName,InvoiceSectionName=InvoiceSectionName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public RemoveAzBillingRoleAssignment_Delete1() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName, InvoiceSectionName=InvoiceSectionName, Name=Name }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName, InvoiceSectionName=InvoiceSectionName, Name=Name }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/RemoveAzBillingRoleAssignment_Delete2.cs b/swaggerci/billing/generated/cmdlets/RemoveAzBillingRoleAssignment_Delete2.cs new file mode 100644 index 000000000000..9d721ebf3fa3 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/RemoveAzBillingRoleAssignment_Delete2.cs @@ -0,0 +1,403 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Deletes a role assignment for the caller on a billing profile. The operation is supported for billing accounts with agreement + /// type Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] DeleteByBillingProfile=>DELETE:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleAssignments/{billingRoleAssignmentName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzBillingRoleAssignment_Delete2", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Deletes a role assignment for the caller on a billing profile. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class RemoveAzBillingRoleAssignment_Delete2 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Backing field for property. + private string _billingProfileName; + + /// The ID that uniquely identifies a billing profile. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing profile.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing profile.", + SerializedName = @"billingProfileName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingProfileName { get => this._billingProfileName; set => this._billingProfileName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The ID that uniquely identifies a role assignment. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a role assignment.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a role assignment.", + SerializedName = @"billingRoleAssignmentName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("BillingRoleAssignmentName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'BillingRoleAssignmentsDeleteByBillingProfile' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingRoleAssignmentsDeleteByBillingProfile(BillingAccountName, BillingProfileName, Name, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,BillingProfileName=BillingProfileName,Name=Name}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public RemoveAzBillingRoleAssignment_Delete2() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName, Name=Name }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, BillingProfileName=BillingProfileName, Name=Name }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/RemoveAzBillingRoleAssignment_DeleteViaIdentity.cs b/swaggerci/billing/generated/cmdlets/RemoveAzBillingRoleAssignment_DeleteViaIdentity.cs new file mode 100644 index 000000000000..ab28d04fb1c8 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/RemoveAzBillingRoleAssignment_DeleteViaIdentity.cs @@ -0,0 +1,384 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Deletes a role assignment for the caller on a billing account. The operation is supported for billing accounts with agreement + /// type Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] DeleteByBillingAccount=>DELETE:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleAssignments/{billingRoleAssignmentName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzBillingRoleAssignment_DeleteViaIdentity", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Deletes a role assignment for the caller on a billing account. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class RemoveAzBillingRoleAssignment_DeleteViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'BillingRoleAssignmentsDeleteByBillingAccount' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.BillingRoleAssignmentsDeleteByBillingAccountViaIdentity(InputObject.Id, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.BillingAccountName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingAccountName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.BillingRoleAssignmentName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingRoleAssignmentName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.BillingRoleAssignmentsDeleteByBillingAccount(InputObject.BillingAccountName ?? null, InputObject.BillingRoleAssignmentName ?? null, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public RemoveAzBillingRoleAssignment_DeleteViaIdentity() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/RemoveAzBillingRoleAssignment_DeleteViaIdentity1.cs b/swaggerci/billing/generated/cmdlets/RemoveAzBillingRoleAssignment_DeleteViaIdentity1.cs new file mode 100644 index 000000000000..2f578691f67a --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/RemoveAzBillingRoleAssignment_DeleteViaIdentity1.cs @@ -0,0 +1,392 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Deletes a role assignment for the caller on an invoice section. The operation is supported for billing accounts with agreement + /// type Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] DeleteByInvoiceSection=>DELETE:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleAssignments/{billingRoleAssignmentName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzBillingRoleAssignment_DeleteViaIdentity1", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Deletes a role assignment for the caller on an invoice section. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class RemoveAzBillingRoleAssignment_DeleteViaIdentity1 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'BillingRoleAssignmentsDeleteByInvoiceSection' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.BillingRoleAssignmentsDeleteByInvoiceSectionViaIdentity(InputObject.Id, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.BillingAccountName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingAccountName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.BillingProfileName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingProfileName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.InvoiceSectionName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.InvoiceSectionName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.BillingRoleAssignmentName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingRoleAssignmentName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.BillingRoleAssignmentsDeleteByInvoiceSection(InputObject.BillingAccountName ?? null, InputObject.BillingProfileName ?? null, InputObject.InvoiceSectionName ?? null, InputObject.BillingRoleAssignmentName ?? null, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public RemoveAzBillingRoleAssignment_DeleteViaIdentity1() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/RemoveAzBillingRoleAssignment_DeleteViaIdentity2.cs b/swaggerci/billing/generated/cmdlets/RemoveAzBillingRoleAssignment_DeleteViaIdentity2.cs new file mode 100644 index 000000000000..6fffece07ab2 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/RemoveAzBillingRoleAssignment_DeleteViaIdentity2.cs @@ -0,0 +1,388 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Deletes a role assignment for the caller on a billing profile. The operation is supported for billing accounts with agreement + /// type Microsoft Partner Agreement or Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] DeleteByBillingProfile=>DELETE:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleAssignments/{billingRoleAssignmentName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.Remove, @"AzBillingRoleAssignment_DeleteViaIdentity2", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Deletes a role assignment for the caller on a billing profile. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class RemoveAzBillingRoleAssignment_DeleteViaIdentity2 : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'BillingRoleAssignmentsDeleteByBillingProfile' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.BillingRoleAssignmentsDeleteByBillingProfileViaIdentity(InputObject.Id, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.BillingAccountName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingAccountName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.BillingProfileName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingProfileName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.BillingRoleAssignmentName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingRoleAssignmentName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.BillingRoleAssignmentsDeleteByBillingProfile(InputObject.BillingAccountName ?? null, InputObject.BillingProfileName ?? null, InputObject.BillingRoleAssignmentName ?? null, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public RemoveAzBillingRoleAssignment_DeleteViaIdentity2() + { + + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingRoleAssignment + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/TestAzBillingAddress_Validate.cs b/swaggerci/billing/generated/cmdlets/TestAzBillingAddress_Validate.cs new file mode 100644 index 000000000000..445f897bb6d2 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/TestAzBillingAddress_Validate.cs @@ -0,0 +1,372 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Validates an address. Use the operation to validate an address before using it as soldTo or a billTo address. + /// + /// + /// [OpenAPI] Validate=>POST:"/providers/Microsoft.Billing/validateAddress" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsDiagnostic.Test, @"AzBillingAddress_Validate", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateAddressResponse))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Validates an address. Use the operation to validate an address before using it as soldTo or a billTo address.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class TestAzBillingAddress_Validate : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails _address; + + /// Address details. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Address details.", ValueFromPipeline = true)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Address details.", + SerializedName = @"address", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails) })] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails Address { get => this._address; set => this._address = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateAddressResponse + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'AddressValidate' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.AddressValidate(Address, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=Address}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public TestAzBillingAddress_Validate() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=Address }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=Address }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateAddressResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateAddressResponse + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/TestAzBillingAddress_ValidateExpanded.cs b/swaggerci/billing/generated/cmdlets/TestAzBillingAddress_ValidateExpanded.cs new file mode 100644 index 000000000000..712534d3ac73 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/TestAzBillingAddress_ValidateExpanded.cs @@ -0,0 +1,516 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Validates an address. Use the operation to validate an address before using it as soldTo or a billTo address. + /// + /// + /// [OpenAPI] Validate=>POST:"/providers/Microsoft.Billing/validateAddress" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsDiagnostic.Test, @"AzBillingAddress_ValidateExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateAddressResponse))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Validates an address. Use the operation to validate an address before using it as soldTo or a billTo address.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class TestAzBillingAddress_ValidateExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// Address details. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IAddressDetails _addressBody = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.AddressDetails(); + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Address line 1. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Address line 1.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Address line 1.", + SerializedName = @"addressLine1", + PossibleTypes = new [] { typeof(string) })] + public string AddressLine1 { get => _addressBody.AddressLine1 ?? null; set => _addressBody.AddressLine1 = value; } + + /// Address line 2. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Address line 2.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address line 2.", + SerializedName = @"addressLine2", + PossibleTypes = new [] { typeof(string) })] + public string AddressLine2 { get => _addressBody.AddressLine2 ?? null; set => _addressBody.AddressLine2 = value; } + + /// Address line 3. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Address line 3.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address line 3.", + SerializedName = @"addressLine3", + PossibleTypes = new [] { typeof(string) })] + public string AddressLine3 { get => _addressBody.AddressLine3 ?? null; set => _addressBody.AddressLine3 = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// Address city. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Address city.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address city.", + SerializedName = @"city", + PossibleTypes = new [] { typeof(string) })] + public string City { get => _addressBody.City ?? null; set => _addressBody.City = value; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// Company name. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Company name.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Company name.", + SerializedName = @"companyName", + PossibleTypes = new [] { typeof(string) })] + public string CompanyName { get => _addressBody.CompanyName ?? null; set => _addressBody.CompanyName = value; } + + /// Country code uses ISO2, 2-digit format. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Country code uses ISO2, 2-digit format.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Country code uses ISO2, 2-digit format.", + SerializedName = @"country", + PossibleTypes = new [] { typeof(string) })] + public string Country { get => _addressBody.Country ?? null; set => _addressBody.Country = value; } + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// Address district. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Address district.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address district.", + SerializedName = @"district", + PossibleTypes = new [] { typeof(string) })] + public string District { get => _addressBody.District ?? null; set => _addressBody.District = value; } + + /// Email address. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Email address.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Email address.", + SerializedName = @"email", + PossibleTypes = new [] { typeof(string) })] + public string Email { get => _addressBody.Email ?? null; set => _addressBody.Email = value; } + + /// First name. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "First name.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"First name.", + SerializedName = @"firstName", + PossibleTypes = new [] { typeof(string) })] + public string FirstName { get => _addressBody.FirstName ?? null; set => _addressBody.FirstName = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// Last name. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Last name.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Last name.", + SerializedName = @"lastName", + PossibleTypes = new [] { typeof(string) })] + public string LastName { get => _addressBody.LastName ?? null; set => _addressBody.LastName = value; } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Middle name. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Middle name.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Middle name.", + SerializedName = @"middleName", + PossibleTypes = new [] { typeof(string) })] + public string MiddleName { get => _addressBody.MiddleName ?? null; set => _addressBody.MiddleName = value; } + + /// Phone number. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Phone number.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Phone number.", + SerializedName = @"phoneNumber", + PossibleTypes = new [] { typeof(string) })] + public string PhoneNumber { get => _addressBody.PhoneNumber ?? null; set => _addressBody.PhoneNumber = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// Postal code. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Postal code.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Postal code.", + SerializedName = @"postalCode", + PossibleTypes = new [] { typeof(string) })] + public string PostalCode { get => _addressBody.PostalCode ?? null; set => _addressBody.PostalCode = value; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Address region. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Address region.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address region.", + SerializedName = @"region", + PossibleTypes = new [] { typeof(string) })] + public string Region { get => _addressBody.Region ?? null; set => _addressBody.Region = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateAddressResponse + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'AddressValidate' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.AddressValidate(_addressBody, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_addressBody}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public TestAzBillingAddress_ValidateExpanded() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_addressBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_addressBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateAddressResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateAddressResponse + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/TestAzBillingProductMove_Validate.cs b/swaggerci/billing/generated/cmdlets/TestAzBillingProductMove_Validate.cs new file mode 100644 index 000000000000..36a981e041a9 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/TestAzBillingProductMove_Validate.cs @@ -0,0 +1,401 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Validates if a product's charges can be moved to a new invoice section. This operation is supported only for products + /// that are purchased with a recurring charge and for billing accounts with agreement type Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] ValidateMove=>POST:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/products/{productName}/validateMoveEligibility" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsDiagnostic.Test, @"AzBillingProductMove_Validate", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResult))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Validates if a product's charges can be moved to a new invoice section. This operation is supported only for products that are purchased with a recurring charge and for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class TestAzBillingProductMove_Validate : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties _parameter; + + /// The properties of the product to initiate a transfer. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The properties of the product to initiate a transfer.", ValueFromPipeline = true)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The properties of the product to initiate a transfer.", + SerializedName = @"parameters", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties) })] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties Parameter { get => this._parameter; set => this._parameter = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// Backing field for property. + private string _productName; + + /// The ID that uniquely identifies a product. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a product.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a product.", + SerializedName = @"productName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string ProductName { get => this._productName; set => this._productName = value; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'ProductsValidateMove' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.ProductsValidateMove(BillingAccountName, ProductName, Parameter, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,ProductName=ProductName,body=Parameter}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public TestAzBillingProductMove_Validate() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, ProductName=ProductName, body=Parameter }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, ProductName=ProductName, body=Parameter }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResult + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/TestAzBillingProductMove_ValidateExpanded.cs b/swaggerci/billing/generated/cmdlets/TestAzBillingProductMove_ValidateExpanded.cs new file mode 100644 index 000000000000..2bc6a96d2a3b --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/TestAzBillingProductMove_ValidateExpanded.cs @@ -0,0 +1,402 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Validates if a product's charges can be moved to a new invoice section. This operation is supported only for products + /// that are purchased with a recurring charge and for billing accounts with agreement type Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] ValidateMove=>POST:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/products/{productName}/validateMoveEligibility" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsDiagnostic.Test, @"AzBillingProductMove_ValidateExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResult))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Validates if a product's charges can be moved to a new invoice section. This operation is supported only for products that are purchased with a recurring charge and for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class TestAzBillingProductMove_ValidateExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// The properties of the product to initiate a transfer. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties _parametersBody = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.TransferProductRequestProperties(); + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// The destination invoice section id. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The destination invoice section id.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The destination invoice section id.", + SerializedName = @"destinationInvoiceSectionId", + PossibleTypes = new [] { typeof(string) })] + public string DestinationInvoiceSectionId { get => _parametersBody.DestinationInvoiceSectionId ?? null; set => _parametersBody.DestinationInvoiceSectionId = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// Backing field for property. + private string _productName; + + /// The ID that uniquely identifies a product. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a product.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a product.", + SerializedName = @"productName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string ProductName { get => this._productName; set => this._productName = value; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'ProductsValidateMove' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.ProductsValidateMove(BillingAccountName, ProductName, _parametersBody, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,ProductName=ProductName,body=_parametersBody}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public TestAzBillingProductMove_ValidateExpanded() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, ProductName=ProductName, body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, ProductName=ProductName, body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResult + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/TestAzBillingProductMove_ValidateViaIdentity.cs b/swaggerci/billing/generated/cmdlets/TestAzBillingProductMove_ValidateViaIdentity.cs new file mode 100644 index 000000000000..d81acbe70242 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/TestAzBillingProductMove_ValidateViaIdentity.cs @@ -0,0 +1,397 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Validates if a product's charges can be moved to a new invoice section. This operation is supported only for products + /// that are purchased with a recurring charge and for billing accounts with agreement type Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] ValidateMove=>POST:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/products/{productName}/validateMoveEligibility" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsDiagnostic.Test, @"AzBillingProductMove_ValidateViaIdentity", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResult))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Validates if a product's charges can be moved to a new invoice section. This operation is supported only for products that are purchased with a recurring charge and for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class TestAzBillingProductMove_ValidateViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties _parameter; + + /// The properties of the product to initiate a transfer. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The properties of the product to initiate a transfer.", ValueFromPipeline = true)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The properties of the product to initiate a transfer.", + SerializedName = @"parameters", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties) })] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties Parameter { get => this._parameter; set => this._parameter = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'ProductsValidateMove' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.ProductsValidateMoveViaIdentity(InputObject.Id, Parameter, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.BillingAccountName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingAccountName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.ProductName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ProductName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.ProductsValidateMove(InputObject.BillingAccountName ?? null, InputObject.ProductName ?? null, Parameter, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=Parameter}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public TestAzBillingProductMove_ValidateViaIdentity() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=Parameter }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=Parameter }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResult + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/TestAzBillingProductMove_ValidateViaIdentityExpanded.cs b/swaggerci/billing/generated/cmdlets/TestAzBillingProductMove_ValidateViaIdentityExpanded.cs new file mode 100644 index 000000000000..8869f9a39ab1 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/TestAzBillingProductMove_ValidateViaIdentityExpanded.cs @@ -0,0 +1,398 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Validates if a product's charges can be moved to a new invoice section. This operation is supported only for products + /// that are purchased with a recurring charge and for billing accounts with agreement type Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] ValidateMove=>POST:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/products/{productName}/validateMoveEligibility" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsDiagnostic.Test, @"AzBillingProductMove_ValidateViaIdentityExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResult))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Validates if a product's charges can be moved to a new invoice section. This operation is supported only for products that are purchased with a recurring charge and for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class TestAzBillingProductMove_ValidateViaIdentityExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// The properties of the product to initiate a transfer. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferProductRequestProperties _parametersBody = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.TransferProductRequestProperties(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// The destination invoice section id. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The destination invoice section id.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The destination invoice section id.", + SerializedName = @"destinationInvoiceSectionId", + PossibleTypes = new [] { typeof(string) })] + public string DestinationInvoiceSectionId { get => _parametersBody.DestinationInvoiceSectionId ?? null; set => _parametersBody.DestinationInvoiceSectionId = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'ProductsValidateMove' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.ProductsValidateMoveViaIdentity(InputObject.Id, _parametersBody, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.BillingAccountName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingAccountName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.ProductName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ProductName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.ProductsValidateMove(InputObject.BillingAccountName ?? null, InputObject.ProductName ?? null, _parametersBody, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public TestAzBillingProductMove_ValidateViaIdentityExpanded() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateProductTransferEligibilityResult + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/TestAzBillingSubscriptionMove_Validate.cs b/swaggerci/billing/generated/cmdlets/TestAzBillingSubscriptionMove_Validate.cs new file mode 100644 index 000000000000..612e347e5437 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/TestAzBillingSubscriptionMove_Validate.cs @@ -0,0 +1,405 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Validates if a subscription's charges can be moved to a new invoice section. This operation is supported for billing accounts + /// with agreement type Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] ValidateMove=>POST:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions/{subscriptionId}/validateMoveEligibility" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsDiagnostic.Test, @"AzBillingSubscriptionMove_Validate", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResult))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Validates if a subscription's charges can be moved to a new invoice section. This operation is supported for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class TestAzBillingSubscriptionMove_Validate : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties _parameter; + + /// Request parameters to transfer billing subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Request parameters to transfer billing subscription.", ValueFromPipeline = true)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Request parameters to transfer billing subscription.", + SerializedName = @"parameters", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties) })] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties Parameter { get => this._parameter; set => this._parameter = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID that uniquely identifies an Azure subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies an Azure subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies an Azure subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'BillingSubscriptionsValidateMove' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingSubscriptionsValidateMove(BillingAccountName, SubscriptionId, Parameter, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,SubscriptionId=SubscriptionId,body=Parameter}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public TestAzBillingSubscriptionMove_Validate() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, SubscriptionId=SubscriptionId, body=Parameter }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, SubscriptionId=SubscriptionId, body=Parameter }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResult + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/TestAzBillingSubscriptionMove_ValidateExpanded.cs b/swaggerci/billing/generated/cmdlets/TestAzBillingSubscriptionMove_ValidateExpanded.cs new file mode 100644 index 000000000000..4c9a3d51494f --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/TestAzBillingSubscriptionMove_ValidateExpanded.cs @@ -0,0 +1,406 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Validates if a subscription's charges can be moved to a new invoice section. This operation is supported for billing accounts + /// with agreement type Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] ValidateMove=>POST:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions/{subscriptionId}/validateMoveEligibility" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsDiagnostic.Test, @"AzBillingSubscriptionMove_ValidateExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResult))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Validates if a subscription's charges can be moved to a new invoice section. This operation is supported for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class TestAzBillingSubscriptionMove_ValidateExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Request parameters to transfer billing subscription. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties _parametersBody = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.TransferBillingSubscriptionRequestProperties(); + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// The destination invoice section id. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The destination invoice section id.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The destination invoice section id.", + SerializedName = @"destinationInvoiceSectionId", + PossibleTypes = new [] { typeof(string) })] + public string DestinationInvoiceSectionId { get => _parametersBody.DestinationInvoiceSectionId ?? null; set => _parametersBody.DestinationInvoiceSectionId = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID that uniquely identifies an Azure subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies an Azure subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies an Azure subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'BillingSubscriptionsValidateMove' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingSubscriptionsValidateMove(BillingAccountName, SubscriptionId, _parametersBody, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,SubscriptionId=SubscriptionId,body=_parametersBody}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public TestAzBillingSubscriptionMove_ValidateExpanded() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, SubscriptionId=SubscriptionId, body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, SubscriptionId=SubscriptionId, body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResult + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/TestAzBillingSubscriptionMove_ValidateViaIdentity.cs b/swaggerci/billing/generated/cmdlets/TestAzBillingSubscriptionMove_ValidateViaIdentity.cs new file mode 100644 index 000000000000..d539899f794d --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/TestAzBillingSubscriptionMove_ValidateViaIdentity.cs @@ -0,0 +1,397 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Validates if a subscription's charges can be moved to a new invoice section. This operation is supported for billing accounts + /// with agreement type Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] ValidateMove=>POST:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions/{subscriptionId}/validateMoveEligibility" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsDiagnostic.Test, @"AzBillingSubscriptionMove_ValidateViaIdentity", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResult))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Validates if a subscription's charges can be moved to a new invoice section. This operation is supported for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class TestAzBillingSubscriptionMove_ValidateViaIdentity : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties _parameter; + + /// Request parameters to transfer billing subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Request parameters to transfer billing subscription.", ValueFromPipeline = true)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"Request parameters to transfer billing subscription.", + SerializedName = @"parameters", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties) })] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties Parameter { get => this._parameter; set => this._parameter = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'BillingSubscriptionsValidateMove' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.BillingSubscriptionsValidateMoveViaIdentity(InputObject.Id, Parameter, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.BillingAccountName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingAccountName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.BillingSubscriptionsValidateMove(InputObject.BillingAccountName ?? null, InputObject.SubscriptionId ?? null, Parameter, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=Parameter}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public TestAzBillingSubscriptionMove_ValidateViaIdentity() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=Parameter }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=Parameter }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResult + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/TestAzBillingSubscriptionMove_ValidateViaIdentityExpanded.cs b/swaggerci/billing/generated/cmdlets/TestAzBillingSubscriptionMove_ValidateViaIdentityExpanded.cs new file mode 100644 index 000000000000..a8b2cad18993 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/TestAzBillingSubscriptionMove_ValidateViaIdentityExpanded.cs @@ -0,0 +1,398 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Validates if a subscription's charges can be moved to a new invoice section. This operation is supported for billing accounts + /// with agreement type Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] ValidateMove=>POST:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions/{subscriptionId}/validateMoveEligibility" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsDiagnostic.Test, @"AzBillingSubscriptionMove_ValidateViaIdentityExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResult))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Validates if a subscription's charges can be moved to a new invoice section. This operation is supported for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class TestAzBillingSubscriptionMove_ValidateViaIdentityExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// Request parameters to transfer billing subscription. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.ITransferBillingSubscriptionRequestProperties _parametersBody = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.TransferBillingSubscriptionRequestProperties(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// The destination invoice section id. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The destination invoice section id.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The destination invoice section id.", + SerializedName = @"destinationInvoiceSectionId", + PossibleTypes = new [] { typeof(string) })] + public string DestinationInvoiceSectionId { get => _parametersBody.DestinationInvoiceSectionId ?? null; set => _parametersBody.DestinationInvoiceSectionId = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResult + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'BillingSubscriptionsValidateMove' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.BillingSubscriptionsValidateMoveViaIdentity(InputObject.Id, _parametersBody, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.BillingAccountName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingAccountName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.BillingSubscriptionsValidateMove(InputObject.BillingAccountName ?? null, InputObject.SubscriptionId ?? null, _parametersBody, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public TestAzBillingSubscriptionMove_ValidateViaIdentityExpanded() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResult + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IValidateSubscriptionTransferEligibilityResult + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/UpdateAzBillingAccount_UpdateExpanded.cs b/swaggerci/billing/generated/cmdlets/UpdateAzBillingAccount_UpdateExpanded.cs new file mode 100644 index 000000000000..6e69bb577f4a --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/UpdateAzBillingAccount_UpdateExpanded.cs @@ -0,0 +1,655 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Updates the properties of a billing account. Currently, displayName and address can be updated. The operation is supported + /// only for billing accounts with agreement type Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] Update=>PATCH:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzBillingAccount_UpdateExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Updates the properties of a billing account. Currently, displayName and address can be updated. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class UpdateAzBillingAccount_UpdateExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// The request properties of the billing account that can be updated. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequest _parametersBody = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingAccountUpdateRequest(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// The billing profiles associated with the billing account. + [global::System.Management.Automation.AllowEmptyCollection] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The billing profiles associated with the billing account.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The billing profiles associated with the billing account.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile) })] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile[] BillingProfileValue { get => _parametersBody.BillingProfileValue ?? null /* arrayOf */; set => _parametersBody.BillingProfileValue = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// The departments associated to the enrollment. + [global::System.Management.Automation.AllowEmptyCollection] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The departments associated to the enrollment.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The departments associated to the enrollment.", + SerializedName = @"departments", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment) })] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment[] Department { get => _parametersBody.Department ?? null /* arrayOf */; set => _parametersBody.Department = value; } + + /// The billing account name. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The billing account name.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The billing account name.", + SerializedName = @"displayName", + PossibleTypes = new [] { typeof(string) })] + public string DisplayName { get => _parametersBody.DisplayName ?? null; set => _parametersBody.DisplayName = value; } + + /// The accounts associated to the enrollment. + [global::System.Management.Automation.AllowEmptyCollection] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The accounts associated to the enrollment.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The accounts associated to the enrollment.", + SerializedName = @"enrollmentAccounts", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount) })] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[] EnrollmentAccount { get => _parametersBody.EnrollmentAccount ?? null /* arrayOf */; set => _parametersBody.EnrollmentAccount = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("BillingAccountName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// Notification email address, only for legacy accounts + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Notification email address, only for legacy accounts")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Notification email address, only for legacy accounts", + SerializedName = @"notificationEmailAddress", + PossibleTypes = new [] { typeof(string) })] + public string NotificationEmailAddress { get => _parametersBody.NotificationEmailAddress ?? null; set => _parametersBody.NotificationEmailAddress = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Address line 1. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Address line 1.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address line 1.", + SerializedName = @"addressLine1", + PossibleTypes = new [] { typeof(string) })] + public string SoldToAddressLine1 { get => _parametersBody.SoldToAddressLine1 ?? null; set => _parametersBody.SoldToAddressLine1 = value; } + + /// Address line 2. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Address line 2.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address line 2.", + SerializedName = @"addressLine2", + PossibleTypes = new [] { typeof(string) })] + public string SoldToAddressLine2 { get => _parametersBody.SoldToAddressLine2 ?? null; set => _parametersBody.SoldToAddressLine2 = value; } + + /// Address line 3. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Address line 3.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address line 3.", + SerializedName = @"addressLine3", + PossibleTypes = new [] { typeof(string) })] + public string SoldToAddressLine3 { get => _parametersBody.SoldToAddressLine3 ?? null; set => _parametersBody.SoldToAddressLine3 = value; } + + /// Address city. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Address city.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address city.", + SerializedName = @"city", + PossibleTypes = new [] { typeof(string) })] + public string SoldToCity { get => _parametersBody.SoldToCity ?? null; set => _parametersBody.SoldToCity = value; } + + /// Company name. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Company name.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Company name.", + SerializedName = @"companyName", + PossibleTypes = new [] { typeof(string) })] + public string SoldToCompanyName { get => _parametersBody.SoldToCompanyName ?? null; set => _parametersBody.SoldToCompanyName = value; } + + /// Country code uses ISO2, 2-digit format. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Country code uses ISO2, 2-digit format.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Country code uses ISO2, 2-digit format.", + SerializedName = @"country", + PossibleTypes = new [] { typeof(string) })] + public string SoldToCountry { get => _parametersBody.SoldToCountry ?? null; set => _parametersBody.SoldToCountry = value; } + + /// Address district. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Address district.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address district.", + SerializedName = @"district", + PossibleTypes = new [] { typeof(string) })] + public string SoldToDistrict { get => _parametersBody.SoldToDistrict ?? null; set => _parametersBody.SoldToDistrict = value; } + + /// Email address. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Email address.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Email address.", + SerializedName = @"email", + PossibleTypes = new [] { typeof(string) })] + public string SoldToEmail { get => _parametersBody.SoldToEmail ?? null; set => _parametersBody.SoldToEmail = value; } + + /// First name. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "First name.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"First name.", + SerializedName = @"firstName", + PossibleTypes = new [] { typeof(string) })] + public string SoldToFirstName { get => _parametersBody.SoldToFirstName ?? null; set => _parametersBody.SoldToFirstName = value; } + + /// Last name. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Last name.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Last name.", + SerializedName = @"lastName", + PossibleTypes = new [] { typeof(string) })] + public string SoldToLastName { get => _parametersBody.SoldToLastName ?? null; set => _parametersBody.SoldToLastName = value; } + + /// Middle name. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Middle name.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Middle name.", + SerializedName = @"middleName", + PossibleTypes = new [] { typeof(string) })] + public string SoldToMiddleName { get => _parametersBody.SoldToMiddleName ?? null; set => _parametersBody.SoldToMiddleName = value; } + + /// Phone number. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Phone number.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Phone number.", + SerializedName = @"phoneNumber", + PossibleTypes = new [] { typeof(string) })] + public string SoldToPhoneNumber { get => _parametersBody.SoldToPhoneNumber ?? null; set => _parametersBody.SoldToPhoneNumber = value; } + + /// Postal code. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Postal code.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Postal code.", + SerializedName = @"postalCode", + PossibleTypes = new [] { typeof(string) })] + public string SoldToPostalCode { get => _parametersBody.SoldToPostalCode ?? null; set => _parametersBody.SoldToPostalCode = value; } + + /// Address region. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Address region.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address region.", + SerializedName = @"region", + PossibleTypes = new [] { typeof(string) })] + public string SoldToRegion { get => _parametersBody.SoldToRegion ?? null; set => _parametersBody.SoldToRegion = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of UpdateAzBillingAccount_UpdateExpanded + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets.UpdateAzBillingAccount_UpdateExpanded Clone() + { + var clone = new UpdateAzBillingAccount_UpdateExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._parametersBody = this._parametersBody; + clone.Name = this.Name; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.DelayBeforePolling: + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + var data = messageData(); + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'BillingAccountsUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingAccountsUpdate(Name, _parametersBody, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { Name=Name,body=_parametersBody}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public UpdateAzBillingAccount_UpdateExpanded() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { Name=Name, body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { Name=Name, body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/UpdateAzBillingAccount_UpdateViaIdentityExpanded.cs b/swaggerci/billing/generated/cmdlets/UpdateAzBillingAccount_UpdateViaIdentityExpanded.cs new file mode 100644 index 000000000000..a6343895434f --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/UpdateAzBillingAccount_UpdateViaIdentityExpanded.cs @@ -0,0 +1,659 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Updates the properties of a billing account. Currently, displayName and address can be updated. The operation is supported + /// only for billing accounts with agreement type Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] Update=>PATCH:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzBillingAccount_UpdateViaIdentityExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Updates the properties of a billing account. Currently, displayName and address can be updated. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class UpdateAzBillingAccount_UpdateViaIdentityExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// The request properties of the billing account that can be updated. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccountUpdateRequest _parametersBody = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingAccountUpdateRequest(); + + /// when specified, runs this cmdlet as a PowerShell job + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter AsJob { get; set; } + + /// The billing profiles associated with the billing account. + [global::System.Management.Automation.AllowEmptyCollection] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The billing profiles associated with the billing account.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The billing profiles associated with the billing account.", + SerializedName = @"value", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile) })] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProfile[] BillingProfileValue { get => _parametersBody.BillingProfileValue ?? null /* arrayOf */; set => _parametersBody.BillingProfileValue = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// The departments associated to the enrollment. + [global::System.Management.Automation.AllowEmptyCollection] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The departments associated to the enrollment.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The departments associated to the enrollment.", + SerializedName = @"departments", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment) })] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IDepartment[] Department { get => _parametersBody.Department ?? null /* arrayOf */; set => _parametersBody.Department = value; } + + /// The billing account name. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The billing account name.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The billing account name.", + SerializedName = @"displayName", + PossibleTypes = new [] { typeof(string) })] + public string DisplayName { get => _parametersBody.DisplayName ?? null; set => _parametersBody.DisplayName = value; } + + /// The accounts associated to the enrollment. + [global::System.Management.Automation.AllowEmptyCollection] + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The accounts associated to the enrollment.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The accounts associated to the enrollment.", + SerializedName = @"enrollmentAccounts", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount) })] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IEnrollmentAccount[] EnrollmentAccount { get => _parametersBody.EnrollmentAccount ?? null /* arrayOf */; set => _parametersBody.EnrollmentAccount = value; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue + /// asynchronously. + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter NoWait { get; set; } + + /// Notification email address, only for legacy accounts + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Notification email address, only for legacy accounts")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Notification email address, only for legacy accounts", + SerializedName = @"notificationEmailAddress", + PossibleTypes = new [] { typeof(string) })] + public string NotificationEmailAddress { get => _parametersBody.NotificationEmailAddress ?? null; set => _parametersBody.NotificationEmailAddress = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Address line 1. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Address line 1.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address line 1.", + SerializedName = @"addressLine1", + PossibleTypes = new [] { typeof(string) })] + public string SoldToAddressLine1 { get => _parametersBody.SoldToAddressLine1 ?? null; set => _parametersBody.SoldToAddressLine1 = value; } + + /// Address line 2. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Address line 2.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address line 2.", + SerializedName = @"addressLine2", + PossibleTypes = new [] { typeof(string) })] + public string SoldToAddressLine2 { get => _parametersBody.SoldToAddressLine2 ?? null; set => _parametersBody.SoldToAddressLine2 = value; } + + /// Address line 3. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Address line 3.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address line 3.", + SerializedName = @"addressLine3", + PossibleTypes = new [] { typeof(string) })] + public string SoldToAddressLine3 { get => _parametersBody.SoldToAddressLine3 ?? null; set => _parametersBody.SoldToAddressLine3 = value; } + + /// Address city. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Address city.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address city.", + SerializedName = @"city", + PossibleTypes = new [] { typeof(string) })] + public string SoldToCity { get => _parametersBody.SoldToCity ?? null; set => _parametersBody.SoldToCity = value; } + + /// Company name. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Company name.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Company name.", + SerializedName = @"companyName", + PossibleTypes = new [] { typeof(string) })] + public string SoldToCompanyName { get => _parametersBody.SoldToCompanyName ?? null; set => _parametersBody.SoldToCompanyName = value; } + + /// Country code uses ISO2, 2-digit format. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Country code uses ISO2, 2-digit format.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Country code uses ISO2, 2-digit format.", + SerializedName = @"country", + PossibleTypes = new [] { typeof(string) })] + public string SoldToCountry { get => _parametersBody.SoldToCountry ?? null; set => _parametersBody.SoldToCountry = value; } + + /// Address district. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Address district.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address district.", + SerializedName = @"district", + PossibleTypes = new [] { typeof(string) })] + public string SoldToDistrict { get => _parametersBody.SoldToDistrict ?? null; set => _parametersBody.SoldToDistrict = value; } + + /// Email address. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Email address.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Email address.", + SerializedName = @"email", + PossibleTypes = new [] { typeof(string) })] + public string SoldToEmail { get => _parametersBody.SoldToEmail ?? null; set => _parametersBody.SoldToEmail = value; } + + /// First name. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "First name.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"First name.", + SerializedName = @"firstName", + PossibleTypes = new [] { typeof(string) })] + public string SoldToFirstName { get => _parametersBody.SoldToFirstName ?? null; set => _parametersBody.SoldToFirstName = value; } + + /// Last name. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Last name.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Last name.", + SerializedName = @"lastName", + PossibleTypes = new [] { typeof(string) })] + public string SoldToLastName { get => _parametersBody.SoldToLastName ?? null; set => _parametersBody.SoldToLastName = value; } + + /// Middle name. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Middle name.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Middle name.", + SerializedName = @"middleName", + PossibleTypes = new [] { typeof(string) })] + public string SoldToMiddleName { get => _parametersBody.SoldToMiddleName ?? null; set => _parametersBody.SoldToMiddleName = value; } + + /// Phone number. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Phone number.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Phone number.", + SerializedName = @"phoneNumber", + PossibleTypes = new [] { typeof(string) })] + public string SoldToPhoneNumber { get => _parametersBody.SoldToPhoneNumber ?? null; set => _parametersBody.SoldToPhoneNumber = value; } + + /// Postal code. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Postal code.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Postal code.", + SerializedName = @"postalCode", + PossibleTypes = new [] { typeof(string) })] + public string SoldToPostalCode { get => _parametersBody.SoldToPostalCode ?? null; set => _parametersBody.SoldToPostalCode = value; } + + /// Address region. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Address region.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Address region.", + SerializedName = @"region", + PossibleTypes = new [] { typeof(string) })] + public string SoldToRegion { get => _parametersBody.SoldToRegion ?? null; set => _parametersBody.SoldToRegion = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Creates a duplicate instance of this cmdlet (via JSON serialization). + /// a duplicate instance of UpdateAzBillingAccount_UpdateViaIdentityExpanded + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets.UpdateAzBillingAccount_UpdateViaIdentityExpanded Clone() + { + var clone = new UpdateAzBillingAccount_UpdateViaIdentityExpanded(); + clone.__correlationId = this.__correlationId; + clone.__processRecordId = this.__processRecordId; + clone.DefaultProfile = this.DefaultProfile; + clone.InvocationInformation = this.InvocationInformation; + clone.Proxy = this.Proxy; + clone.Pipeline = this.Pipeline; + clone.AsJob = this.AsJob; + clone.Break = this.Break; + clone.ProxyCredential = this.ProxyCredential; + clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials; + clone.HttpPipelinePrepend = this.HttpPipelinePrepend; + clone.HttpPipelineAppend = this.HttpPipelineAppend; + clone._parametersBody = this._parametersBody; + return clone; + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + // When an operation supports asjob, Information messages must go thru verbose. + WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.DelayBeforePolling: + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait")) + { + var data = messageData(); + if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response) + { + var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation"); + var location = response.GetFirstHeader(@"Location"); + var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation; + WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncOperationResponse { Target = uri }); + // do nothing more. + data.Cancel(); + return; + } + } + break; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'BillingAccountsUpdate' operation")) + { + if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob")) + { + var instance = this.Clone(); + var job = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel); + JobRepository.Add(job); + var task = instance.ProcessRecordAsync(); + job.Monitor(task); + WriteObject(job); + } + else + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.BillingAccountsUpdateViaIdentity(InputObject.Id, _parametersBody, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.BillingAccountName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingAccountName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.BillingAccountsUpdate(InputObject.BillingAccountName ?? null, _parametersBody, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public UpdateAzBillingAccount_UpdateViaIdentityExpanded() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingAccount + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/UpdateAzBillingProduct_UpdateExpanded.cs b/swaggerci/billing/generated/cmdlets/UpdateAzBillingProduct_UpdateExpanded.cs new file mode 100644 index 000000000000..4de836c24bfd --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/UpdateAzBillingProduct_UpdateExpanded.cs @@ -0,0 +1,428 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Updates the properties of a Product. Currently, auto renew can be updated. The operation is supported only for billing + /// accounts with agreement type Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] Update=>PATCH:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/products/{productName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzBillingProduct_UpdateExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Updates the properties of a Product. Currently, auto renew can be updated. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class UpdateAzBillingProduct_UpdateExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A product. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct _parametersBody = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Product(); + + /// Indicates whether auto renewal is turned on or off for a product. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Indicates whether auto renewal is turned on or off for a product.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Indicates whether auto renewal is turned on or off for a product.", + SerializedName = @"autoRenew", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AutoRenew) })] + [global::System.Management.Automation.ArgumentCompleter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AutoRenew))] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AutoRenew AutoRenew { get => _parametersBody.AutoRenew ?? ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AutoRenew)""); set => _parametersBody.AutoRenew = value; } + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// The frequency at which the product will be billed. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The frequency at which the product will be billed.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The frequency at which the product will be billed.", + SerializedName = @"billingFrequency", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingFrequency) })] + [global::System.Management.Automation.ArgumentCompleter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingFrequency))] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingFrequency BillingFrequency { get => _parametersBody.BillingFrequency ?? ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingFrequency)""); set => _parametersBody.BillingFrequency = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// Backing field for property. + private string _name; + + /// The ID that uniquely identifies a product. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a product.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a product.", + SerializedName = @"productName", + PossibleTypes = new [] { typeof(string) })] + [global::System.Management.Automation.Alias("ProductName")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string Name { get => this._name; set => this._name = value; } + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// The current status of the product. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The current status of the product.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The current status of the product.", + SerializedName = @"status", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType) })] + [global::System.Management.Automation.ArgumentCompleter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType))] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType Status { get => _parametersBody.Status ?? ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType)""); set => _parametersBody.Status = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'ProductsUpdate' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.ProductsUpdate(BillingAccountName, Name, _parametersBody, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,Name=Name,body=_parametersBody}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public UpdateAzBillingProduct_UpdateExpanded() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, Name=Name, body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, Name=Name, body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/UpdateAzBillingProduct_UpdateViaIdentityExpanded.cs b/swaggerci/billing/generated/cmdlets/UpdateAzBillingProduct_UpdateViaIdentityExpanded.cs new file mode 100644 index 000000000000..42a8df79b5ad --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/UpdateAzBillingProduct_UpdateViaIdentityExpanded.cs @@ -0,0 +1,423 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Updates the properties of a Product. Currently, auto renew can be updated. The operation is supported only for billing + /// accounts with agreement type Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] Update=>PATCH:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/products/{productName}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzBillingProduct_UpdateViaIdentityExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Updates the properties of a Product. Currently, auto renew can be updated. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class UpdateAzBillingProduct_UpdateViaIdentityExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A product. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct _parametersBody = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.Product(); + + /// Indicates whether auto renewal is turned on or off for a product. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Indicates whether auto renewal is turned on or off for a product.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"Indicates whether auto renewal is turned on or off for a product.", + SerializedName = @"autoRenew", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AutoRenew) })] + [global::System.Management.Automation.ArgumentCompleter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AutoRenew))] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AutoRenew AutoRenew { get => _parametersBody.AutoRenew ?? ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.AutoRenew)""); set => _parametersBody.AutoRenew = value; } + + /// The frequency at which the product will be billed. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The frequency at which the product will be billed.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The frequency at which the product will be billed.", + SerializedName = @"billingFrequency", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingFrequency) })] + [global::System.Management.Automation.ArgumentCompleter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingFrequency))] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingFrequency BillingFrequency { get => _parametersBody.BillingFrequency ?? ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingFrequency)""); set => _parametersBody.BillingFrequency = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// The current status of the product. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The current status of the product.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The current status of the product.", + SerializedName = @"status", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType) })] + [global::System.Management.Automation.ArgumentCompleter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType))] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType Status { get => _parametersBody.Status ?? ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.ProductStatusType)""); set => _parametersBody.Status = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'ProductsUpdate' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.ProductsUpdateViaIdentity(InputObject.Id, _parametersBody, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.BillingAccountName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingAccountName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.ProductName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.ProductName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.ProductsUpdate(InputObject.BillingAccountName ?? null, InputObject.ProductName ?? null, _parametersBody, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public UpdateAzBillingProduct_UpdateViaIdentityExpanded() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IProduct + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/UpdateAzBillingProperty_UpdateExpanded.cs b/swaggerci/billing/generated/cmdlets/UpdateAzBillingProperty_UpdateExpanded.cs new file mode 100644 index 000000000000..c1081d463fae --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/UpdateAzBillingProperty_UpdateExpanded.cs @@ -0,0 +1,392 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Updates the billing property of a subscription. Currently, cost center can be updated. The operation is supported only + /// for billing accounts with agreement type Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingProperty/default" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzBillingProperty_UpdateExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProperty))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Updates the billing property of a subscription. Currently, cost center can be updated. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class UpdateAzBillingProperty_UpdateExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A billing property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProperty _parametersBody = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProperty(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// The cost center applied to the subscription. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The cost center applied to the subscription.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The cost center applied to the subscription.", + SerializedName = @"costCenter", + PossibleTypes = new [] { typeof(string) })] + public string CostCenter { get => _parametersBody.CostCenter ?? null; set => _parametersBody.CostCenter = value; } + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID that uniquely identifies an Azure subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies an Azure subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies an Azure subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProperty + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'BillingPropertyUpdate' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingPropertyUpdate(SubscriptionId, _parametersBody, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,body=_parametersBody}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public UpdateAzBillingProperty_UpdateExpanded() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId, body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId, body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProperty + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProperty + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/UpdateAzBillingProperty_UpdateViaIdentityExpanded.cs b/swaggerci/billing/generated/cmdlets/UpdateAzBillingProperty_UpdateViaIdentityExpanded.cs new file mode 100644 index 000000000000..e51b0aa35437 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/UpdateAzBillingProperty_UpdateViaIdentityExpanded.cs @@ -0,0 +1,394 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Updates the billing property of a subscription. Currently, cost center can be updated. The operation is supported only + /// for billing accounts with agreement type Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] Update=>PATCH:"/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingProperty/default" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzBillingProperty_UpdateViaIdentityExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProperty))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Updates the billing property of a subscription. Currently, cost center can be updated. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class UpdateAzBillingProperty_UpdateViaIdentityExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A billing property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProperty _parametersBody = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingProperty(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// The cost center applied to the subscription. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The cost center applied to the subscription.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The cost center applied to the subscription.", + SerializedName = @"costCenter", + PossibleTypes = new [] { typeof(string) })] + public string CostCenter { get => _parametersBody.CostCenter ?? null; set => _parametersBody.CostCenter = value; } + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProperty + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'BillingPropertyUpdate' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.BillingPropertyUpdateViaIdentity(InputObject.Id, _parametersBody, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.BillingPropertyUpdate(InputObject.SubscriptionId ?? null, _parametersBody, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public UpdateAzBillingProperty_UpdateViaIdentityExpanded() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProperty + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingProperty + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/UpdateAzBillingSubscription_UpdateExpanded.cs b/swaggerci/billing/generated/cmdlets/UpdateAzBillingSubscription_UpdateExpanded.cs new file mode 100644 index 000000000000..fd2b2a5afb57 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/UpdateAzBillingSubscription_UpdateExpanded.cs @@ -0,0 +1,429 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Updates the properties of a billing subscription. Currently, cost center can be updated. The operation is supported only + /// for billing accounts with agreement type Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] Update=>PATCH:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions/{subscriptionId}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzBillingSubscription_UpdateExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Updates the properties of a billing subscription. Currently, cost center can be updated. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class UpdateAzBillingSubscription_UpdateExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A billing subscription. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription _parametersBody = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingSubscription(); + + /// Backing field for property. + private string _billingAccountName; + + /// The ID that uniquely identifies a billing account. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies a billing account.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies a billing account.", + SerializedName = @"billingAccountName", + PossibleTypes = new [] { typeof(string) })] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string BillingAccountName { get => this._billingAccountName; set => this._billingAccountName = value; } + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// The cost center applied to the subscription. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The cost center applied to the subscription.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The cost center applied to the subscription.", + SerializedName = @"costCenter", + PossibleTypes = new [] { typeof(string) })] + public string CostCenter { get => _parametersBody.CostCenter ?? null; set => _parametersBody.CostCenter = value; } + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// The sku ID of the Azure plan for the subscription. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The sku ID of the Azure plan for the subscription.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The sku ID of the Azure plan for the subscription.", + SerializedName = @"skuId", + PossibleTypes = new [] { typeof(string) })] + public string SkuId { get => _parametersBody.SkuId ?? null; set => _parametersBody.SkuId = value; } + + /// The current billing status of the subscription. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The current billing status of the subscription.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The current billing status of the subscription.", + SerializedName = @"subscriptionBillingStatus", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType) })] + [global::System.Management.Automation.ArgumentCompleter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType))] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType SubscriptionBillingStatus { get => _parametersBody.SubscriptionBillingStatus ?? ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType)""); set => _parametersBody.SubscriptionBillingStatus = value; } + + /// Backing field for property. + private string _subscriptionId; + + /// The ID that uniquely identifies an Azure subscription. + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID that uniquely identifies an Azure subscription.")] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = true, + ReadOnly = false, + Description = @"The ID that uniquely identifies an Azure subscription.", + SerializedName = @"subscriptionId", + PossibleTypes = new [] { typeof(string) })] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.DefaultInfo( + Name = @"", + Description =@"", + Script = @"(Get-AzContext).Subscription.Id")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'BillingSubscriptionsUpdate' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + await this.Client.BillingSubscriptionsUpdate(BillingAccountName, SubscriptionId, _parametersBody, onOk, onDefault, this, Pipeline); + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName,SubscriptionId=SubscriptionId,body=_parametersBody}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public UpdateAzBillingSubscription_UpdateExpanded() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, SubscriptionId=SubscriptionId, body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { BillingAccountName=BillingAccountName, SubscriptionId=SubscriptionId, body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/cmdlets/UpdateAzBillingSubscription_UpdateViaIdentityExpanded.cs b/swaggerci/billing/generated/cmdlets/UpdateAzBillingSubscription_UpdateViaIdentityExpanded.cs new file mode 100644 index 000000000000..c6299f6b6e07 --- /dev/null +++ b/swaggerci/billing/generated/cmdlets/UpdateAzBillingSubscription_UpdateViaIdentityExpanded.cs @@ -0,0 +1,421 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Cmdlets +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + using System; + + /// + /// Updates the properties of a billing subscription. Currently, cost center can be updated. The operation is supported only + /// for billing accounts with agreement type Microsoft Customer Agreement. + /// + /// + /// [OpenAPI] Update=>PATCH:"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions/{subscriptionId}" + /// + [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsData.Update, @"AzBillingSubscription_UpdateViaIdentityExpanded", SupportsShouldProcess = true)] + [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription))] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Description(@"Updates the properties of a billing subscription. Currently, cost center can be updated. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Generated] + public partial class UpdateAzBillingSubscription_UpdateViaIdentityExpanded : global::System.Management.Automation.PSCmdlet, + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener + { + /// A unique id generatd for the this cmdlet when it is instantiated. + private string __correlationId = System.Guid.NewGuid().ToString(); + + /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet) + private global::System.Management.Automation.InvocationInfo __invocationInfo; + + /// A unique id generatd for the this cmdlet when ProcessRecord() is called. + private string __processRecordId; + + /// + /// The for this operation. + /// + private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource(); + + /// A billing subscription. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription _parametersBody = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.BillingSubscription(); + + /// Wait for .NET debugger to attach + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter Break { get; set; } + + /// The reference to the client API class. + public Microsoft.Azure.PowerShell.Cmdlets.Billing.BillingManagementClient Client => Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.ClientAPI; + + /// The cost center applied to the subscription. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The cost center applied to the subscription.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The cost center applied to the subscription.", + SerializedName = @"costCenter", + PossibleTypes = new [] { typeof(string) })] + public string CostCenter { get => _parametersBody.CostCenter ?? null; set => _parametersBody.CostCenter = value; } + + /// + /// The credentials, account, tenant, and subscription used for communication with Azure + /// + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")] + [global::System.Management.Automation.ValidateNotNull] + [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Azure)] + public global::System.Management.Automation.PSObject DefaultProfile { get; set; } + + /// SendAsync Pipeline Steps to be appended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; } + + /// SendAsync Pipeline Steps to be prepended to the front of the pipeline + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; } + + /// Backing field for property. + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity _inputObject; + + /// Identity Parameter + [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Identity Parameter", ValueFromPipeline = true)] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Path)] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.IBillingIdentity InputObject { get => this._inputObject; set => this._inputObject = value; } + + /// Accessor for our copy of the InvocationInfo. + public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } } + + /// + /// cancellation delegate. Stops the cmdlet when called. + /// + global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel; + + /// cancellation token. + global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Token => _cancellationTokenSource.Token; + + /// + /// The instance of the that the remote call will use. + /// + private Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.HttpPipeline Pipeline { get; set; } + + /// The URI for the proxy server to use + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Uri Proxy { get; set; } + + /// Credentials for a proxy server to use for the remote call + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")] + [global::System.Management.Automation.ValidateNotNull] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.PSCredential ProxyCredential { get; set; } + + /// Use the default credentials for the proxy + [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Runtime)] + public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; } + + /// The sku ID of the Azure plan for the subscription. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The sku ID of the Azure plan for the subscription.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The sku ID of the Azure plan for the subscription.", + SerializedName = @"skuId", + PossibleTypes = new [] { typeof(string) })] + public string SkuId { get => _parametersBody.SkuId ?? null; set => _parametersBody.SkuId = value; } + + /// The current billing status of the subscription. + [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The current billing status of the subscription.")] + [global::Microsoft.Azure.PowerShell.Cmdlets.Billing.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Billing.ParameterCategory.Body)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Info( + Required = false, + ReadOnly = false, + Description = @"The current billing status of the subscription.", + SerializedName = @"subscriptionBillingStatus", + PossibleTypes = new [] { typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType) })] + [global::System.Management.Automation.ArgumentCompleter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType))] + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType SubscriptionBillingStatus { get => _parametersBody.SubscriptionBillingStatus ?? ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Support.BillingSubscriptionStatusType)""); set => _parametersBody.SubscriptionBillingStatus = value; } + + /// + /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what + /// happens on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// /// Determines if the rest of the onDefault method should be processed, or if the method should + /// return immediately (set to true to skip further processing ) + + partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens + /// on that response. Implement this method in a partial class to enable this behavior + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription + /// from the remote call + /// /// Determines if the rest of the onOk method should be processed, or if the method should return + /// immediately (set to true to skip further processing ) + + partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow); + + /// + /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet) + /// + protected override void BeginProcessing() + { + var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.GetTelemetryId.Invoke(); + if (telemetryId != "" && telemetryId != "internal") + { + __correlationId = telemetryId; + } + Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials); + if (Break) + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.AttachDebugger.Break(); + } + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + + /// Performs clean-up after the command execution + protected override void EndProcessing() + { + + } + + /// Handles/Dispatches events during the call to the REST service. + /// The message id + /// The message cancellation token. When this call is cancelled, this should be true + /// Detailed message data for the message event. + /// + /// A that will be complete when handling of the message is completed. + /// + async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData) + { + using( NoSynchronizationContext ) + { + if (token.IsCancellationRequested) + { + return ; + } + + switch ( id ) + { + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Verbose: + { + WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Warning: + { + WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Information: + { + var data = messageData(); + WriteInformation(data.Message, new string[]{}); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Debug: + { + WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}"); + return ; + } + case Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.Error: + { + WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) ); + return ; + } + } + await Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null ); + if (token.IsCancellationRequested) + { + return ; + } + WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}"); + } + } + + /// Performs execution of the command. + protected override void ProcessRecord() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + __processRecordId = System.Guid.NewGuid().ToString(); + try + { + // work + if (ShouldProcess($"Call remote 'BillingSubscriptionsUpdate' operation")) + { + using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token) ) + { + asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token); + } + } + } + catch (global::System.AggregateException aggregateException) + { + // unroll the inner exceptions to get the root cause + foreach( var innerException in aggregateException.Flatten().InnerExceptions ) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + } + catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null) + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + // Write exception out to error channel. + WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) ); + } + finally + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordEnd).Wait(); + } + } + + /// Performs execution of the command, working asynchronously if required. + /// + /// A that will be complete when handling of the method is completed. + /// + protected async global::System.Threading.Tasks.Task ProcessRecordAsync() + { + using( NoSynchronizationContext ) + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Billing.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName); + if (null != HttpPipelinePrepend) + { + Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend); + } + if (null != HttpPipelineAppend) + { + Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend); + } + // get the client instance + try + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + if (InputObject?.Id != null) + { + await this.Client.BillingSubscriptionsUpdateViaIdentity(InputObject.Id, _parametersBody, onOk, onDefault, this, Pipeline); + } + else + { + // try to call with PATH parameters from Input Object + if (null == InputObject.BillingAccountName) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.BillingAccountName"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + if (null == InputObject.SubscriptionId) + { + ThrowTerminatingError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception("InputObject has null value for InputObject.SubscriptionId"),string.Empty, global::System.Management.Automation.ErrorCategory.InvalidArgument, InputObject) ); + } + await this.Client.BillingSubscriptionsUpdate(InputObject.BillingAccountName ?? null, InputObject.SubscriptionId ?? null, _parametersBody, onOk, onDefault, this, Pipeline); + } + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; } + } + catch (Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.UndeclaredResponseException urexception) + { + WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody}) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action } + }); + } + finally + { + await ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.CmdletProcessRecordAsyncEnd); + } + } + } + + /// Interrupts currently running code within the command. + protected override void StopProcessing() + { + ((Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener)this).Cancel(); + base.StopProcessing(); + } + + /// + /// Intializes a new instance of the cmdlet class. + /// + public UpdateAzBillingSubscription_UpdateViaIdentityExpanded() + { + + } + + /// + /// a delegate that is called when the remote service returns default (any response code not handled elsewhere). + /// + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20180301Preview.IErrorResponse + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnDefault(responseMessage, response, ref _returnNow); + // if overrideOnDefault has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // Error Response : default + var code = (await response)?.Code; + var message = (await response)?.Message; + if ((null == code || null == message)) + { + // Unrecognized Response. Create an error record based on what we have. + var ex = new Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.RestException(responseMessage, await response); + WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action } + }); + } + else + { + WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { body=_parametersBody }) + { + ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty } + }); + } + } + } + + /// a delegate that is called when the remote service returns 200 (OK). + /// the raw response message as an global::System.Net.Http.HttpResponseMessage. + /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription + /// from the remote call + /// + /// A that will be complete when handling of the method is completed. + /// + private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response) + { + using( NoSynchronizationContext ) + { + var _returnNow = global::System.Threading.Tasks.Task.FromResult(false); + overrideOnOk(responseMessage, response, ref _returnNow); + // if overrideOnOk has returned true, then return right away. + if ((null != _returnNow && await _returnNow)) + { + return ; + } + // onOk - response for 200 / application/json + // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IBillingSubscription + WriteObject((await response)); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Accounts.format.ps1xml b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Accounts.format.ps1xml new file mode 100644 index 000000000000..ae0c12dd4efa --- /dev/null +++ b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Accounts.format.ps1xml @@ -0,0 +1,496 @@ + + + + + AzureErrorRecords + + Microsoft.Azure.Commands.Profile.Errors.AzureErrorRecord + Microsoft.Azure.Commands.Profile.Errors.AzureExceptionRecord + Microsoft.Azure.Commands.Profile.Errors.AzureRestExceptionRecord + + + + + + Microsoft.Azure.Commands.Profile.Errors.AzureRestExceptionRecord + + AzureErrorRecords + + + $_.InvocationInfo.HistoryId + + + + + + + + ErrorCategory + + + ErrorDetail + + + + "{" + $_.InvocationInfo.MyCommand + "}" + + + + $_.InvocationInfo.Line + + + + $_.InvocationInfo.PositionMessage + + + + $_.InvocationInfo.BoundParameters + + + + $_.InvocationInfo.UnboundParameters + + + + $_.InvocationInfo.HistoryId + + + + + + + AzureErrorRecords + $_.GetType() -eq [Microsoft.Azure.Commands.Profile.Errors.AzureRestExceptionRecord] + + + + + RequestId + + + Message + + + ServerMessage + + + ServerResponse + + + RequestMessage + + + + "{" + $_.InvocationInfo.MyCommand + "}" + + + + $_.InvocationInfo.Line + + + + $_.InvocationInfo.PositionMessage + + + StackTrace + + + + $_.InvocationInfo.HistoryId + + + + + + + AzureErrorRecords + $_.GetType() -eq [Microsoft.Azure.Commands.Profile.Errors.AzureExceptionRecord] + + + + + Message + + + StackTrace + + + + $_.Exception.GetType() + + + + "{" + $_.InvocationInfo.MyCommand + "}" + + + + $_.InvocationInfo.Line + + + + $_.InvocationInfo.PositionMessage + + + + $_.InvocationInfo.HistoryId + + + + + + + + Microsoft.Azure.Commands.Profile.CommonModule.PSAzureServiceProfile + + Microsoft.Azure.Commands.Profile.CommonModule.PSAzureServiceProfile + + + + + Left + + + + Left + + + + + + + + Left + Name + + + Left + Description + + + + + + + + Microsoft.Azure.Commands.Profile.Models.PSAccessToken + + Microsoft.Azure.Commands.Profile.Models.PSAccessToken + + + + + + + Token + + + ExpiresOn + + + Type + + + TenantId + + + UserId + + + + + + + + Microsoft.Azure.Commands.Profile.Models.PSAzureSubscriptionPolicy + + Microsoft.Azure.Commands.Profile.Models.PSAzureSubscriptionPolicy + + + + + Left + + + + Left + + + + Left + + + + + + + + Left + locationPlacementId + + + Left + QuotaId + + + Left + SpendingLimit + + + + + + + + Microsoft.Azure.Commands.Profile.Models.PSAzureRmAccount + + Microsoft.Azure.Commands.Profile.Models.PSAzureRmAccount + + + + + + + Id + + + Type + + + Tenants + + + Credential + + + TenantMap + + + CertificateThumbprint + + + + $_.ExtendedProperties.GetEnumerator() + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Accounts.generated.format.ps1xml b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Accounts.generated.format.ps1xml new file mode 100644 index 000000000000..a81dae94b4db --- /dev/null +++ b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Accounts.generated.format.ps1xml @@ -0,0 +1,468 @@ + + + + + Microsoft.Azure.Commands.Profile.Models.PSAzureEnvironment + + Microsoft.Azure.Commands.Profile.Models.PSAzureEnvironment + + + + + Left + + + + Left + + + + Left + + + + Left + + + + + + + + Left + Name + + + Left + ResourceManagerUrl + + + Left + ActiveDirectoryAuthority + + + Left + Type + + + + + + + + Microsoft.Azure.Commands.Profile.Models.PSAzureSubscription + + Microsoft.Azure.Commands.Profile.Models.PSAzureSubscription + + + + + Left + + + + Left + + + + Left + + + + Left + + + + + + + + Left + Name + + + Left + Id + + + Left + TenantId + + + Left + State + + + + + + + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureProfile + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureProfile + + + + + Left + + + + Left + + + + Left + + + + Left + + + + + + + + Left + $_.Context.Account.ToString() + + + Left + $_.Context.Subscription.Name + + + Left + $_.Context.Tenant.ToString() + + + Left + $_.Context.Environment.ToString() + + + + + + + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + + + 40 + Left + + + + Left + + + + Left + + + + Left + + + + Left + + + + + + + + Left + Name + + + Left + Account + + + Left + $_.Subscription.Name + + + Left + Environment + + + Left + $_.Tenant.ToString() + + + + + + + + Microsoft.Azure.Commands.Profile.Models.PSAzureTenant + + Microsoft.Azure.Commands.Profile.Models.PSAzureTenant + + + + + Left + + + + Left + + + + Left + + + + Left + + + + + + + + Left + Id + + + Left + $_.Name + + + Left + $_.TenantCategory + + + Left + $_.Domains + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Accounts.types.ps1xml b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Accounts.types.ps1xml new file mode 100644 index 000000000000..e3b670a7daff --- /dev/null +++ b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Accounts.types.ps1xml @@ -0,0 +1,303 @@ + + + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureProfile + + + PSStandardMembers + + + SerializationDepth + 10 + + + + + + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + PSStandardMembers + + + SerializationDepth + 10 + + + + + + + Microsoft.Azure.Commands.Common.Authentication.Core.AuthenticationStoreTokenCache + + + PSStandardMembers + + + SerializationMethod + SpecificProperties + + + PropertySerializationSet + + CacheData + + + + + + + + Microsoft.Azure.Commands.Common.Authentication.Core.ProtectedFileTokenCache + + + PSStandardMembers + + + SerializationMethod + SpecificProperties + + + PropertySerializationSet + + CacheData + + + + + + + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + PSStandardMembers + + + SerializationDepth + 10 + + + + + + Microsoft.Azure.Commands.Profile.Models.AzureContextConverter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Az.Accounts.nuspec b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Az.Accounts.nuspec new file mode 100644 index 000000000000..f664d888f3b8 --- /dev/null +++ b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Az.Accounts.nuspec @@ -0,0 +1,20 @@ + + + + Az.Accounts + 2.7.5 + Microsoft Corporation + Microsoft Corporation + true + https://aka.ms/azps-license + https://github.com/Azure/azure-powershell + Microsoft Azure PowerShell - Accounts credential management cmdlets for Azure Resource Manager in Windows PowerShell and PowerShell Core. + +For more information on account credential management, please visit the following: https://docs.microsoft.com/powershell/azure/authenticate-azureps + * Added 'SshCredentialFactory' to support get ssh credential of vm from msal. +* Fixed the bug of cmdlet fails when -DefaultProfile is set to service principal login context. [#16617] +* Fixed the issue that authorization does not work in Dogfood environment + Microsoft Corporation. All rights reserved. + Azure ResourceManager ARM Accounts Authentication Environment Subscription PSModule PSIncludes_Cmdlet PSCmdlet_Disable-AzDataCollection PSCmdlet_Disable-AzContextAutosave PSCmdlet_Enable-AzDataCollection PSCmdlet_Enable-AzContextAutosave PSCmdlet_Remove-AzEnvironment PSCmdlet_Get-AzEnvironment PSCmdlet_Set-AzEnvironment PSCmdlet_Add-AzEnvironment PSCmdlet_Get-AzSubscription PSCmdlet_Connect-AzAccount PSCmdlet_Get-AzContext PSCmdlet_Set-AzContext PSCmdlet_Import-AzContext PSCmdlet_Save-AzContext PSCmdlet_Get-AzTenant PSCmdlet_Send-Feedback PSCmdlet_Resolve-AzError PSCmdlet_Select-AzContext PSCmdlet_Rename-AzContext PSCmdlet_Remove-AzContext PSCmdlet_Clear-AzContext PSCmdlet_Disconnect-AzAccount PSCmdlet_Get-AzContextAutosaveSetting PSCmdlet_Set-AzDefault PSCmdlet_Get-AzDefault PSCmdlet_Clear-AzDefault PSCmdlet_Register-AzModule PSCmdlet_Enable-AzureRmAlias PSCmdlet_Disable-AzureRmAlias PSCmdlet_Uninstall-AzureRm PSCmdlet_Invoke-AzRestMethod PSCmdlet_Get-AzAccessToken PSCmdlet_Open-AzSurveyLink PSCommand_Disable-AzDataCollection PSCommand_Disable-AzContextAutosave PSCommand_Enable-AzDataCollection PSCommand_Enable-AzContextAutosave PSCommand_Remove-AzEnvironment PSCommand_Get-AzEnvironment PSCommand_Set-AzEnvironment PSCommand_Add-AzEnvironment PSCommand_Get-AzSubscription PSCommand_Connect-AzAccount PSCommand_Get-AzContext PSCommand_Set-AzContext PSCommand_Import-AzContext PSCommand_Save-AzContext PSCommand_Get-AzTenant PSCommand_Send-Feedback PSCommand_Resolve-AzError PSCommand_Select-AzContext PSCommand_Rename-AzContext PSCommand_Remove-AzContext PSCommand_Clear-AzContext PSCommand_Disconnect-AzAccount PSCommand_Get-AzContextAutosaveSetting PSCommand_Set-AzDefault PSCommand_Get-AzDefault PSCommand_Clear-AzDefault PSCommand_Register-AzModule PSCommand_Enable-AzureRmAlias PSCommand_Disable-AzureRmAlias PSCommand_Uninstall-AzureRm PSCommand_Invoke-AzRestMethod PSCommand_Get-AzAccessToken PSCommand_Open-AzSurveyLink PSCommand_Add-AzAccount PSCommand_Login-AzAccount PSCommand_Remove-AzAccount PSCommand_Logout-AzAccount PSCommand_Select-AzSubscription PSCommand_Resolve-Error PSCommand_Save-AzProfile PSCommand_Get-AzDomain PSCommand_Invoke-AzRest + + \ No newline at end of file diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Az.Accounts.psd1 b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Az.Accounts.psd1 new file mode 100644 index 000000000000..5597a247fce7 --- /dev/null +++ b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Az.Accounts.psd1 @@ -0,0 +1,387 @@ +# +# Module manifest for module 'Az.Accounts' +# +# Generated by: Microsoft Corporation +# +# Generated on: 3/31/2022 +# + +@{ + +# Script module or binary module file associated with this manifest. +RootModule = 'Az.Accounts.psm1' + +# Version number of this module. +ModuleVersion = '2.7.5' + +# Supported PSEditions +CompatiblePSEditions = 'Core', 'Desktop' + +# ID used to uniquely identify this module +GUID = '17a2feff-488b-47f9-8729-e2cec094624c' + +# Author of this module +Author = 'Microsoft Corporation' + +# Company or vendor of this module +CompanyName = 'Microsoft Corporation' + +# Copyright statement for this module +Copyright = 'Microsoft Corporation. All rights reserved.' + +# Description of the functionality provided by this module +Description = 'Microsoft Azure PowerShell - Accounts credential management cmdlets for Azure Resource Manager in Windows PowerShell and PowerShell Core. + +For more information on account credential management, please visit the following: https://docs.microsoft.com/powershell/azure/authenticate-azureps' + +# Minimum version of the PowerShell engine required by this module +PowerShellVersion = '5.1' + +# Name of the PowerShell host required by this module +# PowerShellHostName = '' + +# Minimum version of the PowerShell host required by this module +# PowerShellHostVersion = '' + +# Minimum version of Microsoft .NET Framework required by this module. This prerequisite is valid for the PowerShell Desktop edition only. +DotNetFrameworkVersion = '4.7.2' + +# Minimum version of the common language runtime (CLR) required by this module. This prerequisite is valid for the PowerShell Desktop edition only. +# ClrVersion = '' + +# Processor architecture (None, X86, Amd64) required by this module +# ProcessorArchitecture = '' + +# Modules that must be imported into the global environment prior to importing this module +# RequiredModules = @() + +# Assemblies that must be loaded prior to importing this module +RequiredAssemblies = 'Microsoft.Azure.PowerShell.Authentication.Abstractions.dll', + 'Microsoft.Azure.PowerShell.Authentication.dll', + 'Microsoft.Azure.PowerShell.Authenticators.dll', + 'Microsoft.Azure.PowerShell.Authentication.ResourceManager.dll', + 'Microsoft.Azure.PowerShell.Clients.Authorization.dll', + 'Microsoft.Azure.PowerShell.Clients.Compute.dll', + 'Microsoft.Azure.PowerShell.Clients.Graph.Rbac.dll', + 'Microsoft.Azure.PowerShell.Clients.Monitor.dll', + 'Microsoft.Azure.PowerShell.Clients.Network.dll', + 'Microsoft.Azure.PowerShell.Clients.PolicyInsights.dll', + 'Microsoft.Azure.PowerShell.Clients.ResourceManager.dll', + 'Microsoft.Azure.PowerShell.Common.dll', + 'Microsoft.Azure.PowerShell.Storage.dll', + 'Microsoft.Azure.PowerShell.Clients.Storage.Management.dll', + 'Microsoft.Azure.PowerShell.Clients.KeyVault.dll', + 'Microsoft.Azure.PowerShell.Clients.Websites.dll', + 'Hyak.Common.dll', 'Microsoft.ApplicationInsights.dll', + 'Microsoft.Azure.Common.dll', 'Microsoft.Rest.ClientRuntime.dll', + 'Microsoft.Rest.ClientRuntime.Azure.dll', + 'Microsoft.WindowsAzure.Storage.dll', + 'Microsoft.WindowsAzure.Storage.DataMovement.dll', + 'Microsoft.Azure.PowerShell.Clients.Aks.dll', + 'Microsoft.Azure.PowerShell.Strategies.dll', + 'Microsoft.Azure.PowerShell.Common.Share.dll' + +# Script files (.ps1) that are run in the caller's environment prior to importing this module. +# ScriptsToProcess = @() + +# Type files (.ps1xml) to be loaded when importing this module +# TypesToProcess = @() + +# Format files (.ps1xml) to be loaded when importing this module +FormatsToProcess = 'Accounts.format.ps1xml', 'Accounts.generated.format.ps1xml' + +# Modules to import as nested modules of the module specified in RootModule/ModuleToProcess +NestedModules = @() + +# Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export. +FunctionsToExport = @() + +# Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export. +CmdletsToExport = 'Disable-AzDataCollection', 'Disable-AzContextAutosave', + 'Enable-AzDataCollection', 'Enable-AzContextAutosave', + 'Remove-AzEnvironment', 'Get-AzEnvironment', 'Set-AzEnvironment', + 'Add-AzEnvironment', 'Get-AzSubscription', 'Connect-AzAccount', + 'Get-AzContext', 'Set-AzContext', 'Import-AzContext', 'Save-AzContext', + 'Get-AzTenant', 'Send-Feedback', 'Resolve-AzError', 'Select-AzContext', + 'Rename-AzContext', 'Remove-AzContext', 'Clear-AzContext', + 'Disconnect-AzAccount', 'Get-AzContextAutosaveSetting', + 'Set-AzDefault', 'Get-AzDefault', 'Clear-AzDefault', + 'Register-AzModule', 'Enable-AzureRmAlias', 'Disable-AzureRmAlias', + 'Uninstall-AzureRm', 'Invoke-AzRestMethod', 'Get-AzAccessToken', + 'Open-AzSurveyLink' + +# Variables to export from this module +# VariablesToExport = @() + +# Aliases to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no aliases to export. +AliasesToExport = 'Add-AzAccount', 'Login-AzAccount', 'Remove-AzAccount', + 'Logout-AzAccount', 'Select-AzSubscription', 'Resolve-Error', + 'Save-AzProfile', 'Get-AzDomain', 'Invoke-AzRest' + +# DSC resources to export from this module +# DscResourcesToExport = @() + +# List of all modules packaged with this module +# ModuleList = @() + +# List of all files packaged with this module +# FileList = @() + +# Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell. +PrivateData = @{ + + PSData = @{ + + # Tags applied to this module. These help with module discovery in online galleries. + Tags = 'Azure','ResourceManager','ARM','Accounts','Authentication','Environment','Subscription' + + # A URL to the license for this module. + LicenseUri = 'https://aka.ms/azps-license' + + # A URL to the main website for this project. + ProjectUri = 'https://github.com/Azure/azure-powershell' + + # A URL to an icon representing this module. + # IconUri = '' + + # ReleaseNotes of this module + ReleaseNotes = '* Added ''SshCredentialFactory'' to support get ssh credential of vm from msal. +* Fixed the bug of cmdlet fails when -DefaultProfile is set to service principal login context. [#16617] +* Fixed the issue that authorization does not work in Dogfood environment' + + # Prerelease string of this module + # Prerelease = '' + + # Flag to indicate whether the module requires explicit user acceptance for install/update/save + # RequireLicenseAcceptance = $false + + # External dependent modules of this module + # ExternalModuleDependencies = @() + + } # End of PSData hashtable + + } # End of PrivateData hashtable + +# HelpInfo URI of this module +# HelpInfoURI = '' + +# Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix. +# DefaultCommandPrefix = '' + +} + + +# SIG # Begin signature block +# MIInoQYJKoZIhvcNAQcCoIInkjCCJ44CAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBfih7Yjug0H4t7 +# yWl+P37e8ytBZAxLWrUP62/jyADYPKCCDYEwggX/MIID56ADAgECAhMzAAACUosz +# qviV8znbAAAAAAJSMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p +# bmcgUENBIDIwMTEwHhcNMjEwOTAyMTgzMjU5WhcNMjIwOTAxMTgzMjU5WjB0MQsw +# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u +# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +# AQDQ5M+Ps/X7BNuv5B/0I6uoDwj0NJOo1KrVQqO7ggRXccklyTrWL4xMShjIou2I +# sbYnF67wXzVAq5Om4oe+LfzSDOzjcb6ms00gBo0OQaqwQ1BijyJ7NvDf80I1fW9O +# L76Kt0Wpc2zrGhzcHdb7upPrvxvSNNUvxK3sgw7YTt31410vpEp8yfBEl/hd8ZzA +# v47DCgJ5j1zm295s1RVZHNp6MoiQFVOECm4AwK2l28i+YER1JO4IplTH44uvzX9o +# RnJHaMvWzZEpozPy4jNO2DDqbcNs4zh7AWMhE1PWFVA+CHI/En5nASvCvLmuR/t8 +# q4bc8XR8QIZJQSp+2U6m2ldNAgMBAAGjggF+MIIBejAfBgNVHSUEGDAWBgorBgEE +# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUNZJaEUGL2Guwt7ZOAu4efEYXedEw +# UAYDVR0RBEkwR6RFMEMxKTAnBgNVBAsTIE1pY3Jvc29mdCBPcGVyYXRpb25zIFB1 +# ZXJ0byBSaWNvMRYwFAYDVQQFEw0yMzAwMTIrNDY3NTk3MB8GA1UdIwQYMBaAFEhu +# ZOVQBdOCqhc3NyK1bajKdQKVMFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly93d3cu +# bWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY0NvZFNpZ1BDQTIwMTFfMjAxMS0w +# Ny0wOC5jcmwwYQYIKwYBBQUHAQEEVTBTMFEGCCsGAQUFBzAChkVodHRwOi8vd3d3 +# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY0NvZFNpZ1BDQTIwMTFfMjAx +# MS0wNy0wOC5jcnQwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAgEAFkk3 +# uSxkTEBh1NtAl7BivIEsAWdgX1qZ+EdZMYbQKasY6IhSLXRMxF1B3OKdR9K/kccp +# kvNcGl8D7YyYS4mhCUMBR+VLrg3f8PUj38A9V5aiY2/Jok7WZFOAmjPRNNGnyeg7 +# l0lTiThFqE+2aOs6+heegqAdelGgNJKRHLWRuhGKuLIw5lkgx9Ky+QvZrn/Ddi8u +# TIgWKp+MGG8xY6PBvvjgt9jQShlnPrZ3UY8Bvwy6rynhXBaV0V0TTL0gEx7eh/K1 +# o8Miaru6s/7FyqOLeUS4vTHh9TgBL5DtxCYurXbSBVtL1Fj44+Od/6cmC9mmvrti +# yG709Y3Rd3YdJj2f3GJq7Y7KdWq0QYhatKhBeg4fxjhg0yut2g6aM1mxjNPrE48z +# 6HWCNGu9gMK5ZudldRw4a45Z06Aoktof0CqOyTErvq0YjoE4Xpa0+87T/PVUXNqf +# 7Y+qSU7+9LtLQuMYR4w3cSPjuNusvLf9gBnch5RqM7kaDtYWDgLyB42EfsxeMqwK +# WwA+TVi0HrWRqfSx2olbE56hJcEkMjOSKz3sRuupFCX3UroyYf52L+2iVTrda8XW +# esPG62Mnn3T8AuLfzeJFuAbfOSERx7IFZO92UPoXE1uEjL5skl1yTZB3MubgOA4F +# 8KoRNhviFAEST+nG8c8uIsbZeb08SeYQMqjVEmkwggd6MIIFYqADAgECAgphDpDS +# AAAAAAADMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMK +# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0 +# IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0 +# ZSBBdXRob3JpdHkgMjAxMTAeFw0xMTA3MDgyMDU5MDlaFw0yNjA3MDgyMTA5MDla +# MH4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS +# ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMT +# H01pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTEwggIiMA0GCSqGSIb3DQEB +# AQUAA4ICDwAwggIKAoICAQCr8PpyEBwurdhuqoIQTTS68rZYIZ9CGypr6VpQqrgG +# OBoESbp/wwwe3TdrxhLYC/A4wpkGsMg51QEUMULTiQ15ZId+lGAkbK+eSZzpaF7S +# 35tTsgosw6/ZqSuuegmv15ZZymAaBelmdugyUiYSL+erCFDPs0S3XdjELgN1q2jz +# y23zOlyhFvRGuuA4ZKxuZDV4pqBjDy3TQJP4494HDdVceaVJKecNvqATd76UPe/7 +# 4ytaEB9NViiienLgEjq3SV7Y7e1DkYPZe7J7hhvZPrGMXeiJT4Qa8qEvWeSQOy2u +# M1jFtz7+MtOzAz2xsq+SOH7SnYAs9U5WkSE1JcM5bmR/U7qcD60ZI4TL9LoDho33 +# X/DQUr+MlIe8wCF0JV8YKLbMJyg4JZg5SjbPfLGSrhwjp6lm7GEfauEoSZ1fiOIl +# XdMhSz5SxLVXPyQD8NF6Wy/VI+NwXQ9RRnez+ADhvKwCgl/bwBWzvRvUVUvnOaEP +# 6SNJvBi4RHxF5MHDcnrgcuck379GmcXvwhxX24ON7E1JMKerjt/sW5+v/N2wZuLB +# l4F77dbtS+dJKacTKKanfWeA5opieF+yL4TXV5xcv3coKPHtbcMojyyPQDdPweGF +# RInECUzF1KVDL3SV9274eCBYLBNdYJWaPk8zhNqwiBfenk70lrC8RqBsmNLg1oiM +# CwIDAQABo4IB7TCCAekwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFEhuZOVQ +# BdOCqhc3NyK1bajKdQKVMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1Ud +# DwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFHItOgIxkEO5FAVO +# 4eqnxzHRI4k0MFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwubWljcm9zb2Z0 +# LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y +# Mi5jcmwwXgYIKwYBBQUHAQEEUjBQME4GCCsGAQUFBzAChkJodHRwOi8vd3d3Lm1p +# Y3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y +# Mi5jcnQwgZ8GA1UdIASBlzCBlDCBkQYJKwYBBAGCNy4DMIGDMD8GCCsGAQUFBwIB +# FjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2RvY3MvcHJpbWFyeWNw +# cy5odG0wQAYIKwYBBQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AcABvAGwAaQBjAHkA +# XwBzAHQAYQB0AGUAbQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQADggIBAGfyhqWY +# 4FR5Gi7T2HRnIpsLlhHhY5KZQpZ90nkMkMFlXy4sPvjDctFtg/6+P+gKyju/R6mj +# 82nbY78iNaWXXWWEkH2LRlBV2AySfNIaSxzzPEKLUtCw/WvjPgcuKZvmPRul1LUd +# d5Q54ulkyUQ9eHoj8xN9ppB0g430yyYCRirCihC7pKkFDJvtaPpoLpWgKj8qa1hJ +# Yx8JaW5amJbkg/TAj/NGK978O9C9Ne9uJa7lryft0N3zDq+ZKJeYTQ49C/IIidYf +# wzIY4vDFLc5bnrRJOQrGCsLGra7lstnbFYhRRVg4MnEnGn+x9Cf43iw6IGmYslmJ +# aG5vp7d0w0AFBqYBKig+gj8TTWYLwLNN9eGPfxxvFX1Fp3blQCplo8NdUmKGwx1j +# NpeG39rz+PIWoZon4c2ll9DuXWNB41sHnIc+BncG0QaxdR8UvmFhtfDcxhsEvt9B +# xw4o7t5lL+yX9qFcltgA1qFGvVnzl6UJS0gQmYAf0AApxbGbpT9Fdx41xtKiop96 +# eiL6SJUfq/tHI4D1nvi/a7dLl+LrdXga7Oo3mXkYS//WsyNodeav+vyL6wuA6mk7 +# r/ww7QRMjt/fdW1jkT3RnVZOT7+AVyKheBEyIXrvQQqxP/uozKRdwaGIm1dxVk5I +# RcBCyZt2WwqASGv9eZ/BvW1taslScxMNelDNMYIZdjCCGXICAQEwgZUwfjELMAkG +# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEoMCYGA1UEAxMfTWljcm9z +# b2Z0IENvZGUgU2lnbmluZyBQQ0EgMjAxMQITMwAAAlKLM6r4lfM52wAAAAACUjAN +# BglghkgBZQMEAgEFAKCBrjAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgor +# BgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQgXA6GKgxI +# VhLOuEe05JK0ofRRaS3Iixk8S4yAEDyheGcwQgYKKwYBBAGCNwIBDDE0MDKgFIAS +# AE0AaQBjAHIAbwBzAG8AZgB0oRqAGGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbTAN +# BgkqhkiG9w0BAQEFAASCAQCk7+MONSYp7vxlpfSvtfVGPGdZ5LuxWlb4eimh/TgO +# qAAMDghpYUB8mFe46dAf/OoVHrcxhCfAof+aWlMkEqZTwIZ6p0XsXZ72jDLDFLgf +# WJNQ605jndPQx7/b3tDvqqI1sCHz4CvYnqiQn4/JpHjiE4321HRDFjhWv1lhTpMx +# Xaifyrvwc1OwLcSqMrEPSShevbYOH54J0MG+qI+t+AQ9D/WQdL/5HBJZ8PDZ2n9b +# I4FxGwm0aeTSnAiV602r8db+jebwv/5ypKfkok4IzN9qdQY1y3jXdP9MfEK2nCod +# Mbuby8eakQsarqZJovnvBOsZANYE8UafuSbYMQtJaEtnoYIXADCCFvwGCisGAQQB +# gjcDAwExghbsMIIW6AYJKoZIhvcNAQcCoIIW2TCCFtUCAQMxDzANBglghkgBZQME +# AgEFADCCAVEGCyqGSIb3DQEJEAEEoIIBQASCATwwggE4AgEBBgorBgEEAYRZCgMB +# MDEwDQYJYIZIAWUDBAIBBQAEIPieBDiQ8jeOJOjc2VK1Wl36ph7izu7GPD9rSN/j +# BxeOAgZiFm2JbrQYEzIwMjIwMzMxMTAyMDU2LjYzNlowBIACAfSggdCkgc0wgcox +# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt +# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJTAjBgNVBAsTHE1p +# Y3Jvc29mdCBBbWVyaWNhIE9wZXJhdGlvbnMxJjAkBgNVBAsTHVRoYWxlcyBUU1Mg +# RVNOOjEyQkMtRTNBRS03NEVCMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFt +# cCBTZXJ2aWNloIIRVzCCBwwwggT0oAMCAQICEzMAAAGhAYVVmblUXYoAAQAAAaEw +# DQYJKoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0 +# b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh +# dGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwHhcN +# MjExMjAyMTkwNTI0WhcNMjMwMjI4MTkwNTI0WjCByjELMAkGA1UEBhMCVVMxEzAR +# BgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1p +# Y3Jvc29mdCBDb3Jwb3JhdGlvbjElMCMGA1UECxMcTWljcm9zb2Z0IEFtZXJpY2Eg +# T3BlcmF0aW9uczEmMCQGA1UECxMdVGhhbGVzIFRTUyBFU046MTJCQy1FM0FFLTc0 +# RUIxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2UwggIiMA0G +# CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDayTxe5WukkrYxxVuHLYW9BEWCD9kk +# jnnHsOKwGddIPbZlLY+l5ovLDNf+BEMQKAZQI3DX91l1yCDuP9X7tOPC48ZRGXA/ +# bf9ql0FK5438gIl7cV528XeEOFwc/A+UbIUfW296Omg8Z62xaQv3jrG4U/priArF +# /er1UA1HNuIGUyqjlygiSPwK2NnFApi1JD+Uef5c47kh7pW1Kj7RnchpFeY9MekP +# QRia7cEaUYU4sqCiJVdDJpefLvPT9EdthlQx75ldx+AwZf2a9T7uQRSBh8tpxPdI +# DDkKiWMwjKTrAY09A3I/jidqPuc8PvX+sqxqyZEN2h4GA0Edjmk64nkIukAK18K5 +# nALDLO9SMTxpAwQIHRDtZeTClvAPCEoy1vtPD7f+eqHqStuu+XCkfRjXEpX9+h9f +# rsB0/BgD5CBf3ELLAa8TefMfHZWEJRTPNrbXMKizSrUSkVv/3HP/ZsJpwaz5My2R +# byc3Ah9bT76eBJkyfT5FN9v/KQ0HnxhRMs6HHhTmNx+LztYci+vHf0D3QH1eCjZW +# ZRjp1mOyxpPU2mDMG6gelvJse1JzRADo7YIok/J3Ccbm8MbBbm85iogFltFHecHF +# EFwrsDGBFnNYHMhcbarQNA+gY2e2l9fAkX3MjI7Uklkoz74/P6KIqe5jcd9FPCbb +# SbYH9OLsteeYOQIDAQABo4IBNjCCATIwHQYDVR0OBBYEFBa/IDLbY475VQyKiZSw +# 47l0/cypMB8GA1UdIwQYMBaAFJ+nFV0AXmJdg/Tl0mWnG1M1GelyMF8GA1UdHwRY +# MFYwVKBSoFCGTmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01p +# Y3Jvc29mdCUyMFRpbWUtU3RhbXAlMjBQQ0ElMjAyMDEwKDEpLmNybDBsBggrBgEF +# BQcBAQRgMF4wXAYIKwYBBQUHMAKGUGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9w +# a2lvcHMvY2VydHMvTWljcm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUyMDIwMTAo +# MSkuY3J0MAwGA1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwgwDQYJKoZI +# hvcNAQELBQADggIBACDDIxElfXlG5YKcKrLPSS+f3JWZprwKEiASvivaHTBRlXtA +# s+TkadcsEei+9w5vmF5tCUzTH4c0nCI7bZxnsL+S6XsiOs3Z1V4WX+IwoXUJ4zLv +# s0+mT4vjGDtYfKQ/bsmJKar2c99m/fHv1Wm2CTcyaePvi86Jh3UyLjdRILWbtzs4 +# oImFMwwKbzHdPopxrBhgi+C1YZshosWLlgzyuxjUl+qNg1m52MJmf11loI7D9HJo +# aQzd+rf928Y8rvULmg2h/G50o+D0UJ1Fa/cJJaHfB3sfKw9X6GrtXYGjmM3+g+Ah +# aVsfupKXNtOFu5tnLKvAH5OIjEDYV1YKmlXuBuhbYassygPFMmNgG2Ank3drEcDc +# ZhCXXqpRszNo1F6Gu5JCpQZXbOJM9Ue5PlJKtmImAYIGsw+pnHy/r5ggSYOp4g5Z +# 1oU9GhVCM3V0T9adee6OUXBk1rE4dZc/UsPlj0qoiljL+lN1A5gkmmz7k5tIObVG +# B7dJdz8J0FwXRE5qYu1AdvauVbZwGQkL1x8aK/svjEQW0NUyJ29znDHiXl5vLoRT +# jjFpshUBi2+IY+mNqbLmj24j5eT+bjDlE3HmNtLPpLcMDYqZ1H+6U6YmaiNmac2j +# RXDAaeEE/uoDMt2dArfJP7M+MDv3zzNNTINeuNEtDVgm9zwfgIUCXnDZuVtiMIIH +# cTCCBVmgAwIBAgITMwAAABXF52ueAptJmQAAAAAAFTANBgkqhkiG9w0BAQsFADCB +# iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1Jl +# ZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMp +# TWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTAwHhcNMjEw +# OTMwMTgyMjI1WhcNMzAwOTMwMTgzMjI1WjB8MQswCQYDVQQGEwJVUzETMBEGA1UE +# CBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9z +# b2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQ +# Q0EgMjAxMDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAOThpkzntHIh +# C3miy9ckeb0O1YLT/e6cBwfSqWxOdcjKNVf2AX9sSuDivbk+F2Az/1xPx2b3lVNx +# WuJ+Slr+uDZnhUYjDLWNE893MsAQGOhgfWpSg0S3po5GawcU88V29YZQ3MFEyHFc +# UTE3oAo4bo3t1w/YJlN8OWECesSq/XJprx2rrPY2vjUmZNqYO7oaezOtgFt+jBAc +# nVL+tuhiJdxqD89d9P6OU8/W7IVWTe/dvI2k45GPsjksUZzpcGkNyjYtcI4xyDUo +# veO0hyTD4MmPfrVUj9z6BVWYbWg7mka97aSueik3rMvrg0XnRm7KMtXAhjBcTyzi +# YrLNueKNiOSWrAFKu75xqRdbZ2De+JKRHh09/SDPc31BmkZ1zcRfNN0Sidb9pSB9 +# fvzZnkXftnIv231fgLrbqn427DZM9ituqBJR6L8FA6PRc6ZNN3SUHDSCD/AQ8rdH +# GO2n6Jl8P0zbr17C89XYcz1DTsEzOUyOArxCaC4Q6oRRRuLRvWoYWmEBc8pnol7X +# KHYC4jMYctenIPDC+hIK12NvDMk2ZItboKaDIV1fMHSRlJTYuVD5C4lh8zYGNRiE +# R9vcG9H9stQcxWv2XFJRXRLbJbqvUAV6bMURHXLvjflSxIUXk8A8FdsaN8cIFRg/ +# eKtFtvUeh17aj54WcmnGrnu3tz5q4i6tAgMBAAGjggHdMIIB2TASBgkrBgEEAYI3 +# FQEEBQIDAQABMCMGCSsGAQQBgjcVAgQWBBQqp1L+ZMSavoKRPEY1Kc8Q/y8E7jAd +# BgNVHQ4EFgQUn6cVXQBeYl2D9OXSZacbUzUZ6XIwXAYDVR0gBFUwUzBRBgwrBgEE +# AYI3TIN9AQEwQTA/BggrBgEFBQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29t +# L3BraW9wcy9Eb2NzL1JlcG9zaXRvcnkuaHRtMBMGA1UdJQQMMAoGCCsGAQUFBwMI +# MBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIBhjAPBgNVHRMB +# Af8EBTADAQH/MB8GA1UdIwQYMBaAFNX2VsuP6KJcYmjRPZSQW9fOmhjEMFYGA1Ud +# HwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3By +# b2R1Y3RzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNybDBaBggrBgEFBQcBAQRO +# MEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2Vy +# dHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYtMjMuY3J0MA0GCSqGSIb3DQEBCwUAA4IC +# AQCdVX38Kq3hLB9nATEkW+Geckv8qW/qXBS2Pk5HZHixBpOXPTEztTnXwnE2P9pk +# bHzQdTltuw8x5MKP+2zRoZQYIu7pZmc6U03dmLq2HnjYNi6cqYJWAAOwBb6J6Gng +# ugnue99qb74py27YP0h1AdkY3m2CDPVtI1TkeFN1JFe53Z/zjj3G82jfZfakVqr3 +# lbYoVSfQJL1AoL8ZthISEV09J+BAljis9/kpicO8F7BUhUKz/AyeixmJ5/ALaoHC +# gRlCGVJ1ijbCHcNhcy4sa3tuPywJeBTpkbKpW99Jo3QMvOyRgNI95ko+ZjtPu4b6 +# MhrZlvSP9pEB9s7GdP32THJvEKt1MMU0sHrYUP4KWN1APMdUbZ1jdEgssU5HLcEU +# BHG/ZPkkvnNtyo4JvbMBV0lUZNlz138eW0QBjloZkWsNn6Qo3GcZKCS6OEuabvsh +# VGtqRRFHqfG3rsjoiV5PndLQTHa1V1QJsWkBRH58oWFsc/4Ku+xBZj1p/cvBQUl+ +# fpO+y/g75LcVv7TOPqUxUYS8vwLBgqJ7Fx0ViY1w/ue10CgaiQuPNtq6TPmb/wrp +# NPgkNWcr4A245oyZ1uEi6vAnQj0llOZ0dFtq0Z4+7X6gMTN9vMvpe784cETRkPHI +# qzqKOghif9lwY1NNje6CbaUFEMFxBmoQtB1VM1izoXBm8qGCAs4wggI3AgEBMIH4 +# oYHQpIHNMIHKMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4G +# A1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSUw +# IwYDVQQLExxNaWNyb3NvZnQgQW1lcmljYSBPcGVyYXRpb25zMSYwJAYDVQQLEx1U +# aGFsZXMgVFNTIEVTTjoxMkJDLUUzQUUtNzRFQjElMCMGA1UEAxMcTWljcm9zb2Z0 +# IFRpbWUtU3RhbXAgU2VydmljZaIjCgEBMAcGBSsOAwIaAxUAG3F2jO4LEMVLwgKG +# XdYMN4FBgOCggYMwgYCkfjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGlu +# Z3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv +# cmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDAN +# BgkqhkiG9w0BAQUFAAIFAOXvuD8wIhgPMjAyMjAzMzExMzE4NTVaGA8yMDIyMDQw +# MTEzMTg1NVowdzA9BgorBgEEAYRZCgQBMS8wLTAKAgUA5e+4PwIBADAKAgEAAgIP +# IwIB/zAHAgEAAgIRnzAKAgUA5fEJvwIBADA2BgorBgEEAYRZCgQCMSgwJjAMBgor +# BgEEAYRZCgMCoAowCAIBAAIDB6EgoQowCAIBAAIDAYagMA0GCSqGSIb3DQEBBQUA +# A4GBANc53MLryLt1FD+jkakQydkemUps4QiN8HJxJ36VPuc2XRhvcn0Fhp1Pi8Hk +# gg08sFJoJ2vT/9g5J39zdjQpnbNGMkfmEi+qT6hbGq0ta5rnt1wDG2pVMuMn7N2Q +# 8CytKi6ZynWVbiCNuQtxsuwdgM7bRwcf510Wwp7iQUeNjJZzMYIEDTCCBAkCAQEw +# gZMwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcT +# B1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UE +# AxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTACEzMAAAGhAYVVmblUXYoA +# AQAAAaEwDQYJYIZIAWUDBAIBBQCgggFKMBoGCSqGSIb3DQEJAzENBgsqhkiG9w0B +# CRABBDAvBgkqhkiG9w0BCQQxIgQg7aLPwq2FhUC9oleuUeRc4uk9d+4UFLvls0ps +# 5tQU14wwgfoGCyqGSIb3DQEJEAIvMYHqMIHnMIHkMIG9BCDrCFTxOoGCaCCCjoRy +# Be1JSQrMJeCCTyErziiJ347QhDCBmDCBgKR+MHwxCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1w +# IFBDQSAyMDEwAhMzAAABoQGFVZm5VF2KAAEAAAGhMCIEIOKn52EgS+EFhqx/FxY8 +# xYD6qqUYqtVZ3iZ47g3sjJRaMA0GCSqGSIb3DQEBCwUABIICACJi4QGIi9yhn8uf +# NlWbdGQNP0UkTWxJRMnAe4eQUYbcHoOxPxguwy7r8VfTZOdKBxfy7/LKo5XGmAo2 +# hmZSsLHjtT0zzkZti2AFeCRmZ8DMVaGfR9sWBr0OwlRS3HMDigpWyI5jP/tD529k +# jh0/BYwKg2TGRk6ZmdFWXuQf0lVb/LytEUyFbziq4hoxhKc4IQ3oCcOm1xaVZzbe +# SgzPg3j4QfHAucYgfxJoIUP1lKTRclmUc2ERYmHchaUxeYIdiDHx5lpEdNsh0acm +# LgV307ncxLeN1Ih2E6By+Dknm8OppqVYOSvcjcjqHY+fU7ci/FuvyUVDQv6xe2ZS +# K6qCMCrPWtoOlE3ms+LE5kHVQ1JOs0v7mVVP8xfO+fkArk3RuUl/1gaGxi5Ljheg +# l+51jV5PMM4Vha9KoWfU2306ZLt/I1Rftq1sCOD5ysLnhTQuInQMRpfXlY/rvTPu +# 9jzQ4q4Ty7WPp004gh+9hLIm0s0nmZmM8jyTRUFrK1SfHglBOKgdrcuJfmEuPKxL +# foRg/LzuUjcXvdtO3oozIaVWsTxGx6laY2DkMPnqYaj/oBwla86bNyQT94YTTGWq +# 3mCwt0/H4E3Mn1OXLVIGO3NrzZwTFFN2uqRmcTQ0AKiXU3ar4b8F/ykpQOvTV6x/ +# U7Jz/JaISbEvO3mUarzheUPqVmWq +# SIG # End signature block diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Az.Accounts.psm1 b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Az.Accounts.psm1 new file mode 100644 index 000000000000..67107181add7 --- /dev/null +++ b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Az.Accounts.psm1 @@ -0,0 +1,375 @@ +# +# Script module for module 'Az.Accounts' that is executed when 'Az.Accounts' is imported in a PowerShell session. +# +# Generated by: Microsoft Corporation +# +# Generated on: 03/31/2022 09:26:49 +# + +$PSDefaultParameterValues.Clear() +Set-StrictMode -Version Latest + +function Test-DotNet +{ + try + { + if ((Get-PSDrive 'HKLM' -ErrorAction Ignore) -and (-not (Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\' -ErrorAction Stop | Get-ItemPropertyValue -ErrorAction Stop -Name Release | Where-Object { $_ -ge 461808 }))) + { + throw ".NET Framework versions lower than 4.7.2 are not supported in Az. Please upgrade to .NET Framework 4.7.2 or higher." + } + } + catch [System.Management.Automation.DriveNotFoundException] + { + Write-Verbose ".NET Framework version check failed." + } +} + +function Preload-Assembly { + param ( + [string] + $AssemblyDirectory + ) + if($PSEdition -eq 'Desktop' -and (Test-Path $AssemblyDirectory -ErrorAction Ignore)) + { + try + { + Get-ChildItem -ErrorAction Stop -Path $AssemblyDirectory -Filter "*.dll" | ForEach-Object { + try + { + Add-Type -Path $_.FullName -ErrorAction Ignore | Out-Null + } + catch { + Write-Verbose $_ + } + } + } + catch {} + } +} + +if ($true -and ($PSEdition -eq 'Desktop')) +{ + if ($PSVersionTable.PSVersion -lt [Version]'5.1') + { + throw "PowerShell versions lower than 5.1 are not supported in Az. Please upgrade to PowerShell 5.1 or higher." + } + + Test-DotNet +} + +if ($true -and ($PSEdition -eq 'Core')) +{ + if ($PSVersionTable.PSVersion -lt [Version]'6.2.4') + { + throw "Current Az version doesn't support PowerShell Core versions lower than 6.2.4. Please upgrade to PowerShell Core 6.2.4 or higher." + } + if ($PSVersionTable.PSVersion -lt [Version]'7.0.6') + { + Write-Warning "This version of Az.Accounts is only supported on Windows PowerShell 5.1 and PowerShell 7.0.6 or greater, open https://aka.ms/install-powershell to learn how to upgrade. For further information, go to https://aka.ms/azpslifecycle." + } +} + +if (Test-Path -Path "$PSScriptRoot\StartupScripts" -ErrorAction Ignore) +{ + Get-ChildItem "$PSScriptRoot\StartupScripts" -ErrorAction Stop | ForEach-Object { + . $_.FullName + } +} + +if (Get-Module AzureRM.profile -ErrorAction Ignore) +{ + Write-Warning ("AzureRM.Profile already loaded. Az and AzureRM modules cannot be imported in the same session or used in the same script or runbook. If you are running PowerShell in an environment you control you can use the 'Uninstall-AzureRm' cmdlet to remove all AzureRm modules from your machine. " + + "If you are running in Azure Automation, take care that none of your runbooks import both Az and AzureRM modules. More information can be found here: https://aka.ms/azps-migration-guide.") + throw ("AzureRM.Profile already loaded. Az and AzureRM modules cannot be imported in the same session or used in the same script or runbook. If you are running PowerShell in an environment you control you can use the 'Uninstall-AzureRm' cmdlet to remove all AzureRm modules from your machine. " + + "If you are running in Azure Automation, take care that none of your runbooks import both Az and AzureRM modules. More information can be found here: https://aka.ms/azps-migration-guide.") +} + +$preloadPath = (Join-Path $PSScriptRoot -ChildPath "PreloadAssemblies") +Preload-Assembly -AssemblyDirectory $preloadPath +$preloadPath = (Join-Path $PSScriptRoot -ChildPath "ModuleAlcAssemblies") +Preload-Assembly -AssemblyDirectory $preloadPath + +$netCorePath = (Join-Path $PSScriptRoot -ChildPath "NetCoreAssemblies") +if($PSEdition -eq 'Core' -and (Test-Path $netCorePath -ErrorAction Ignore)) +{ + try + { + $loadedAssemblies = ([System.AppDomain]::CurrentDomain.GetAssemblies() | ForEach-Object {New-Object -TypeName System.Reflection.AssemblyName -ArgumentList $_.FullName} ) + Get-ChildItem -ErrorAction Stop -Path $netCorePath -Filter "*.dll" | ForEach-Object { + $assemblyName = ([System.Reflection.AssemblyName]::GetAssemblyName($_.FullName)) + $matches = ($loadedAssemblies | Where-Object {$_.Name -eq $assemblyName.Name}) + if (-not $matches) + { + try + { + Add-Type -Path $_.FullName -ErrorAction Ignore | Out-Null + } + catch { + Write-Verbose $_ + } + } + } + } + catch {} +} + + +Import-Module (Join-Path -Path $PSScriptRoot -ChildPath Microsoft.Azure.PowerShell.Cmdlets.Accounts.dll) + + +if (Test-Path -Path "$PSScriptRoot\PostImportScripts" -ErrorAction Ignore) +{ + Get-ChildItem "$PSScriptRoot\PostImportScripts" -ErrorAction Stop | ForEach-Object { + . $_.FullName + } +} + +$FilteredCommands = @() + +if ($Env:ACC_CLOUD -eq $null) +{ + $FilteredCommands | ForEach-Object { + + $existingDefault = $false + foreach ($key in $global:PSDefaultParameterValues.Keys) + { + if ($_ -like "$key") + { + $existingDefault = $true + } + } + + if (!$existingDefault) + { + $global:PSDefaultParameterValues.Add($_, + { + if ((Get-Command Get-AzContext -ErrorAction Ignore) -eq $null) + { + $context = Get-AzureRmContext + } + else + { + $context = Get-AzContext + } + if (($context -ne $null) -and $context.ExtendedProperties.ContainsKey("Default Resource Group")) { + $context.ExtendedProperties["Default Resource Group"] + } + }) + } + } +} + +# SIG # Begin signature block +# MIInugYJKoZIhvcNAQcCoIInqzCCJ6cCAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBnXoRblwqGgp4a +# USzJaf5Wf+Tu+eUWmfecChJ7ENNasaCCDYEwggX/MIID56ADAgECAhMzAAACUosz +# qviV8znbAAAAAAJSMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p +# bmcgUENBIDIwMTEwHhcNMjEwOTAyMTgzMjU5WhcNMjIwOTAxMTgzMjU5WjB0MQsw +# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u +# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +# AQDQ5M+Ps/X7BNuv5B/0I6uoDwj0NJOo1KrVQqO7ggRXccklyTrWL4xMShjIou2I +# sbYnF67wXzVAq5Om4oe+LfzSDOzjcb6ms00gBo0OQaqwQ1BijyJ7NvDf80I1fW9O +# L76Kt0Wpc2zrGhzcHdb7upPrvxvSNNUvxK3sgw7YTt31410vpEp8yfBEl/hd8ZzA +# v47DCgJ5j1zm295s1RVZHNp6MoiQFVOECm4AwK2l28i+YER1JO4IplTH44uvzX9o +# RnJHaMvWzZEpozPy4jNO2DDqbcNs4zh7AWMhE1PWFVA+CHI/En5nASvCvLmuR/t8 +# q4bc8XR8QIZJQSp+2U6m2ldNAgMBAAGjggF+MIIBejAfBgNVHSUEGDAWBgorBgEE +# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUNZJaEUGL2Guwt7ZOAu4efEYXedEw +# UAYDVR0RBEkwR6RFMEMxKTAnBgNVBAsTIE1pY3Jvc29mdCBPcGVyYXRpb25zIFB1 +# ZXJ0byBSaWNvMRYwFAYDVQQFEw0yMzAwMTIrNDY3NTk3MB8GA1UdIwQYMBaAFEhu +# ZOVQBdOCqhc3NyK1bajKdQKVMFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly93d3cu +# bWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY0NvZFNpZ1BDQTIwMTFfMjAxMS0w +# Ny0wOC5jcmwwYQYIKwYBBQUHAQEEVTBTMFEGCCsGAQUFBzAChkVodHRwOi8vd3d3 +# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY0NvZFNpZ1BDQTIwMTFfMjAx +# MS0wNy0wOC5jcnQwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAgEAFkk3 +# uSxkTEBh1NtAl7BivIEsAWdgX1qZ+EdZMYbQKasY6IhSLXRMxF1B3OKdR9K/kccp +# kvNcGl8D7YyYS4mhCUMBR+VLrg3f8PUj38A9V5aiY2/Jok7WZFOAmjPRNNGnyeg7 +# l0lTiThFqE+2aOs6+heegqAdelGgNJKRHLWRuhGKuLIw5lkgx9Ky+QvZrn/Ddi8u +# TIgWKp+MGG8xY6PBvvjgt9jQShlnPrZ3UY8Bvwy6rynhXBaV0V0TTL0gEx7eh/K1 +# o8Miaru6s/7FyqOLeUS4vTHh9TgBL5DtxCYurXbSBVtL1Fj44+Od/6cmC9mmvrti +# yG709Y3Rd3YdJj2f3GJq7Y7KdWq0QYhatKhBeg4fxjhg0yut2g6aM1mxjNPrE48z +# 6HWCNGu9gMK5ZudldRw4a45Z06Aoktof0CqOyTErvq0YjoE4Xpa0+87T/PVUXNqf +# 7Y+qSU7+9LtLQuMYR4w3cSPjuNusvLf9gBnch5RqM7kaDtYWDgLyB42EfsxeMqwK +# WwA+TVi0HrWRqfSx2olbE56hJcEkMjOSKz3sRuupFCX3UroyYf52L+2iVTrda8XW +# esPG62Mnn3T8AuLfzeJFuAbfOSERx7IFZO92UPoXE1uEjL5skl1yTZB3MubgOA4F +# 8KoRNhviFAEST+nG8c8uIsbZeb08SeYQMqjVEmkwggd6MIIFYqADAgECAgphDpDS +# AAAAAAADMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMK +# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0 +# IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0 +# ZSBBdXRob3JpdHkgMjAxMTAeFw0xMTA3MDgyMDU5MDlaFw0yNjA3MDgyMTA5MDla +# MH4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS +# ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMT +# H01pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTEwggIiMA0GCSqGSIb3DQEB +# AQUAA4ICDwAwggIKAoICAQCr8PpyEBwurdhuqoIQTTS68rZYIZ9CGypr6VpQqrgG +# OBoESbp/wwwe3TdrxhLYC/A4wpkGsMg51QEUMULTiQ15ZId+lGAkbK+eSZzpaF7S +# 35tTsgosw6/ZqSuuegmv15ZZymAaBelmdugyUiYSL+erCFDPs0S3XdjELgN1q2jz +# y23zOlyhFvRGuuA4ZKxuZDV4pqBjDy3TQJP4494HDdVceaVJKecNvqATd76UPe/7 +# 4ytaEB9NViiienLgEjq3SV7Y7e1DkYPZe7J7hhvZPrGMXeiJT4Qa8qEvWeSQOy2u +# M1jFtz7+MtOzAz2xsq+SOH7SnYAs9U5WkSE1JcM5bmR/U7qcD60ZI4TL9LoDho33 +# X/DQUr+MlIe8wCF0JV8YKLbMJyg4JZg5SjbPfLGSrhwjp6lm7GEfauEoSZ1fiOIl +# XdMhSz5SxLVXPyQD8NF6Wy/VI+NwXQ9RRnez+ADhvKwCgl/bwBWzvRvUVUvnOaEP +# 6SNJvBi4RHxF5MHDcnrgcuck379GmcXvwhxX24ON7E1JMKerjt/sW5+v/N2wZuLB +# l4F77dbtS+dJKacTKKanfWeA5opieF+yL4TXV5xcv3coKPHtbcMojyyPQDdPweGF +# RInECUzF1KVDL3SV9274eCBYLBNdYJWaPk8zhNqwiBfenk70lrC8RqBsmNLg1oiM +# CwIDAQABo4IB7TCCAekwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFEhuZOVQ +# BdOCqhc3NyK1bajKdQKVMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1Ud +# DwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFHItOgIxkEO5FAVO +# 4eqnxzHRI4k0MFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwubWljcm9zb2Z0 +# LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y +# Mi5jcmwwXgYIKwYBBQUHAQEEUjBQME4GCCsGAQUFBzAChkJodHRwOi8vd3d3Lm1p +# Y3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y +# Mi5jcnQwgZ8GA1UdIASBlzCBlDCBkQYJKwYBBAGCNy4DMIGDMD8GCCsGAQUFBwIB +# FjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2RvY3MvcHJpbWFyeWNw +# cy5odG0wQAYIKwYBBQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AcABvAGwAaQBjAHkA +# XwBzAHQAYQB0AGUAbQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQADggIBAGfyhqWY +# 4FR5Gi7T2HRnIpsLlhHhY5KZQpZ90nkMkMFlXy4sPvjDctFtg/6+P+gKyju/R6mj +# 82nbY78iNaWXXWWEkH2LRlBV2AySfNIaSxzzPEKLUtCw/WvjPgcuKZvmPRul1LUd +# d5Q54ulkyUQ9eHoj8xN9ppB0g430yyYCRirCihC7pKkFDJvtaPpoLpWgKj8qa1hJ +# Yx8JaW5amJbkg/TAj/NGK978O9C9Ne9uJa7lryft0N3zDq+ZKJeYTQ49C/IIidYf +# wzIY4vDFLc5bnrRJOQrGCsLGra7lstnbFYhRRVg4MnEnGn+x9Cf43iw6IGmYslmJ +# aG5vp7d0w0AFBqYBKig+gj8TTWYLwLNN9eGPfxxvFX1Fp3blQCplo8NdUmKGwx1j +# NpeG39rz+PIWoZon4c2ll9DuXWNB41sHnIc+BncG0QaxdR8UvmFhtfDcxhsEvt9B +# xw4o7t5lL+yX9qFcltgA1qFGvVnzl6UJS0gQmYAf0AApxbGbpT9Fdx41xtKiop96 +# eiL6SJUfq/tHI4D1nvi/a7dLl+LrdXga7Oo3mXkYS//WsyNodeav+vyL6wuA6mk7 +# r/ww7QRMjt/fdW1jkT3RnVZOT7+AVyKheBEyIXrvQQqxP/uozKRdwaGIm1dxVk5I +# RcBCyZt2WwqASGv9eZ/BvW1taslScxMNelDNMYIZjzCCGYsCAQEwgZUwfjELMAkG +# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEoMCYGA1UEAxMfTWljcm9z +# b2Z0IENvZGUgU2lnbmluZyBQQ0EgMjAxMQITMwAAAlKLM6r4lfM52wAAAAACUjAN +# BglghkgBZQMEAgEFAKCBrjAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgor +# BgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQgqwm8h/dw +# FED0y+xGCWSaD8Fc1mZMgPkryh2zfSvZwxIwQgYKKwYBBAGCNwIBDDE0MDKgFIAS +# AE0AaQBjAHIAbwBzAG8AZgB0oRqAGGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbTAN +# BgkqhkiG9w0BAQEFAASCAQBvXNrKAkE7o84rJI6+XFvnA65dqlWCZBeFhG6YGpde +# Nom1mPdcfauabmxLKg7N5GG1FBWXuYDu1aEyDhiXzPG6ET+/ikXTGfN9J0D9g5Wx +# a2SeSIJ0XfsllBKKwOKl4OhoY3y5Kjjk08Cw75aE5BR8Ux0FWciN8n+nztakOyN9 +# tf7I5nmgbrHvJC5az2N9aR5DejRvjPDcNCnRkepz3nnA+FQNFbXaKqjgJz9oRBgA +# K2SAZDQnnK3B3MAv7qJX6GyeUhen7kwXZC0OV2RjyPRC+f8SiV/OF/ZsaFe4nXps +# RJqg5f5sUjCHFS5g8yK9Zy6D7EZKJJA4yk8YgRpdxOiuoYIXGTCCFxUGCisGAQQB +# gjcDAwExghcFMIIXAQYJKoZIhvcNAQcCoIIW8jCCFu4CAQMxDzANBglghkgBZQME +# AgEFADCCAVkGCyqGSIb3DQEJEAEEoIIBSASCAUQwggFAAgEBBgorBgEEAYRZCgMB +# MDEwDQYJYIZIAWUDBAIBBQAEIAn/Ph2Du7oUABZfi9Z4pWXxedNUse800UpCJBeG +# +id6AgZiF5hUHpsYEzIwMjIwMzMxMTAwMDEyLjU2OFowBIACAfSggdikgdUwgdIx +# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt +# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xLTArBgNVBAsTJE1p +# Y3Jvc29mdCBJcmVsYW5kIE9wZXJhdGlvbnMgTGltaXRlZDEmMCQGA1UECxMdVGhh +# bGVzIFRTUyBFU046RkM0MS00QkQ0LUQyMjAxJTAjBgNVBAMTHE1pY3Jvc29mdCBU +# aW1lLVN0YW1wIFNlcnZpY2WgghFoMIIHFDCCBPygAwIBAgITMwAAAY5Z20YAqBCU +# zAABAAABjjANBgkqhkiG9w0BAQsFADB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMK +# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0 +# IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0Eg +# MjAxMDAeFw0yMTEwMjgxOTI3NDVaFw0yMzAxMjYxOTI3NDVaMIHSMQswCQYDVQQG +# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG +# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQg +# SXJlbGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAkBgNVBAsTHVRoYWxlcyBUU1Mg +# RVNOOkZDNDEtNEJENC1EMjIwMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFt +# cCBTZXJ2aWNlMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqiMCq6OM +# zLa5wrtcf7Bf9f1WXW9kpqbOBzgPJvaGLrZG7twgwqTRWf1FkjpJKBOG5QPIRy7a +# 6IFVAy0W+tBaFX4In4DbBf2tGubyY9+hRU+hRewPJH5CYOvpPh77FfGM63+OlwRX +# p5YER6tC0WRKn3mryWpt4CwADuGv0LD2QjnhhgtRVidsiDnn9+aLjMuNapUhstGq +# Cr7JcQZt0ZrPUHW/TqTJymeU1eqgNorEbTed6UQyLaTVAmhXNQXDChfa526nW7RQ +# 7L4tXX9Lc0oguiCSkPlu5drNA6NM8z+UXQOAHxVfIQXmi+Y3SV2hr2dcxby9nlTz +# Yvf4ZDr5Wpcwt7tTdRIJibXHsXWMKrmOziliGDToLx34a/ctZE4NOLnlrKQWN9ZG +# +Ox5zRarK1EhShahM0uQNhb6BJjp3+c0eNzMFJ2qLZqDp2/3Yl5Q+4k+MDHLTipP +# 6VBdxcdVfd4mgrVTx3afO5KNfgMngGGfhSawGraRW28EhrLOspmIxii92E7vjncJ +# 2tcjhLCjBArVpPh3cZG5g3ZVy5iiAaoDaswpNgnMFAK5Un1reK+MFhPi9iMnvUPw +# tTDDJt5YED5DAT3mBUxp5QH3t7RhZwAJNLWLtpTeGF7ub81sSKYv2ardazAe9XLS +# 10tV2oOPrcniGJzlXW7VPvxqQNxe8lCDA20CAwEAAaOCATYwggEyMB0GA1UdDgQW +# BBTsQfkz9gT44N/5G8vNHayep+aV5DAfBgNVHSMEGDAWgBSfpxVdAF5iXYP05dJl +# pxtTNRnpcjBfBgNVHR8EWDBWMFSgUqBQhk5odHRwOi8vd3d3Lm1pY3Jvc29mdC5j +# b20vcGtpb3BzL2NybC9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIwMjAx +# MCgxKS5jcmwwbAYIKwYBBQUHAQEEYDBeMFwGCCsGAQUFBzAChlBodHRwOi8vd3d3 +# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMFRpbWUtU3Rh +# bXAlMjBQQ0ElMjAyMDEwKDEpLmNydDAMBgNVHRMBAf8EAjAAMBMGA1UdJQQMMAoG +# CCsGAQUFBwMIMA0GCSqGSIb3DQEBCwUAA4ICAQA1UK9xzIeTlKhSbLn0bekR5gYh +# 6bB1XQpluCqCA15skZ37UilaFJw8+GklDLzlNhSP2mOiOzVyCq8kkpqnfUc01ZaB +# ezQxg77qevj2iMyg39YJfeiCIhxYOFugwepYrPO8MlB/oue/VhIiDb1eNYTlPSmv +# 3palsgtkrb0oo0F0uWmX4EQVGKRo0UENtZetVIxa0J9DpUdjQWPeEh9cEM+RgE26 +# 5w5WAVb+WNx0iWiF4iTbCmrWaVEOX92dNqBm9bT1U7nGwN5CygpNAgEaYnrTMx1N +# 4AjxObACDN5DdvGlu/O0DfMWVc6qk6iKDFC6WpXQSkMlrlXII/Nhp+0+noU6tfEp +# HKLt7fYm9of5i/QomcCwo/ekiOCjYktp393ovoC1O2uLtbLnMVlE5raBLBNSbINZ +# 6QLxiA41lXnVVLIzDihUL8MU9CMvG4sdbhk2FX8zvrsP5PeBIw1faenMZuz0V3UX +# CtU5Okx5fmioWiiLZSCi1ljaxX+BEwQiinCi+vE59bTYI5FbuR8tDuGLiVu/JSpV +# FXrzWMP2Kn11sCLAGEjqJYUmO1tRY29Kd7HcIj2niSB0PQOCjYlnCnywnDinqS1C +# XvRsisjVlS1Rp4Tmuks+pGxiMGzF58zcb+hoFKyONuL3b+tgxTAz3sF3BVX9uk9M +# 5F+OEoeyLyGfLekNAjCCB3EwggVZoAMCAQICEzMAAAAVxedrngKbSZkAAAAAABUw +# DQYJKoZIhvcNAQELBQAwgYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5n +# dG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9y +# YXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBSb290IENlcnRpZmljYXRlIEF1dGhv +# cml0eSAyMDEwMB4XDTIxMDkzMDE4MjIyNVoXDTMwMDkzMDE4MzIyNVowfDELMAkG +# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9z +# b2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw +# ggIKAoICAQDk4aZM57RyIQt5osvXJHm9DtWC0/3unAcH0qlsTnXIyjVX9gF/bErg +# 4r25PhdgM/9cT8dm95VTcVrifkpa/rg2Z4VGIwy1jRPPdzLAEBjoYH1qUoNEt6aO +# RmsHFPPFdvWGUNzBRMhxXFExN6AKOG6N7dcP2CZTfDlhAnrEqv1yaa8dq6z2Nr41 +# JmTamDu6GnszrYBbfowQHJ1S/rboYiXcag/PXfT+jlPP1uyFVk3v3byNpOORj7I5 +# LFGc6XBpDco2LXCOMcg1KL3jtIckw+DJj361VI/c+gVVmG1oO5pGve2krnopN6zL +# 64NF50ZuyjLVwIYwXE8s4mKyzbnijYjklqwBSru+cakXW2dg3viSkR4dPf0gz3N9 +# QZpGdc3EXzTdEonW/aUgfX782Z5F37ZyL9t9X4C626p+Nuw2TPYrbqgSUei/BQOj +# 0XOmTTd0lBw0gg/wEPK3Rxjtp+iZfD9M269ewvPV2HM9Q07BMzlMjgK8QmguEOqE +# UUbi0b1qGFphAXPKZ6Je1yh2AuIzGHLXpyDwwvoSCtdjbwzJNmSLW6CmgyFdXzB0 +# kZSU2LlQ+QuJYfM2BjUYhEfb3BvR/bLUHMVr9lxSUV0S2yW6r1AFemzFER1y7435 +# UsSFF5PAPBXbGjfHCBUYP3irRbb1Hode2o+eFnJpxq57t7c+auIurQIDAQABo4IB +# 3TCCAdkwEgYJKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUKqdS/mTE +# mr6CkTxGNSnPEP8vBO4wHQYDVR0OBBYEFJ+nFV0AXmJdg/Tl0mWnG1M1GelyMFwG +# A1UdIARVMFMwUQYMKwYBBAGCN0yDfQEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly93 +# d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvRG9jcy9SZXBvc2l0b3J5Lmh0bTATBgNV +# HSUEDDAKBggrBgEFBQcDCDAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV +# HQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBTV9lbLj+iiXGJo +# 0T2UkFvXzpoYxDBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8vY3JsLm1pY3Jvc29m +# dC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5j +# cmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5odHRwOi8vd3d3Lm1pY3Jv +# c29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNydDAN +# BgkqhkiG9w0BAQsFAAOCAgEAnVV9/Cqt4SwfZwExJFvhnnJL/Klv6lwUtj5OR2R4 +# sQaTlz0xM7U518JxNj/aZGx80HU5bbsPMeTCj/ts0aGUGCLu6WZnOlNN3Zi6th54 +# 2DYunKmCVgADsAW+iehp4LoJ7nvfam++Kctu2D9IdQHZGN5tggz1bSNU5HhTdSRX +# ud2f8449xvNo32X2pFaq95W2KFUn0CS9QKC/GbYSEhFdPSfgQJY4rPf5KYnDvBew +# VIVCs/wMnosZiefwC2qBwoEZQhlSdYo2wh3DYXMuLGt7bj8sCXgU6ZGyqVvfSaN0 +# DLzskYDSPeZKPmY7T7uG+jIa2Zb0j/aRAfbOxnT99kxybxCrdTDFNLB62FD+Cljd +# QDzHVG2dY3RILLFORy3BFARxv2T5JL5zbcqOCb2zAVdJVGTZc9d/HltEAY5aGZFr +# DZ+kKNxnGSgkujhLmm77IVRrakURR6nxt67I6IleT53S0Ex2tVdUCbFpAUR+fKFh +# bHP+CrvsQWY9af3LwUFJfn6Tvsv4O+S3Fb+0zj6lMVGEvL8CwYKiexcdFYmNcP7n +# tdAoGokLjzbaukz5m/8K6TT4JDVnK+ANuOaMmdbhIurwJ0I9JZTmdHRbatGePu1+ +# oDEzfbzL6Xu/OHBE0ZDxyKs6ijoIYn/ZcGNTTY3ugm2lBRDBcQZqELQdVTNYs6Fw +# ZvKhggLXMIICQAIBATCCAQChgdikgdUwgdIxCzAJBgNVBAYTAlVTMRMwEQYDVQQI +# EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv +# ZnQgQ29ycG9yYXRpb24xLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh +# dGlvbnMgTGltaXRlZDEmMCQGA1UECxMdVGhhbGVzIFRTUyBFU046RkM0MS00QkQ0 +# LUQyMjAxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WiIwoB +# ATAHBgUrDgMCGgMVAD1iK+pPThHqgpa5xsPmiYruWVuMoIGDMIGApH4wfDELMAkG +# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9z +# b2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwDQYJKoZIhvcNAQEFBQACBQDl75AOMCIY +# DzIwMjIwMzMxMTAyNzI2WhgPMjAyMjA0MDExMDI3MjZaMHcwPQYKKwYBBAGEWQoE +# ATEvMC0wCgIFAOXvkA4CAQAwCgIBAAICAYUCAf8wBwIBAAICEiowCgIFAOXw4Y4C +# AQAwNgYKKwYBBAGEWQoEAjEoMCYwDAYKKwYBBAGEWQoDAqAKMAgCAQACAwehIKEK +# MAgCAQACAwGGoDANBgkqhkiG9w0BAQUFAAOBgQCCQ+gyinUAzBfQG0tdRLTKoWAz +# 1F9XL8HUl1+DL/nO5fnfNT2fIwdNtkcnjXkY7J89nDVJ5orczCc/Jjd8FWrGsZYF +# R7jTDpEnctly2mdeOC54DPn8NfB2rKnTAZSMNZUA5+qwXYtBJ9/L+zBcWbLJGn17 +# Xdsy6ogPG2mqiNeJETGCBA0wggQJAgEBMIGTMHwxCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1w +# IFBDQSAyMDEwAhMzAAABjlnbRgCoEJTMAAEAAAGOMA0GCWCGSAFlAwQCAQUAoIIB +# SjAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwLwYJKoZIhvcNAQkEMSIEIBdm +# /Yr/algho7Se4sS1u0RA1CsQ3avLfVkP9cSuIl4vMIH6BgsqhkiG9w0BCRACLzGB +# 6jCB5zCB5DCBvQQgvQWPITvigaUuV5+f/lWs3BXZwJ/l1mf+yelu5nXmxCUwgZgw +# gYCkfjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE +# BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYD +# VQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMAITMwAAAY5Z20YAqBCU +# zAABAAABjjAiBCDFYh4a5uyi794y1CHlKx3P8nxZO/8fomUMsnns7kvKmzANBgkq +# hkiG9w0BAQsFAASCAgCphAx90HI/vzWSwneRSNg3gV826YqxCNSVkzMDcu1Rkayq +# 3FhK466ELhIxyI9EL3hLCS/BIQYKH8AiVU85P07pmaLls+bUM2CPt3II0oZYY5T8 +# BN/MyqZ0vUS6QvNX8ZT8A82R5/meSt8qS8+8ppG1XumAYmdqv7vriD8ENBrhIyus +# 3Wjwt0rS2kovNj+6g3xMJBU+LnP+qzNv72aEr2LvKkU8/abYiNXN1FGlJPqHYrF/ +# zumVFsNkJMjJrlgRFlo/EROGu3iUiI37hM7mTm77aYrWoMbKrl/4nKfMpjR4KQqL +# Mhi9Cb1c11cugxCFnoc1IA6kQ+Xg1fYUchz5UmgzDTpwic3FVGGRlTv4Wf9PMjjj +# heZyL7BFkHZCpr5qpwpu/ZvpCSQpsP4Aa07qY5ffgRu/te0ip3gkzL3Ur7zNqf60 +# Dw9If1ECZOcx+GMgIHd0t+48+hsE4RrmvMvWrEBz2B/BJEOfrIQEClhFczLjDd4G +# nhh4y/vSlqbUUupH+/oJRtpla+ZQbAxsg8jTPsiGG7hmvSaNfV7+SgwCjO1HB/On +# DkzS+edyqivrfkuwjFYecbLcl9e9Pr3SPFvelW5kXiQw2KyWFrD0aznq7YT0x/Na +# /XaZDuLepRVe7YnvH4Ky7yk58zG3QYNy5EJ6Pf3ClNsX4BBAJsUrWMxicmpUDg== +# SIG # End signature block diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/AzSharedAlcAssemblies/Azure.Core.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/AzSharedAlcAssemblies/Azure.Core.dll new file mode 100644 index 000000000000..32652d6de4d0 Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/AzSharedAlcAssemblies/Azure.Core.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/AzSharedAlcAssemblies/Azure.Identity.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/AzSharedAlcAssemblies/Azure.Identity.dll new file mode 100644 index 000000000000..0d214db71cad Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/AzSharedAlcAssemblies/Azure.Identity.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/AzSharedAlcAssemblies/Microsoft.Bcl.AsyncInterfaces.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/AzSharedAlcAssemblies/Microsoft.Bcl.AsyncInterfaces.dll new file mode 100644 index 000000000000..f2955edfecb7 Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/AzSharedAlcAssemblies/Microsoft.Bcl.AsyncInterfaces.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/AzSharedAlcAssemblies/Microsoft.Identity.Client.Extensions.Msal.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/AzSharedAlcAssemblies/Microsoft.Identity.Client.Extensions.Msal.dll new file mode 100644 index 000000000000..81b736cc09da Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/AzSharedAlcAssemblies/Microsoft.Identity.Client.Extensions.Msal.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/AzSharedAlcAssemblies/Microsoft.Identity.Client.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/AzSharedAlcAssemblies/Microsoft.Identity.Client.dll new file mode 100644 index 000000000000..f656e5e42360 Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/AzSharedAlcAssemblies/Microsoft.Identity.Client.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/AzSharedAlcAssemblies/System.Memory.Data.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/AzSharedAlcAssemblies/System.Memory.Data.dll new file mode 100644 index 000000000000..6f2a3e0ad07f Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/AzSharedAlcAssemblies/System.Memory.Data.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/AzSharedAlcAssemblies/System.Text.Json.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/AzSharedAlcAssemblies/System.Text.Json.dll new file mode 100644 index 000000000000..fe2154a3bf3a Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/AzSharedAlcAssemblies/System.Text.Json.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Hyak.Common.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Hyak.Common.dll new file mode 100644 index 000000000000..18a53248894f Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Hyak.Common.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.ApplicationInsights.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.ApplicationInsights.dll new file mode 100644 index 000000000000..92d06762d6a5 Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.ApplicationInsights.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.Common.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.Common.dll new file mode 100644 index 000000000000..1c9d8e2a0ef5 Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.Common.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Authentication.Abstractions.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Authentication.Abstractions.dll new file mode 100644 index 000000000000..8e791611cc1a Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Authentication.Abstractions.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Authentication.ResourceManager.deps.json b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Authentication.ResourceManager.deps.json new file mode 100644 index 000000000000..dde9337e5748 --- /dev/null +++ b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Authentication.ResourceManager.deps.json @@ -0,0 +1,2309 @@ +{ + "runtimeTarget": { + "name": ".NETStandard,Version=v2.0/", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETStandard,Version=v2.0": {}, + ".NETStandard,Version=v2.0/": { + "Microsoft.Azure.PowerShell.Authentication.ResourceManager/1.0.0": { + "dependencies": { + "Azure.Core": "1.22.0", + "Hyak.Common": "1.2.2", + "Microsoft.ApplicationInsights": "2.12.0", + "Microsoft.Azure.Common": "2.2.1", + "Microsoft.Azure.PowerShell.Authentication": "1.0.0", + "Microsoft.Azure.PowerShell.Authentication.Abstractions": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Aks": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Authorization": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Compute": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Graph.Rbac": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.KeyVault": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Monitor": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Network": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.PolicyInsights": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.ResourceManager": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Storage.Management": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Websites": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common.Share": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Storage": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Strategies": "1.3.57-preview", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "NETStandard.Library": "2.0.3", + "Newtonsoft.Json": "10.0.3", + "PowerShellStandard.Library": "5.1.0" + }, + "runtime": { + "Microsoft.Azure.PowerShell.Authentication.ResourceManager.dll": {} + } + }, + "Azure.Core/1.22.0": { + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Diagnostics.DiagnosticSource": "4.6.0", + "System.Memory.Data": "1.0.2", + "System.Numerics.Vectors": "4.5.0", + "System.Text.Encodings.Web": "4.7.2", + "System.Text.Json": "4.7.2", + "System.Threading.Tasks.Extensions": "4.5.4" + }, + "runtime": { + "lib/netstandard2.0/Azure.Core.dll": { + "assemblyVersion": "1.22.0.0", + "fileVersion": "1.2200.22.6212" + } + } + }, + "Azure.Identity/1.5.0": { + "dependencies": { + "Azure.Core": "1.22.0", + "Microsoft.Identity.Client": "4.30.1", + "Microsoft.Identity.Client.Extensions.Msal": "2.18.4", + "System.Memory": "4.5.4", + "System.Security.Cryptography.ProtectedData": "4.5.0", + "System.Text.Json": "4.7.2", + "System.Threading.Tasks.Extensions": "4.5.4" + }, + "runtime": { + "lib/netstandard2.0/Azure.Identity.dll": { + "assemblyVersion": "1.5.0.0", + "fileVersion": "1.500.21.51401" + } + } + }, + "Hyak.Common/1.2.2": { + "dependencies": { + "NETStandard.Library": "2.0.3", + "Newtonsoft.Json": "10.0.3", + "System.Reflection": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.4/Hyak.Common.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.2.2.0" + } + } + }, + "Microsoft.ApplicationInsights/2.12.0": { + "dependencies": { + "System.Diagnostics.DiagnosticSource": "4.6.0", + "System.Runtime.InteropServices": "4.3.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.ApplicationInsights.dll": { + "assemblyVersion": "2.12.0.21496", + "fileVersion": "2.12.0.21496" + } + } + }, + "Microsoft.Azure.Common/2.2.1": { + "dependencies": { + "Hyak.Common": "1.2.2", + "NETStandard.Library": "2.0.3" + }, + "runtime": { + "lib/netstandard1.4/Microsoft.Azure.Common.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.2.1.0" + } + } + }, + "Microsoft.Azure.PowerShell.Authentication.Abstractions/1.3.57-preview": { + "dependencies": { + "Hyak.Common": "1.2.2", + "Microsoft.Azure.Common": "2.2.1", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Authentication.Abstractions.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Aks/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Aks.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Authorization/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Authorization.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Compute/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Compute.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Graph.Rbac/1.3.57-preview": { + "dependencies": { + "Microsoft.Azure.PowerShell.Authentication.Abstractions": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.ResourceManager": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common": "1.3.57-preview", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Graph.Rbac.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.KeyVault/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3", + "System.Collections.NonGeneric": "4.3.0", + "System.Collections.Specialized": "4.3.0", + "System.Reflection": "4.3.0", + "System.Security.SecureString": "4.3.0", + "System.Xml.XmlDocument": "4.3.0", + "System.Xml.XmlSerializer": "4.3.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.KeyVault.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Monitor/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3", + "System.Collections.Specialized": "4.3.0", + "System.Reflection": "4.3.0", + "System.Security.SecureString": "4.3.0", + "System.Xml.XmlDocument": "4.3.0", + "System.Xml.XmlSerializer": "4.3.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Monitor.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Network/1.3.57-preview": { + "dependencies": { + "Microsoft.Azure.PowerShell.Authentication.Abstractions": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common": "1.3.57-preview", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Network.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.PolicyInsights/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.PolicyInsights.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.ResourceManager/1.3.57-preview": { + "dependencies": { + "Microsoft.Azure.PowerShell.Authentication.Abstractions": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common": "1.3.57-preview", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.ResourceManager.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Storage.Management/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "System.Collections.NonGeneric": "4.3.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Storage.Management.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Websites/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3", + "System.Collections.Specialized": "4.3.0", + "System.Reflection": "4.3.0", + "System.Security.SecureString": "4.3.0", + "System.Xml.XmlDocument": "4.3.0", + "System.Xml.XmlSerializer": "4.3.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Websites.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Common/1.3.57-preview": { + "dependencies": { + "Hyak.Common": "1.2.2", + "Microsoft.ApplicationInsights": "2.12.0", + "Microsoft.Azure.Common": "2.2.1", + "Microsoft.Azure.PowerShell.Authentication.Abstractions": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common.Share": "1.3.57-preview", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Common.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Common.Share/1.3.57-preview": { + "dependencies": { + "Hyak.Common": "1.2.2", + "Microsoft.Azure.Common": "2.2.1", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Common.Share.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Storage/1.3.57-preview": { + "dependencies": { + "Microsoft.Azure.PowerShell.Authentication.Abstractions": "1.3.57-preview", + "Microsoft.Rest.ClientRuntime": "2.3.23" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Storage.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Strategies/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Strategies.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Bcl.AsyncInterfaces/1.1.1": { + "dependencies": { + "System.Threading.Tasks.Extensions": "4.5.4" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "4.700.20.21406" + } + } + }, + "Microsoft.CSharp/4.5.0": { + "runtime": { + "lib/netstandard2.0/Microsoft.CSharp.dll": { + "assemblyVersion": "4.0.4.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "Microsoft.Identity.Client/4.30.1": { + "dependencies": { + "Microsoft.CSharp": "4.5.0", + "NETStandard.Library": "2.0.3", + "System.ComponentModel.TypeConverter": "4.3.0", + "System.Diagnostics.Process": "4.3.0", + "System.Dynamic.Runtime": "4.3.0", + "System.Private.Uri": "4.3.2", + "System.Runtime.Serialization.Formatters": "4.3.0", + "System.Runtime.Serialization.Json": "4.3.0", + "System.Runtime.Serialization.Primitives": "4.3.0", + "System.Security.Cryptography.X509Certificates": "4.3.0", + "System.Security.SecureString": "4.3.0", + "System.Xml.XDocument": "4.3.0", + "System.Xml.XmlDocument": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/Microsoft.Identity.Client.dll": { + "assemblyVersion": "4.30.1.0", + "fileVersion": "4.30.1.0" + } + } + }, + "Microsoft.Identity.Client.Extensions.Msal/2.18.4": { + "dependencies": { + "Microsoft.Identity.Client": "4.30.1", + "System.Security.Cryptography.ProtectedData": "4.5.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Identity.Client.Extensions.Msal.dll": { + "assemblyVersion": "2.18.4.0", + "fileVersion": "2.18.4.0" + } + } + }, + "Microsoft.NETCore.Platforms/1.1.1": {}, + "Microsoft.NETCore.Targets/1.1.3": {}, + "Microsoft.Rest.ClientRuntime/2.3.23": { + "dependencies": { + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Rest.ClientRuntime.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.3.23.0" + } + } + }, + "Microsoft.Rest.ClientRuntime.Azure/3.3.19": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Rest.ClientRuntime.Azure.dll": { + "assemblyVersion": "3.0.0.0", + "fileVersion": "3.3.18.0" + } + } + }, + "Microsoft.Win32.Primitives/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "Microsoft.Win32.Registry/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "System.Collections": "4.3.0", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0" + } + }, + "NETStandard.Library/2.0.3": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1" + } + }, + "Newtonsoft.Json/10.0.3": { + "dependencies": { + "Microsoft.CSharp": "4.5.0", + "NETStandard.Library": "2.0.3", + "System.ComponentModel.TypeConverter": "4.3.0", + "System.Runtime.Serialization.Formatters": "4.3.0", + "System.Runtime.Serialization.Primitives": "4.3.0", + "System.Xml.XmlDocument": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/Newtonsoft.Json.dll": { + "assemblyVersion": "10.0.0.0", + "fileVersion": "10.0.3.21018" + } + } + }, + "PowerShellStandard.Library/5.1.0": {}, + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.native.System/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3" + } + }, + "runtime.native.System.Net.Http/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3" + } + }, + "runtime.native.System.Security.Cryptography.Apple/4.3.0": { + "dependencies": { + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" + } + }, + "runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "dependencies": { + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple/4.3.0": {}, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "System.Buffers/4.5.1": { + "runtime": { + "lib/netstandard2.0/System.Buffers.dll": { + "assemblyVersion": "4.0.3.0", + "fileVersion": "4.6.28619.1" + } + } + }, + "System.Collections/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "System.Collections.Concurrent/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Collections.Concurrent.dll": { + "assemblyVersion": "4.0.13.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Collections.NonGeneric/4.3.0": { + "dependencies": { + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Collections.NonGeneric.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Collections.Specialized/4.3.0": { + "dependencies": { + "System.Collections.NonGeneric": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Extensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Collections.Specialized.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.ComponentModel/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.ComponentModel.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.ComponentModel.Primitives/4.3.0": { + "dependencies": { + "System.ComponentModel": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.0/System.ComponentModel.Primitives.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.ComponentModel.TypeConverter/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Collections.NonGeneric": "4.3.0", + "System.Collections.Specialized": "4.3.0", + "System.ComponentModel": "4.3.0", + "System.ComponentModel.Primitives": "4.3.0", + "System.Globalization": "4.3.0", + "System.Linq": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.5/System.ComponentModel.TypeConverter.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Diagnostics.Debug/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.DiagnosticSource/4.6.0": { + "dependencies": { + "System.Memory": "4.5.4" + }, + "runtime": { + "lib/netstandard1.3/System.Diagnostics.DiagnosticSource.dll": { + "assemblyVersion": "4.0.4.0", + "fileVersion": "4.700.19.46214" + } + } + }, + "System.Diagnostics.Process/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.Win32.Primitives": "4.3.0", + "Microsoft.Win32.Registry": "4.3.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.Thread": "4.3.0", + "System.Threading.ThreadPool": "4.3.0", + "runtime.native.System": "4.3.0" + } + }, + "System.Diagnostics.Tools/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.Tracing/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "System.Dynamic.Runtime/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Linq": "4.3.0", + "System.Linq.Expressions": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Dynamic.Runtime.dll": { + "assemblyVersion": "4.0.12.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Globalization/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization.Calendars/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Globalization": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization.Extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0" + } + }, + "System.IO/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.IO.FileSystem/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.IO": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.IO.FileSystem.Primitives/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.IO.FileSystem.Primitives.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Linq/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + }, + "runtime": { + "lib/netstandard1.6/System.Linq.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Linq.Expressions/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Linq": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Emit.Lightweight": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.6/System.Linq.Expressions.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Memory/4.5.4": { + "dependencies": { + "System.Buffers": "4.5.1", + "System.Numerics.Vectors": "4.5.0", + "System.Runtime.CompilerServices.Unsafe": "4.7.1" + }, + "runtime": { + "lib/netstandard2.0/System.Memory.dll": { + "assemblyVersion": "4.0.1.1", + "fileVersion": "4.6.28619.1" + } + } + }, + "System.Memory.Data/1.0.2": { + "dependencies": { + "System.Text.Encodings.Web": "4.7.2", + "System.Text.Json": "4.7.2" + }, + "runtime": { + "lib/netstandard2.0/System.Memory.Data.dll": { + "assemblyVersion": "1.0.2.0", + "fileVersion": "1.0.221.20802" + } + } + }, + "System.Numerics.Vectors/4.5.0": { + "runtime": { + "lib/netstandard2.0/System.Numerics.Vectors.dll": { + "assemblyVersion": "4.1.4.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "System.ObjectModel/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.ObjectModel.dll": { + "assemblyVersion": "4.0.13.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Private.DataContractSerialization/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Collections.Concurrent": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Linq": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Emit.Lightweight": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Serialization.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Text.RegularExpressions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0", + "System.Xml.XDocument": "4.3.0", + "System.Xml.XmlDocument": "4.3.0", + "System.Xml.XmlSerializer": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Private.DataContractSerialization.dll": { + "assemblyVersion": "4.1.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Private.Uri/4.3.2": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3" + } + }, + "System.Reflection/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.IO": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Emit/4.3.0": { + "dependencies": { + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Reflection.Emit.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Reflection.Emit.ILGeneration/4.3.0": { + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Reflection.Emit.ILGeneration.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Reflection.Emit.Lightweight/4.3.0": { + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Reflection.Emit.Lightweight.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Reflection.Extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Primitives/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.TypeExtensions/4.3.0": { + "dependencies": { + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.5/System.Reflection.TypeExtensions.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Resources.ResourceManager/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Globalization": "4.3.0", + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3" + } + }, + "System.Runtime.CompilerServices.Unsafe/4.7.1": { + "runtime": { + "lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll": { + "assemblyVersion": "4.0.6.0", + "fileVersion": "4.700.20.12001" + } + } + }, + "System.Runtime.Extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.Handles/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.InteropServices/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + } + }, + "System.Runtime.Numerics/4.3.0": { + "dependencies": { + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Runtime.Numerics.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Runtime.Serialization.Formatters/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Serialization.Primitives": "4.3.0" + }, + "runtime": { + "lib/netstandard1.4/System.Runtime.Serialization.Formatters.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Runtime.Serialization.Json/4.3.0": { + "dependencies": { + "System.IO": "4.3.0", + "System.Private.DataContractSerialization": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Runtime.Serialization.Json.dll": { + "assemblyVersion": "4.0.3.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Runtime.Serialization.Primitives/4.3.0": { + "dependencies": { + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Runtime.Serialization.Primitives.dll": { + "assemblyVersion": "4.1.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Security.Cryptography.Algorithms/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "System.Collections": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.Apple": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "System.Security.Cryptography.Cng/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0" + } + }, + "System.Security.Cryptography.Csp/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Security.Cryptography.Encoding/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "System.Collections": "4.3.0", + "System.Collections.Concurrent": "4.3.0", + "System.Linq": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "System.Security.Cryptography.OpenSsl/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + }, + "runtime": { + "lib/netstandard1.6/System.Security.Cryptography.OpenSsl.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "1.0.24212.1" + } + } + }, + "System.Security.Cryptography.Primitives/4.3.0": { + "dependencies": { + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Security.Cryptography.Primitives.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Security.Cryptography.ProtectedData/4.5.0": { + "dependencies": { + "System.Memory": "4.5.4" + }, + "runtime": { + "lib/netstandard2.0/System.Security.Cryptography.ProtectedData.dll": { + "assemblyVersion": "4.0.3.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "System.Security.Cryptography.X509Certificates/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Calendars": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Cng": "4.3.0", + "System.Security.Cryptography.Csp": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.OpenSsl": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "runtime.native.System": "4.3.0", + "runtime.native.System.Net.Http": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "System.Security.SecureString/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Text.Encoding/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "System.Text.Encoding.Extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0" + } + }, + "System.Text.Encodings.Web/4.7.2": { + "dependencies": { + "System.Buffers": "4.5.1", + "System.Memory": "4.5.4" + }, + "runtime": { + "lib/netstandard2.0/System.Text.Encodings.Web.dll": { + "assemblyVersion": "4.0.5.1", + "fileVersion": "4.700.21.11602" + } + } + }, + "System.Text.Json/4.7.2": { + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Buffers": "4.5.1", + "System.Memory": "4.5.4", + "System.Numerics.Vectors": "4.5.0", + "System.Runtime.CompilerServices.Unsafe": "4.7.1", + "System.Text.Encodings.Web": "4.7.2", + "System.Threading.Tasks.Extensions": "4.5.4" + }, + "runtime": { + "lib/netstandard2.0/System.Text.Json.dll": { + "assemblyVersion": "4.0.1.2", + "fileVersion": "4.700.20.21406" + } + } + }, + "System.Text.RegularExpressions/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.6/System.Text.RegularExpressions.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Threading/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Threading.dll": { + "assemblyVersion": "4.0.12.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Threading.Tasks/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "System.Threading.Tasks.Extensions/4.5.4": { + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "4.7.1" + }, + "runtime": { + "lib/netstandard2.0/System.Threading.Tasks.Extensions.dll": { + "assemblyVersion": "4.2.0.1", + "fileVersion": "4.6.28619.1" + } + } + }, + "System.Threading.Thread/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Threading.Thread.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Threading.ThreadPool/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Threading.ThreadPool.dll": { + "assemblyVersion": "4.0.11.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Xml.ReaderWriter/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Text.RegularExpressions": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.Tasks.Extensions": "4.5.4" + }, + "runtime": { + "lib/netstandard1.3/System.Xml.ReaderWriter.dll": { + "assemblyVersion": "4.1.0.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Xml.XDocument/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tools": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Xml.XDocument.dll": { + "assemblyVersion": "4.0.12.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Xml.XmlDocument/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Xml.XmlDocument.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Xml.XmlSerializer/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Linq": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.RegularExpressions": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0", + "System.Xml.XmlDocument": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Xml.XmlSerializer.dll": { + "assemblyVersion": "4.0.12.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "Microsoft.Azure.PowerShell.Authentication/1.0.0": { + "dependencies": { + "Azure.Core": "1.22.0", + "Azure.Identity": "1.5.0", + "Hyak.Common": "1.2.2", + "Microsoft.ApplicationInsights": "2.12.0", + "Microsoft.Azure.Common": "2.2.1", + "Microsoft.Azure.PowerShell.Authentication.Abstractions": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Aks": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Authorization": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Compute": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Graph.Rbac": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.KeyVault": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Monitor": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Network": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.PolicyInsights": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.ResourceManager": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Storage.Management": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Websites": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common.Share": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Storage": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Strategies": "1.3.57-preview", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "Microsoft.Azure.PowerShell.Authentication.dll": {} + } + } + } + }, + "libraries": { + "Microsoft.Azure.PowerShell.Authentication.ResourceManager/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Azure.Core/1.22.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ze/xRCHSSDe5TIk5vBDbVrauW1EN7UIbnBvIBfMH8KSt/I9+/7yPAjTBDgNBk0IwG6WBV+BBHp4IUtS/PGAQwQ==", + "path": "azure.core/1.22.0", + "hashPath": "azure.core.1.22.0.nupkg.sha512" + }, + "Azure.Identity/1.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VfF88dqrgKXZNOS/y4XrX/jmIfP3pkY+hBUzBNpoKml1nR+QshX6XlXWyToLtWV80TDQ1CmUVCJksktDg5+j1w==", + "path": "azure.identity/1.5.0", + "hashPath": "azure.identity.1.5.0.nupkg.sha512" + }, + "Hyak.Common/1.2.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-uZpnFn48nSQwHcO0/GSBZ7ExaO0sTXKv8KariXXEWLaB4Q3AeQoprYG4WpKsCT0ByW3YffETivgc5rcH5RRDvQ==", + "path": "hyak.common/1.2.2", + "hashPath": "hyak.common.1.2.2.nupkg.sha512" + }, + "Microsoft.ApplicationInsights/2.12.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4vZcVaxywAzfLm5mAc2/llaZQTzbCqu9KirxxI/t49AkZH5Qxf7JxuAMUuv2/6JEdOOkGDzpvdrrIlf6LkFGcg==", + "path": "microsoft.applicationinsights/2.12.0", + "hashPath": "microsoft.applicationinsights.2.12.0.nupkg.sha512" + }, + "Microsoft.Azure.Common/2.2.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-abzRooh4ACKjzAKxRB6r+SHKW3d+IrLcgtVG81D+3kQU/OMjAZS1oDp9CDalhSbmxa84u0MHM5N+AKeTtKPoiw==", + "path": "microsoft.azure.common/2.2.1", + "hashPath": "microsoft.azure.common.2.2.1.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Authentication.Abstractions/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bKDPidNeqBpTDikPnIuoMoGd26pD2PNE41cut0ASwL5exJwLNggYO55U+f/cJkgjCUMR8i5nqnlfpGHSS1I0vw==", + "path": "microsoft.azure.powershell.authentication.abstractions/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.authentication.abstractions.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Aks/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-sUGkvOvpqlEK5zdZ7HWaou3GY5bnlNrE0LuZ137+TsNfgx2E3+0Ika3a02i/9+niDDf60xj4LaNOYDSuK5zdJA==", + "path": "microsoft.azure.powershell.clients.aks/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.aks.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Authorization/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Q760F40/qfas2Al+GQhhE4gJt768pQPxlCjqrjjkukgVsq+X/M8IqpCeBzbRTiiyerhcjJoyNxqlGuZpUhqGxw==", + "path": "microsoft.azure.powershell.clients.authorization/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.authorization.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Compute/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1fcsBdYMmEJPMPN8EAgJkaJ2WxxTKH3VcLECYdL2cfg2bgN8CKbbjSvarrXEezhyduE+LdYnL0e8Pigsnaj55Q==", + "path": "microsoft.azure.powershell.clients.compute/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.compute.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Graph.Rbac/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BIMthJ1x2vQAN3iWChnNj8BfgrXvKXn+n06E0/h2MNurMXbAOn5eiPIfE8bnj2BO99uSh1ns09yEgOTPJIvZBQ==", + "path": "microsoft.azure.powershell.clients.graph.rbac/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.graph.rbac.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.KeyVault/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-MfvwM8ABj/EswmYu0Bf/8kyAO6kUv2zYSihVn384SVmypomVKUu69GN0VXKbmGaovPI8v3H41Ldp7DqbPRun5A==", + "path": "microsoft.azure.powershell.clients.keyvault/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.keyvault.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Monitor/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-UyCKG5BWVjYFRtH2JNx6f4KdccaSqww2y0OE2PYgib8VhLqkoPr/BQg6vKzaGsghLIerZ/egQ7ntPPw3PCtS3w==", + "path": "microsoft.azure.powershell.clients.monitor/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.monitor.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Network/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YAAHxw+zzvkGNWAi668NSoTR+V/7vf+gRhu1oFa1O1/f2NGpz5XuqPrQyAPrri64hKqB/k3OMrM7sjlIv16dAg==", + "path": "microsoft.azure.powershell.clients.network/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.network.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.PolicyInsights/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-urRIwRVzzOwpk8HhKq/b785DiL/arnmGUHbN4HvRN6ZsBkE1PU431YwgUlofb9pfB3buLcl0XJFRPLBJ0yZJUw==", + "path": "microsoft.azure.powershell.clients.policyinsights/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.policyinsights.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.ResourceManager/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-juWnd63Z2Sp+6bvtOPOF0Gj1v2AfpxXcuyodd9+U7euBro2G7Yfo2UHmHo/uaYyQUbM3HaXJPvse7BLDKjhe6w==", + "path": "microsoft.azure.powershell.clients.resourcemanager/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.resourcemanager.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Storage.Management/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HPpTWIlN+5ALqJssL7+6BD/vYrWi3eWKQ3QpWYjCFk5c9HVLTNpP+M2dq9jbsxLsZj+5Pt6gC4FIS22Q13Uhag==", + "path": "microsoft.azure.powershell.clients.storage.management/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.storage.management.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Websites/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-b5yBD9FrY02r0kdNNgZ+uU0/QsW3AtmnCE/x1mUG5j8ka/V04AYUo+sDokQBzu+vnK6Y6OrVDtyWjmnKTDHpWA==", + "path": "microsoft.azure.powershell.clients.websites/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.websites.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Common/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-9jZYZ9LKbx16r69y7cO9d7bDjpE0/HgeBU386Y/O6q05VRaq2wAsB2rbQ9AjxcPGHfwS0+2US/RImSSqjVABRQ==", + "path": "microsoft.azure.powershell.common/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.common.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Common.Share/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4mJSjnwZVLQYWhP47eDzdt0yaLIf2I4pqaEIqcfAjkjdbKpnCXCnJUEFRId061yuKpq1LtfBZkHDRi68I5CJxg==", + "path": "microsoft.azure.powershell.common.share/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.common.share.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Storage/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-fObXEcuhk1JUoQ0fiCV4nK4NJWqvsfsKCzapF7SFEQ87X6AasL6m5KGT8JQSnHmc849xxxaixPTxyWaf9BBlpw==", + "path": "microsoft.azure.powershell.storage/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.storage.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Strategies/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HwyxUwDHCmY6Zdxg2xpFC9Gqmu92Xr0cAr4ElWYwz8Z7PE9uYVkTpKMIKd7oIJJgsIANTfqEU1HKoeI3FXPLqw==", + "path": "microsoft.azure.powershell.strategies/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.strategies.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Bcl.AsyncInterfaces/1.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-yuvf07qFWFqtK3P/MRkEKLhn5r2UbSpVueRziSqj0yJQIKFwG1pq9mOayK3zE5qZCTs0CbrwL9M6R8VwqyGy2w==", + "path": "microsoft.bcl.asyncinterfaces/1.1.1", + "hashPath": "microsoft.bcl.asyncinterfaces.1.1.1.nupkg.sha512" + }, + "Microsoft.CSharp/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kaj6Wb4qoMuH3HySFJhxwQfe8R/sJsNJnANrvv8WdFPMoNbKY5htfNscv+LHCu5ipz+49m2e+WQXpLXr9XYemQ==", + "path": "microsoft.csharp/4.5.0", + "hashPath": "microsoft.csharp.4.5.0.nupkg.sha512" + }, + "Microsoft.Identity.Client/4.30.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xk8tJeGfB2yD3+d7a0DXyV7/HYyEG10IofUHYHoPYKmDbroi/j9t1BqSHgbq1nARDjg7m8Ki6e21AyNU7e/R4Q==", + "path": "microsoft.identity.client/4.30.1", + "hashPath": "microsoft.identity.client.4.30.1.nupkg.sha512" + }, + "Microsoft.Identity.Client.Extensions.Msal/2.18.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HpG4oLwhQsy0ce7OWq9iDdLtJKOvKRStIKoSEOeBMKuohfuOWNDyhg8fMAJkpG/kFeoe4J329fiMHcJmmB+FPw==", + "path": "microsoft.identity.client.extensions.msal/2.18.4", + "hashPath": "microsoft.identity.client.extensions.msal.2.18.4.nupkg.sha512" + }, + "Microsoft.NETCore.Platforms/1.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-TMBuzAHpTenGbGgk0SMTwyEkyijY/Eae4ZGsFNYJvAr/LDn1ku3Etp3FPxChmDp5HHF3kzJuoaa08N0xjqAJfQ==", + "path": "microsoft.netcore.platforms/1.1.1", + "hashPath": "microsoft.netcore.platforms.1.1.1.nupkg.sha512" + }, + "Microsoft.NETCore.Targets/1.1.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3Wrmi0kJDzClwAC+iBdUBpEKmEle8FQNsCs77fkiOIw/9oYA07bL1EZNX0kQ2OMN3xpwvl0vAtOCYY3ndDNlhQ==", + "path": "microsoft.netcore.targets/1.1.3", + "hashPath": "microsoft.netcore.targets.1.1.3.nupkg.sha512" + }, + "Microsoft.Rest.ClientRuntime/2.3.23": { + "type": "package", + "serviceable": true, + "sha512": "sha512-92kNTi1N7zI5wwI2ZXswBRnk61OUYnuYJXrlgOhes5IsAqGmgw9DPGmhUzeY8OaZ8TTrQdDzvgXFnbCHwLzSVA==", + "path": "microsoft.rest.clientruntime/2.3.23", + "hashPath": "microsoft.rest.clientruntime.2.3.23.nupkg.sha512" + }, + "Microsoft.Rest.ClientRuntime.Azure/3.3.19": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+NVBWvRXNwaAPTZUxjUlQggsrf3X0GbiRoxYfgc3kG9E55ZxZxvZPT3nIfC4DNqzGSXUEvmLbckdXgBBzGdUaA==", + "path": "microsoft.rest.clientruntime.azure/3.3.19", + "hashPath": "microsoft.rest.clientruntime.azure.3.3.19.nupkg.sha512" + }, + "Microsoft.Win32.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==", + "path": "microsoft.win32.primitives/4.3.0", + "hashPath": "microsoft.win32.primitives.4.3.0.nupkg.sha512" + }, + "Microsoft.Win32.Registry/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Lw1/VwLH1yxz6SfFEjVRCN0pnflLEsWgnV4qsdJ512/HhTwnKXUG+zDQ4yTO3K/EJQemGoNaBHX5InISNKTzUQ==", + "path": "microsoft.win32.registry/4.3.0", + "hashPath": "microsoft.win32.registry.4.3.0.nupkg.sha512" + }, + "NETStandard.Library/2.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==", + "path": "netstandard.library/2.0.3", + "hashPath": "netstandard.library.2.0.3.nupkg.sha512" + }, + "Newtonsoft.Json/10.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-hSXaFmh7hNCuEoC4XNY5DrRkLDzYHqPx/Ik23R4J86Z7PE/Y6YidhG602dFVdLBRSdG6xp9NabH3dXpcoxWvww==", + "path": "newtonsoft.json/10.0.3", + "hashPath": "newtonsoft.json.10.0.3.nupkg.sha512" + }, + "PowerShellStandard.Library/5.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-iYaRvQsM1fow9h3uEmio+2m2VXfulgI16AYHaTZ8Sf7erGe27Qc8w/h6QL5UPuwv1aXR40QfzMEwcCeiYJp2cw==", + "path": "powershellstandard.library/5.1.0", + "hashPath": "powershellstandard.library.5.1.0.nupkg.sha512" + }, + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HdSSp5MnJSsg08KMfZThpuLPJpPwE5hBXvHwoKWosyHHfe8Mh5WKT0ylEOf6yNzX6Ngjxe4Whkafh5q7Ymac4Q==", + "path": "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+yH1a49wJMy8Zt4yx5RhJrxO/DBDByAiCzNwiETI+1S4mPdCu0OY4djdciC7Vssk0l22wQaDLrXxXkp+3+7bVA==", + "path": "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-c3YNH1GQJbfIPJeCnr4avseugSqPrxwIqzthYyZDN6EuOyNOzq+y2KSUfRcXauya1sF4foESTgwM5e1A8arAKw==", + "path": "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.native.System/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", + "path": "runtime.native.system/4.3.0", + "hashPath": "runtime.native.system.4.3.0.nupkg.sha512" + }, + "runtime.native.System.Net.Http/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", + "path": "runtime.native.system.net.http/4.3.0", + "hashPath": "runtime.native.system.net.http.4.3.0.nupkg.sha512" + }, + "runtime.native.System.Security.Cryptography.Apple/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", + "path": "runtime.native.system.security.cryptography.apple/4.3.0", + "hashPath": "runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512" + }, + "runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-NS1U+700m4KFRHR5o4vo9DSlTmlCKu/u7dtE5sUHVIPB+xpXxYQvgBgA6wEIeCz6Yfn0Z52/72WYsToCEPJnrw==", + "path": "runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-b3pthNgxxFcD+Pc0WSEoC0+md3MyhRS6aCEeenvNE3Fdw1HyJ18ZhRFVJJzIeR/O/jpxPboB805Ho0T3Ul7w8A==", + "path": "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KeLz4HClKf+nFS7p/6Fi/CqyLXh81FpiGzcmuS8DGi9lUqSnZ6Es23/gv2O+1XVGfrbNmviF7CckBpavkBoIFQ==", + "path": "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==", + "path": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple/4.3.0", + "hashPath": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-X7IdhILzr4ROXd8mI1BUCQMSHSQwelUlBjF1JyTKCjXaOGn2fB4EKBxQbCK2VjO3WaWIdlXZL3W6TiIVnrhX4g==", + "path": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-nyFNiCk/r+VOiIqreLix8yN+q3Wga9+SE8BCgkf+2BwEKiNx6DyvFjCgkfV743/grxv8jHJ8gUK4XEQw7yzRYg==", + "path": "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ytoewC6wGorL7KoCAvRfsgoJPJbNq+64k2SqW6JcOAebWsFUvCCYgfzQMrnpvPiEl4OrblUlhF2ji+Q1+SVLrQ==", + "path": "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-I8bKw2I8k58Wx7fMKQJn2R8lamboCAiHfHeV/pS65ScKWMMI0+wJkLYlEKvgW1D/XvSl/221clBoR2q9QNNM7A==", + "path": "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VB5cn/7OzUfzdnC8tqAIMQciVLiq2epm2NrAm1E9OjNRyG4lVhfR61SMcLizejzQP8R8Uf/0l5qOIbUEi+RdEg==", + "path": "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "System.Buffers/4.5.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==", + "path": "system.buffers/4.5.1", + "hashPath": "system.buffers.4.5.1.nupkg.sha512" + }, + "System.Collections/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", + "path": "system.collections/4.3.0", + "hashPath": "system.collections.4.3.0.nupkg.sha512" + }, + "System.Collections.Concurrent/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", + "path": "system.collections.concurrent/4.3.0", + "hashPath": "system.collections.concurrent.4.3.0.nupkg.sha512" + }, + "System.Collections.NonGeneric/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-prtjIEMhGUnQq6RnPEYLpFt8AtLbp9yq2zxOSrY7KJJZrw25Fi97IzBqY7iqssbM61Ek5b8f3MG/sG1N2sN5KA==", + "path": "system.collections.nongeneric/4.3.0", + "hashPath": "system.collections.nongeneric.4.3.0.nupkg.sha512" + }, + "System.Collections.Specialized/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Epx8PoVZR0iuOnJJDzp7pWvdfMMOAvpUo95pC4ScH2mJuXkKA2Y4aR3cG9qt2klHgSons1WFh4kcGW7cSXvrxg==", + "path": "system.collections.specialized/4.3.0", + "hashPath": "system.collections.specialized.4.3.0.nupkg.sha512" + }, + "System.ComponentModel/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VyGn1jGRZVfxnh8EdvDCi71v3bMXrsu8aYJOwoV7SNDLVhiEqwP86pPMyRGsDsxhXAm2b3o9OIqeETfN5qfezw==", + "path": "system.componentmodel/4.3.0", + "hashPath": "system.componentmodel.4.3.0.nupkg.sha512" + }, + "System.ComponentModel.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-j8GUkCpM8V4d4vhLIIoBLGey2Z5bCkMVNjEZseyAlm4n5arcsJOeI3zkUP+zvZgzsbLTYh4lYeP/ZD/gdIAPrw==", + "path": "system.componentmodel.primitives/4.3.0", + "hashPath": "system.componentmodel.primitives.4.3.0.nupkg.sha512" + }, + "System.ComponentModel.TypeConverter/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-16pQ6P+EdhcXzPiEK4kbA953Fu0MNG2ovxTZU81/qsCd1zPRsKc3uif5NgvllCY598k6bI0KUyKW8fanlfaDQg==", + "path": "system.componentmodel.typeconverter/4.3.0", + "hashPath": "system.componentmodel.typeconverter.4.3.0.nupkg.sha512" + }, + "System.Diagnostics.Debug/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", + "path": "system.diagnostics.debug/4.3.0", + "hashPath": "system.diagnostics.debug.4.3.0.nupkg.sha512" + }, + "System.Diagnostics.DiagnosticSource/4.6.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-mbBgoR0rRfl2uimsZ2avZY8g7Xnh1Mza0rJZLPcxqiMWlkGukjmRkuMJ/er+AhQuiRIh80CR/Hpeztr80seV5g==", + "path": "system.diagnostics.diagnosticsource/4.6.0", + "hashPath": "system.diagnostics.diagnosticsource.4.6.0.nupkg.sha512" + }, + "System.Diagnostics.Process/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-J0wOX07+QASQblsfxmIMFc9Iq7KTXYL3zs2G/Xc704Ylv3NpuVdo6gij6V3PGiptTxqsK0K7CdXenRvKUnkA2g==", + "path": "system.diagnostics.process/4.3.0", + "hashPath": "system.diagnostics.process.4.3.0.nupkg.sha512" + }, + "System.Diagnostics.Tools/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==", + "path": "system.diagnostics.tools/4.3.0", + "hashPath": "system.diagnostics.tools.4.3.0.nupkg.sha512" + }, + "System.Diagnostics.Tracing/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", + "path": "system.diagnostics.tracing/4.3.0", + "hashPath": "system.diagnostics.tracing.4.3.0.nupkg.sha512" + }, + "System.Dynamic.Runtime/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-SNVi1E/vfWUAs/WYKhE9+qlS6KqK0YVhnlT0HQtr8pMIA8YX3lwy3uPMownDwdYISBdmAF/2holEIldVp85Wag==", + "path": "system.dynamic.runtime/4.3.0", + "hashPath": "system.dynamic.runtime.4.3.0.nupkg.sha512" + }, + "System.Globalization/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", + "path": "system.globalization/4.3.0", + "hashPath": "system.globalization.4.3.0.nupkg.sha512" + }, + "System.Globalization.Calendars/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", + "path": "system.globalization.calendars/4.3.0", + "hashPath": "system.globalization.calendars.4.3.0.nupkg.sha512" + }, + "System.Globalization.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", + "path": "system.globalization.extensions/4.3.0", + "hashPath": "system.globalization.extensions.4.3.0.nupkg.sha512" + }, + "System.IO/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", + "path": "system.io/4.3.0", + "hashPath": "system.io.4.3.0.nupkg.sha512" + }, + "System.IO.FileSystem/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", + "path": "system.io.filesystem/4.3.0", + "hashPath": "system.io.filesystem.4.3.0.nupkg.sha512" + }, + "System.IO.FileSystem.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", + "path": "system.io.filesystem.primitives/4.3.0", + "hashPath": "system.io.filesystem.primitives.4.3.0.nupkg.sha512" + }, + "System.Linq/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", + "path": "system.linq/4.3.0", + "hashPath": "system.linq.4.3.0.nupkg.sha512" + }, + "System.Linq.Expressions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==", + "path": "system.linq.expressions/4.3.0", + "hashPath": "system.linq.expressions.4.3.0.nupkg.sha512" + }, + "System.Memory/4.5.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1MbJTHS1lZ4bS4FmsJjnuGJOu88ZzTT2rLvrhW7Ygic+pC0NWA+3hgAen0HRdsocuQXCkUTdFn9yHJJhsijDXw==", + "path": "system.memory/4.5.4", + "hashPath": "system.memory.4.5.4.nupkg.sha512" + }, + "System.Memory.Data/1.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JGkzeqgBsiZwKJZ1IxPNsDFZDhUvuEdX8L8BDC8N3KOj+6zMcNU28CNN59TpZE/VJYy9cP+5M+sbxtWJx3/xtw==", + "path": "system.memory.data/1.0.2", + "hashPath": "system.memory.data.1.0.2.nupkg.sha512" + }, + "System.Numerics.Vectors/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-QQTlPTl06J/iiDbJCiepZ4H//BVraReU4O4EoRw1U02H5TLUIT7xn3GnDp9AXPSlJUDyFs4uWjWafNX6WrAojQ==", + "path": "system.numerics.vectors/4.5.0", + "hashPath": "system.numerics.vectors.4.5.0.nupkg.sha512" + }, + "System.ObjectModel/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==", + "path": "system.objectmodel/4.3.0", + "hashPath": "system.objectmodel.4.3.0.nupkg.sha512" + }, + "System.Private.DataContractSerialization/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-yDaJ2x3mMmjdZEDB4IbezSnCsnjQ4BxinKhRAaP6kEgL6Bb6jANWphs5SzyD8imqeC/3FxgsuXT6ykkiH1uUmA==", + "path": "system.private.datacontractserialization/4.3.0", + "hashPath": "system.private.datacontractserialization.4.3.0.nupkg.sha512" + }, + "System.Private.Uri/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-o1+7RJnu3Ik3PazR7Z7tJhjPdE000Eq2KGLLWhqJJKXj04wrS8lwb1OFtDF9jzXXADhUuZNJZlPc98uwwqmpFA==", + "path": "system.private.uri/4.3.2", + "hashPath": "system.private.uri.4.3.2.nupkg.sha512" + }, + "System.Reflection/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", + "path": "system.reflection/4.3.0", + "hashPath": "system.reflection.4.3.0.nupkg.sha512" + }, + "System.Reflection.Emit/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==", + "path": "system.reflection.emit/4.3.0", + "hashPath": "system.reflection.emit.4.3.0.nupkg.sha512" + }, + "System.Reflection.Emit.ILGeneration/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==", + "path": "system.reflection.emit.ilgeneration/4.3.0", + "hashPath": "system.reflection.emit.ilgeneration.4.3.0.nupkg.sha512" + }, + "System.Reflection.Emit.Lightweight/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==", + "path": "system.reflection.emit.lightweight/4.3.0", + "hashPath": "system.reflection.emit.lightweight.4.3.0.nupkg.sha512" + }, + "System.Reflection.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==", + "path": "system.reflection.extensions/4.3.0", + "hashPath": "system.reflection.extensions.4.3.0.nupkg.sha512" + }, + "System.Reflection.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", + "path": "system.reflection.primitives/4.3.0", + "hashPath": "system.reflection.primitives.4.3.0.nupkg.sha512" + }, + "System.Reflection.TypeExtensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==", + "path": "system.reflection.typeextensions/4.3.0", + "hashPath": "system.reflection.typeextensions.4.3.0.nupkg.sha512" + }, + "System.Resources.ResourceManager/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", + "path": "system.resources.resourcemanager/4.3.0", + "hashPath": "system.resources.resourcemanager.4.3.0.nupkg.sha512" + }, + "System.Runtime/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", + "path": "system.runtime/4.3.0", + "hashPath": "system.runtime.4.3.0.nupkg.sha512" + }, + "System.Runtime.CompilerServices.Unsafe/4.7.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zOHkQmzPCn5zm/BH+cxC1XbUS3P4Yoi3xzW7eRgVpDR2tPGSzyMZ17Ig1iRkfJuY0nhxkQQde8pgePNiA7z7TQ==", + "path": "system.runtime.compilerservices.unsafe/4.7.1", + "hashPath": "system.runtime.compilerservices.unsafe.4.7.1.nupkg.sha512" + }, + "System.Runtime.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", + "path": "system.runtime.extensions/4.3.0", + "hashPath": "system.runtime.extensions.4.3.0.nupkg.sha512" + }, + "System.Runtime.Handles/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", + "path": "system.runtime.handles/4.3.0", + "hashPath": "system.runtime.handles.4.3.0.nupkg.sha512" + }, + "System.Runtime.InteropServices/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", + "path": "system.runtime.interopservices/4.3.0", + "hashPath": "system.runtime.interopservices.4.3.0.nupkg.sha512" + }, + "System.Runtime.Numerics/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", + "path": "system.runtime.numerics/4.3.0", + "hashPath": "system.runtime.numerics.4.3.0.nupkg.sha512" + }, + "System.Runtime.Serialization.Formatters/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KT591AkTNFOTbhZlaeMVvfax3RqhH1EJlcwF50Wm7sfnBLuHiOeZRRKrr1ns3NESkM20KPZ5Ol/ueMq5vg4QoQ==", + "path": "system.runtime.serialization.formatters/4.3.0", + "hashPath": "system.runtime.serialization.formatters.4.3.0.nupkg.sha512" + }, + "System.Runtime.Serialization.Json/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-CpVfOH0M/uZ5PH+M9+Gu56K0j9lJw3M+PKRegTkcrY/stOIvRUeonggxNrfBYLA5WOHL2j15KNJuTuld3x4o9w==", + "path": "system.runtime.serialization.json/4.3.0", + "hashPath": "system.runtime.serialization.json.4.3.0.nupkg.sha512" + }, + "System.Runtime.Serialization.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Wz+0KOukJGAlXjtKr+5Xpuxf8+c8739RI1C+A2BoQZT+wMCCoMDDdO8/4IRHfaVINqL78GO8dW8G2lW/e45Mcw==", + "path": "system.runtime.serialization.primitives/4.3.0", + "hashPath": "system.runtime.serialization.primitives.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.Algorithms/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", + "path": "system.security.cryptography.algorithms/4.3.0", + "hashPath": "system.security.cryptography.algorithms.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.Cng/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", + "path": "system.security.cryptography.cng/4.3.0", + "hashPath": "system.security.cryptography.cng.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.Csp/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", + "path": "system.security.cryptography.csp/4.3.0", + "hashPath": "system.security.cryptography.csp.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.Encoding/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", + "path": "system.security.cryptography.encoding/4.3.0", + "hashPath": "system.security.cryptography.encoding.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", + "path": "system.security.cryptography.openssl/4.3.0", + "hashPath": "system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", + "path": "system.security.cryptography.primitives/4.3.0", + "hashPath": "system.security.cryptography.primitives.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.ProtectedData/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-wLBKzFnDCxP12VL9ANydSYhk59fC4cvOr9ypYQLPnAj48NQIhqnjdD2yhP8yEKyBJEjERWS9DisKL7rX5eU25Q==", + "path": "system.security.cryptography.protecteddata/4.5.0", + "hashPath": "system.security.cryptography.protecteddata.4.5.0.nupkg.sha512" + }, + "System.Security.Cryptography.X509Certificates/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", + "path": "system.security.cryptography.x509certificates/4.3.0", + "hashPath": "system.security.cryptography.x509certificates.4.3.0.nupkg.sha512" + }, + "System.Security.SecureString/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-PnXp38O9q/2Oe4iZHMH60kinScv6QiiL2XH54Pj2t0Y6c2zKPEiAZsM/M3wBOHLNTBDFP0zfy13WN2M0qFz5jg==", + "path": "system.security.securestring/4.3.0", + "hashPath": "system.security.securestring.4.3.0.nupkg.sha512" + }, + "System.Text.Encoding/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", + "path": "system.text.encoding/4.3.0", + "hashPath": "system.text.encoding.4.3.0.nupkg.sha512" + }, + "System.Text.Encoding.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==", + "path": "system.text.encoding.extensions/4.3.0", + "hashPath": "system.text.encoding.extensions.4.3.0.nupkg.sha512" + }, + "System.Text.Encodings.Web/4.7.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-iTUgB/WtrZ1sWZs84F2hwyQhiRH6QNjQv2DkwrH+WP6RoFga2Q1m3f9/Q7FG8cck8AdHitQkmkXSY8qylcDmuA==", + "path": "system.text.encodings.web/4.7.2", + "hashPath": "system.text.encodings.web.4.7.2.nupkg.sha512" + }, + "System.Text.Json/4.7.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-TcMd95wcrubm9nHvJEQs70rC0H/8omiSGGpU4FQ/ZA1URIqD4pjmFJh2Mfv1yH1eHgJDWTi2hMDXwTET+zOOyg==", + "path": "system.text.json/4.7.2", + "hashPath": "system.text.json.4.7.2.nupkg.sha512" + }, + "System.Text.RegularExpressions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==", + "path": "system.text.regularexpressions/4.3.0", + "hashPath": "system.text.regularexpressions.4.3.0.nupkg.sha512" + }, + "System.Threading/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", + "path": "system.threading/4.3.0", + "hashPath": "system.threading.4.3.0.nupkg.sha512" + }, + "System.Threading.Tasks/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", + "path": "system.threading.tasks/4.3.0", + "hashPath": "system.threading.tasks.4.3.0.nupkg.sha512" + }, + "System.Threading.Tasks.Extensions/4.5.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==", + "path": "system.threading.tasks.extensions/4.5.4", + "hashPath": "system.threading.tasks.extensions.4.5.4.nupkg.sha512" + }, + "System.Threading.Thread/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "path": "system.threading.thread/4.3.0", + "hashPath": "system.threading.thread.4.3.0.nupkg.sha512" + }, + "System.Threading.ThreadPool/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-k/+g4b7vjdd4aix83sTgC9VG6oXYKAktSfNIJUNGxPEj7ryEOfzHHhfnmsZvjxawwcD9HyWXKCXmPjX8U4zeSw==", + "path": "system.threading.threadpool/4.3.0", + "hashPath": "system.threading.threadpool.4.3.0.nupkg.sha512" + }, + "System.Xml.ReaderWriter/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==", + "path": "system.xml.readerwriter/4.3.0", + "hashPath": "system.xml.readerwriter.4.3.0.nupkg.sha512" + }, + "System.Xml.XDocument/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==", + "path": "system.xml.xdocument/4.3.0", + "hashPath": "system.xml.xdocument.4.3.0.nupkg.sha512" + }, + "System.Xml.XmlDocument/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-lJ8AxvkX7GQxpC6GFCeBj8ThYVyQczx2+f/cWHJU8tjS7YfI6Cv6bon70jVEgs2CiFbmmM8b9j1oZVx0dSI2Ww==", + "path": "system.xml.xmldocument/4.3.0", + "hashPath": "system.xml.xmldocument.4.3.0.nupkg.sha512" + }, + "System.Xml.XmlSerializer/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-MYoTCP7EZ98RrANESW05J5ZwskKDoN0AuZ06ZflnowE50LTpbR5yRg3tHckTVm5j/m47stuGgCrCHWePyHS70Q==", + "path": "system.xml.xmlserializer/4.3.0", + "hashPath": "system.xml.xmlserializer.4.3.0.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Authentication/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Authentication.ResourceManager.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Authentication.ResourceManager.dll new file mode 100644 index 000000000000..fcc5eb26eb20 Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Authentication.ResourceManager.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Authentication.deps.json b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Authentication.deps.json new file mode 100644 index 000000000000..7828816a6777 --- /dev/null +++ b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Authentication.deps.json @@ -0,0 +1,2273 @@ +{ + "runtimeTarget": { + "name": ".NETStandard,Version=v2.0/", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETStandard,Version=v2.0": {}, + ".NETStandard,Version=v2.0/": { + "Microsoft.Azure.PowerShell.Authentication/1.0.0": { + "dependencies": { + "Azure.Core": "1.22.0", + "Azure.Identity": "1.5.0", + "Hyak.Common": "1.2.2", + "Microsoft.ApplicationInsights": "2.12.0", + "Microsoft.Azure.Common": "2.2.1", + "Microsoft.Azure.PowerShell.Authentication.Abstractions": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Aks": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Authorization": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Compute": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Graph.Rbac": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.KeyVault": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Monitor": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Network": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.PolicyInsights": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.ResourceManager": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Storage.Management": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Websites": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common.Share": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Storage": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Strategies": "1.3.57-preview", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "NETStandard.Library": "2.0.3", + "Newtonsoft.Json": "10.0.3", + "PowerShellStandard.Library": "5.1.0" + }, + "runtime": { + "Microsoft.Azure.PowerShell.Authentication.dll": {} + } + }, + "Azure.Core/1.22.0": { + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Diagnostics.DiagnosticSource": "4.6.0", + "System.Memory.Data": "1.0.2", + "System.Numerics.Vectors": "4.5.0", + "System.Text.Encodings.Web": "4.7.2", + "System.Text.Json": "4.7.2", + "System.Threading.Tasks.Extensions": "4.5.4" + }, + "runtime": { + "lib/netstandard2.0/Azure.Core.dll": { + "assemblyVersion": "1.22.0.0", + "fileVersion": "1.2200.22.6212" + } + } + }, + "Azure.Identity/1.5.0": { + "dependencies": { + "Azure.Core": "1.22.0", + "Microsoft.Identity.Client": "4.30.1", + "Microsoft.Identity.Client.Extensions.Msal": "2.18.4", + "System.Memory": "4.5.4", + "System.Security.Cryptography.ProtectedData": "4.5.0", + "System.Text.Json": "4.7.2", + "System.Threading.Tasks.Extensions": "4.5.4" + }, + "runtime": { + "lib/netstandard2.0/Azure.Identity.dll": { + "assemblyVersion": "1.5.0.0", + "fileVersion": "1.500.21.51401" + } + } + }, + "Hyak.Common/1.2.2": { + "dependencies": { + "NETStandard.Library": "2.0.3", + "Newtonsoft.Json": "10.0.3", + "System.Reflection": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.4/Hyak.Common.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.2.2.0" + } + } + }, + "Microsoft.ApplicationInsights/2.12.0": { + "dependencies": { + "System.Diagnostics.DiagnosticSource": "4.6.0", + "System.Runtime.InteropServices": "4.3.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.ApplicationInsights.dll": { + "assemblyVersion": "2.12.0.21496", + "fileVersion": "2.12.0.21496" + } + } + }, + "Microsoft.Azure.Common/2.2.1": { + "dependencies": { + "Hyak.Common": "1.2.2", + "NETStandard.Library": "2.0.3" + }, + "runtime": { + "lib/netstandard1.4/Microsoft.Azure.Common.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.2.1.0" + } + } + }, + "Microsoft.Azure.PowerShell.Authentication.Abstractions/1.3.57-preview": { + "dependencies": { + "Hyak.Common": "1.2.2", + "Microsoft.Azure.Common": "2.2.1", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Authentication.Abstractions.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Aks/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Aks.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Authorization/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Authorization.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Compute/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Compute.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Graph.Rbac/1.3.57-preview": { + "dependencies": { + "Microsoft.Azure.PowerShell.Authentication.Abstractions": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.ResourceManager": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common": "1.3.57-preview", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Graph.Rbac.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.KeyVault/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3", + "System.Collections.NonGeneric": "4.3.0", + "System.Collections.Specialized": "4.3.0", + "System.Reflection": "4.3.0", + "System.Security.SecureString": "4.3.0", + "System.Xml.XmlDocument": "4.3.0", + "System.Xml.XmlSerializer": "4.3.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.KeyVault.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Monitor/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3", + "System.Collections.Specialized": "4.3.0", + "System.Reflection": "4.3.0", + "System.Security.SecureString": "4.3.0", + "System.Xml.XmlDocument": "4.3.0", + "System.Xml.XmlSerializer": "4.3.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Monitor.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Network/1.3.57-preview": { + "dependencies": { + "Microsoft.Azure.PowerShell.Authentication.Abstractions": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common": "1.3.57-preview", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Network.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.PolicyInsights/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.PolicyInsights.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.ResourceManager/1.3.57-preview": { + "dependencies": { + "Microsoft.Azure.PowerShell.Authentication.Abstractions": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common": "1.3.57-preview", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.ResourceManager.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Storage.Management/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "System.Collections.NonGeneric": "4.3.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Storage.Management.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Websites/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3", + "System.Collections.Specialized": "4.3.0", + "System.Reflection": "4.3.0", + "System.Security.SecureString": "4.3.0", + "System.Xml.XmlDocument": "4.3.0", + "System.Xml.XmlSerializer": "4.3.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Websites.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Common/1.3.57-preview": { + "dependencies": { + "Hyak.Common": "1.2.2", + "Microsoft.ApplicationInsights": "2.12.0", + "Microsoft.Azure.Common": "2.2.1", + "Microsoft.Azure.PowerShell.Authentication.Abstractions": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common.Share": "1.3.57-preview", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Common.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Common.Share/1.3.57-preview": { + "dependencies": { + "Hyak.Common": "1.2.2", + "Microsoft.Azure.Common": "2.2.1", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Common.Share.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Storage/1.3.57-preview": { + "dependencies": { + "Microsoft.Azure.PowerShell.Authentication.Abstractions": "1.3.57-preview", + "Microsoft.Rest.ClientRuntime": "2.3.23" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Storage.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Strategies/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Strategies.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Bcl.AsyncInterfaces/1.1.1": { + "dependencies": { + "System.Threading.Tasks.Extensions": "4.5.4" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "4.700.20.21406" + } + } + }, + "Microsoft.CSharp/4.5.0": { + "runtime": { + "lib/netstandard2.0/Microsoft.CSharp.dll": { + "assemblyVersion": "4.0.4.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "Microsoft.Identity.Client/4.30.1": { + "dependencies": { + "Microsoft.CSharp": "4.5.0", + "NETStandard.Library": "2.0.3", + "System.ComponentModel.TypeConverter": "4.3.0", + "System.Diagnostics.Process": "4.3.0", + "System.Dynamic.Runtime": "4.3.0", + "System.Private.Uri": "4.3.2", + "System.Runtime.Serialization.Formatters": "4.3.0", + "System.Runtime.Serialization.Json": "4.3.0", + "System.Runtime.Serialization.Primitives": "4.3.0", + "System.Security.Cryptography.X509Certificates": "4.3.0", + "System.Security.SecureString": "4.3.0", + "System.Xml.XDocument": "4.3.0", + "System.Xml.XmlDocument": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/Microsoft.Identity.Client.dll": { + "assemblyVersion": "4.30.1.0", + "fileVersion": "4.30.1.0" + } + } + }, + "Microsoft.Identity.Client.Extensions.Msal/2.18.4": { + "dependencies": { + "Microsoft.Identity.Client": "4.30.1", + "System.Security.Cryptography.ProtectedData": "4.5.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Identity.Client.Extensions.Msal.dll": { + "assemblyVersion": "2.18.4.0", + "fileVersion": "2.18.4.0" + } + } + }, + "Microsoft.NETCore.Platforms/1.1.1": {}, + "Microsoft.NETCore.Targets/1.1.3": {}, + "Microsoft.Rest.ClientRuntime/2.3.23": { + "dependencies": { + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Rest.ClientRuntime.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.3.23.0" + } + } + }, + "Microsoft.Rest.ClientRuntime.Azure/3.3.19": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Rest.ClientRuntime.Azure.dll": { + "assemblyVersion": "3.0.0.0", + "fileVersion": "3.3.18.0" + } + } + }, + "Microsoft.Win32.Primitives/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "Microsoft.Win32.Registry/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "System.Collections": "4.3.0", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0" + } + }, + "NETStandard.Library/2.0.3": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1" + } + }, + "Newtonsoft.Json/10.0.3": { + "dependencies": { + "Microsoft.CSharp": "4.5.0", + "NETStandard.Library": "2.0.3", + "System.ComponentModel.TypeConverter": "4.3.0", + "System.Runtime.Serialization.Formatters": "4.3.0", + "System.Runtime.Serialization.Primitives": "4.3.0", + "System.Xml.XmlDocument": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/Newtonsoft.Json.dll": { + "assemblyVersion": "10.0.0.0", + "fileVersion": "10.0.3.21018" + } + } + }, + "PowerShellStandard.Library/5.1.0": {}, + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.native.System/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3" + } + }, + "runtime.native.System.Net.Http/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3" + } + }, + "runtime.native.System.Security.Cryptography.Apple/4.3.0": { + "dependencies": { + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" + } + }, + "runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "dependencies": { + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple/4.3.0": {}, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "System.Buffers/4.5.1": { + "runtime": { + "lib/netstandard2.0/System.Buffers.dll": { + "assemblyVersion": "4.0.3.0", + "fileVersion": "4.6.28619.1" + } + } + }, + "System.Collections/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "System.Collections.Concurrent/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Collections.Concurrent.dll": { + "assemblyVersion": "4.0.13.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Collections.NonGeneric/4.3.0": { + "dependencies": { + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Collections.NonGeneric.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Collections.Specialized/4.3.0": { + "dependencies": { + "System.Collections.NonGeneric": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Extensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Collections.Specialized.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.ComponentModel/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.ComponentModel.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.ComponentModel.Primitives/4.3.0": { + "dependencies": { + "System.ComponentModel": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.0/System.ComponentModel.Primitives.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.ComponentModel.TypeConverter/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Collections.NonGeneric": "4.3.0", + "System.Collections.Specialized": "4.3.0", + "System.ComponentModel": "4.3.0", + "System.ComponentModel.Primitives": "4.3.0", + "System.Globalization": "4.3.0", + "System.Linq": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.5/System.ComponentModel.TypeConverter.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Diagnostics.Debug/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.DiagnosticSource/4.6.0": { + "dependencies": { + "System.Memory": "4.5.4" + }, + "runtime": { + "lib/netstandard1.3/System.Diagnostics.DiagnosticSource.dll": { + "assemblyVersion": "4.0.4.0", + "fileVersion": "4.700.19.46214" + } + } + }, + "System.Diagnostics.Process/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.Win32.Primitives": "4.3.0", + "Microsoft.Win32.Registry": "4.3.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.Thread": "4.3.0", + "System.Threading.ThreadPool": "4.3.0", + "runtime.native.System": "4.3.0" + } + }, + "System.Diagnostics.Tools/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.Tracing/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "System.Dynamic.Runtime/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Linq": "4.3.0", + "System.Linq.Expressions": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Dynamic.Runtime.dll": { + "assemblyVersion": "4.0.12.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Globalization/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization.Calendars/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Globalization": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization.Extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0" + } + }, + "System.IO/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.IO.FileSystem/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.IO": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.IO.FileSystem.Primitives/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.IO.FileSystem.Primitives.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Linq/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + }, + "runtime": { + "lib/netstandard1.6/System.Linq.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Linq.Expressions/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Linq": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Emit.Lightweight": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.6/System.Linq.Expressions.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Memory/4.5.4": { + "dependencies": { + "System.Buffers": "4.5.1", + "System.Numerics.Vectors": "4.5.0", + "System.Runtime.CompilerServices.Unsafe": "4.7.1" + }, + "runtime": { + "lib/netstandard2.0/System.Memory.dll": { + "assemblyVersion": "4.0.1.1", + "fileVersion": "4.6.28619.1" + } + } + }, + "System.Memory.Data/1.0.2": { + "dependencies": { + "System.Text.Encodings.Web": "4.7.2", + "System.Text.Json": "4.7.2" + }, + "runtime": { + "lib/netstandard2.0/System.Memory.Data.dll": { + "assemblyVersion": "1.0.2.0", + "fileVersion": "1.0.221.20802" + } + } + }, + "System.Numerics.Vectors/4.5.0": { + "runtime": { + "lib/netstandard2.0/System.Numerics.Vectors.dll": { + "assemblyVersion": "4.1.4.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "System.ObjectModel/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.ObjectModel.dll": { + "assemblyVersion": "4.0.13.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Private.DataContractSerialization/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Collections.Concurrent": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Linq": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Emit.Lightweight": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Serialization.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Text.RegularExpressions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0", + "System.Xml.XDocument": "4.3.0", + "System.Xml.XmlDocument": "4.3.0", + "System.Xml.XmlSerializer": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Private.DataContractSerialization.dll": { + "assemblyVersion": "4.1.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Private.Uri/4.3.2": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3" + } + }, + "System.Reflection/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.IO": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Emit/4.3.0": { + "dependencies": { + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Reflection.Emit.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Reflection.Emit.ILGeneration/4.3.0": { + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Reflection.Emit.ILGeneration.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Reflection.Emit.Lightweight/4.3.0": { + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Reflection.Emit.Lightweight.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Reflection.Extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Primitives/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.TypeExtensions/4.3.0": { + "dependencies": { + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.5/System.Reflection.TypeExtensions.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Resources.ResourceManager/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Globalization": "4.3.0", + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3" + } + }, + "System.Runtime.CompilerServices.Unsafe/4.7.1": { + "runtime": { + "lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll": { + "assemblyVersion": "4.0.6.0", + "fileVersion": "4.700.20.12001" + } + } + }, + "System.Runtime.Extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.Handles/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.InteropServices/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + } + }, + "System.Runtime.Numerics/4.3.0": { + "dependencies": { + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Runtime.Numerics.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Runtime.Serialization.Formatters/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Serialization.Primitives": "4.3.0" + }, + "runtime": { + "lib/netstandard1.4/System.Runtime.Serialization.Formatters.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Runtime.Serialization.Json/4.3.0": { + "dependencies": { + "System.IO": "4.3.0", + "System.Private.DataContractSerialization": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Runtime.Serialization.Json.dll": { + "assemblyVersion": "4.0.3.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Runtime.Serialization.Primitives/4.3.0": { + "dependencies": { + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Runtime.Serialization.Primitives.dll": { + "assemblyVersion": "4.1.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Security.Cryptography.Algorithms/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "System.Collections": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.Apple": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "System.Security.Cryptography.Cng/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0" + } + }, + "System.Security.Cryptography.Csp/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Security.Cryptography.Encoding/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "System.Collections": "4.3.0", + "System.Collections.Concurrent": "4.3.0", + "System.Linq": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "System.Security.Cryptography.OpenSsl/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + }, + "runtime": { + "lib/netstandard1.6/System.Security.Cryptography.OpenSsl.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "1.0.24212.1" + } + } + }, + "System.Security.Cryptography.Primitives/4.3.0": { + "dependencies": { + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Security.Cryptography.Primitives.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Security.Cryptography.ProtectedData/4.5.0": { + "dependencies": { + "System.Memory": "4.5.4" + }, + "runtime": { + "lib/netstandard2.0/System.Security.Cryptography.ProtectedData.dll": { + "assemblyVersion": "4.0.3.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "System.Security.Cryptography.X509Certificates/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Calendars": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Cng": "4.3.0", + "System.Security.Cryptography.Csp": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.OpenSsl": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "runtime.native.System": "4.3.0", + "runtime.native.System.Net.Http": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "System.Security.SecureString/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Text.Encoding/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "System.Text.Encoding.Extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0" + } + }, + "System.Text.Encodings.Web/4.7.2": { + "dependencies": { + "System.Buffers": "4.5.1", + "System.Memory": "4.5.4" + }, + "runtime": { + "lib/netstandard2.0/System.Text.Encodings.Web.dll": { + "assemblyVersion": "4.0.5.1", + "fileVersion": "4.700.21.11602" + } + } + }, + "System.Text.Json/4.7.2": { + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Buffers": "4.5.1", + "System.Memory": "4.5.4", + "System.Numerics.Vectors": "4.5.0", + "System.Runtime.CompilerServices.Unsafe": "4.7.1", + "System.Text.Encodings.Web": "4.7.2", + "System.Threading.Tasks.Extensions": "4.5.4" + }, + "runtime": { + "lib/netstandard2.0/System.Text.Json.dll": { + "assemblyVersion": "4.0.1.2", + "fileVersion": "4.700.20.21406" + } + } + }, + "System.Text.RegularExpressions/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.6/System.Text.RegularExpressions.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Threading/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Threading.dll": { + "assemblyVersion": "4.0.12.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Threading.Tasks/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "System.Threading.Tasks.Extensions/4.5.4": { + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "4.7.1" + }, + "runtime": { + "lib/netstandard2.0/System.Threading.Tasks.Extensions.dll": { + "assemblyVersion": "4.2.0.1", + "fileVersion": "4.6.28619.1" + } + } + }, + "System.Threading.Thread/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Threading.Thread.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Threading.ThreadPool/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Threading.ThreadPool.dll": { + "assemblyVersion": "4.0.11.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Xml.ReaderWriter/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Text.RegularExpressions": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.Tasks.Extensions": "4.5.4" + }, + "runtime": { + "lib/netstandard1.3/System.Xml.ReaderWriter.dll": { + "assemblyVersion": "4.1.0.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Xml.XDocument/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tools": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Xml.XDocument.dll": { + "assemblyVersion": "4.0.12.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Xml.XmlDocument/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Xml.XmlDocument.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Xml.XmlSerializer/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Linq": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.RegularExpressions": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0", + "System.Xml.XmlDocument": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Xml.XmlSerializer.dll": { + "assemblyVersion": "4.0.12.0", + "fileVersion": "4.6.24705.1" + } + } + } + } + }, + "libraries": { + "Microsoft.Azure.PowerShell.Authentication/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Azure.Core/1.22.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ze/xRCHSSDe5TIk5vBDbVrauW1EN7UIbnBvIBfMH8KSt/I9+/7yPAjTBDgNBk0IwG6WBV+BBHp4IUtS/PGAQwQ==", + "path": "azure.core/1.22.0", + "hashPath": "azure.core.1.22.0.nupkg.sha512" + }, + "Azure.Identity/1.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VfF88dqrgKXZNOS/y4XrX/jmIfP3pkY+hBUzBNpoKml1nR+QshX6XlXWyToLtWV80TDQ1CmUVCJksktDg5+j1w==", + "path": "azure.identity/1.5.0", + "hashPath": "azure.identity.1.5.0.nupkg.sha512" + }, + "Hyak.Common/1.2.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-uZpnFn48nSQwHcO0/GSBZ7ExaO0sTXKv8KariXXEWLaB4Q3AeQoprYG4WpKsCT0ByW3YffETivgc5rcH5RRDvQ==", + "path": "hyak.common/1.2.2", + "hashPath": "hyak.common.1.2.2.nupkg.sha512" + }, + "Microsoft.ApplicationInsights/2.12.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4vZcVaxywAzfLm5mAc2/llaZQTzbCqu9KirxxI/t49AkZH5Qxf7JxuAMUuv2/6JEdOOkGDzpvdrrIlf6LkFGcg==", + "path": "microsoft.applicationinsights/2.12.0", + "hashPath": "microsoft.applicationinsights.2.12.0.nupkg.sha512" + }, + "Microsoft.Azure.Common/2.2.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-abzRooh4ACKjzAKxRB6r+SHKW3d+IrLcgtVG81D+3kQU/OMjAZS1oDp9CDalhSbmxa84u0MHM5N+AKeTtKPoiw==", + "path": "microsoft.azure.common/2.2.1", + "hashPath": "microsoft.azure.common.2.2.1.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Authentication.Abstractions/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bKDPidNeqBpTDikPnIuoMoGd26pD2PNE41cut0ASwL5exJwLNggYO55U+f/cJkgjCUMR8i5nqnlfpGHSS1I0vw==", + "path": "microsoft.azure.powershell.authentication.abstractions/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.authentication.abstractions.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Aks/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-sUGkvOvpqlEK5zdZ7HWaou3GY5bnlNrE0LuZ137+TsNfgx2E3+0Ika3a02i/9+niDDf60xj4LaNOYDSuK5zdJA==", + "path": "microsoft.azure.powershell.clients.aks/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.aks.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Authorization/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Q760F40/qfas2Al+GQhhE4gJt768pQPxlCjqrjjkukgVsq+X/M8IqpCeBzbRTiiyerhcjJoyNxqlGuZpUhqGxw==", + "path": "microsoft.azure.powershell.clients.authorization/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.authorization.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Compute/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1fcsBdYMmEJPMPN8EAgJkaJ2WxxTKH3VcLECYdL2cfg2bgN8CKbbjSvarrXEezhyduE+LdYnL0e8Pigsnaj55Q==", + "path": "microsoft.azure.powershell.clients.compute/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.compute.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Graph.Rbac/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BIMthJ1x2vQAN3iWChnNj8BfgrXvKXn+n06E0/h2MNurMXbAOn5eiPIfE8bnj2BO99uSh1ns09yEgOTPJIvZBQ==", + "path": "microsoft.azure.powershell.clients.graph.rbac/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.graph.rbac.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.KeyVault/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-MfvwM8ABj/EswmYu0Bf/8kyAO6kUv2zYSihVn384SVmypomVKUu69GN0VXKbmGaovPI8v3H41Ldp7DqbPRun5A==", + "path": "microsoft.azure.powershell.clients.keyvault/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.keyvault.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Monitor/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-UyCKG5BWVjYFRtH2JNx6f4KdccaSqww2y0OE2PYgib8VhLqkoPr/BQg6vKzaGsghLIerZ/egQ7ntPPw3PCtS3w==", + "path": "microsoft.azure.powershell.clients.monitor/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.monitor.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Network/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YAAHxw+zzvkGNWAi668NSoTR+V/7vf+gRhu1oFa1O1/f2NGpz5XuqPrQyAPrri64hKqB/k3OMrM7sjlIv16dAg==", + "path": "microsoft.azure.powershell.clients.network/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.network.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.PolicyInsights/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-urRIwRVzzOwpk8HhKq/b785DiL/arnmGUHbN4HvRN6ZsBkE1PU431YwgUlofb9pfB3buLcl0XJFRPLBJ0yZJUw==", + "path": "microsoft.azure.powershell.clients.policyinsights/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.policyinsights.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.ResourceManager/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-juWnd63Z2Sp+6bvtOPOF0Gj1v2AfpxXcuyodd9+U7euBro2G7Yfo2UHmHo/uaYyQUbM3HaXJPvse7BLDKjhe6w==", + "path": "microsoft.azure.powershell.clients.resourcemanager/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.resourcemanager.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Storage.Management/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HPpTWIlN+5ALqJssL7+6BD/vYrWi3eWKQ3QpWYjCFk5c9HVLTNpP+M2dq9jbsxLsZj+5Pt6gC4FIS22Q13Uhag==", + "path": "microsoft.azure.powershell.clients.storage.management/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.storage.management.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Websites/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-b5yBD9FrY02r0kdNNgZ+uU0/QsW3AtmnCE/x1mUG5j8ka/V04AYUo+sDokQBzu+vnK6Y6OrVDtyWjmnKTDHpWA==", + "path": "microsoft.azure.powershell.clients.websites/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.websites.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Common/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-9jZYZ9LKbx16r69y7cO9d7bDjpE0/HgeBU386Y/O6q05VRaq2wAsB2rbQ9AjxcPGHfwS0+2US/RImSSqjVABRQ==", + "path": "microsoft.azure.powershell.common/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.common.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Common.Share/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4mJSjnwZVLQYWhP47eDzdt0yaLIf2I4pqaEIqcfAjkjdbKpnCXCnJUEFRId061yuKpq1LtfBZkHDRi68I5CJxg==", + "path": "microsoft.azure.powershell.common.share/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.common.share.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Storage/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-fObXEcuhk1JUoQ0fiCV4nK4NJWqvsfsKCzapF7SFEQ87X6AasL6m5KGT8JQSnHmc849xxxaixPTxyWaf9BBlpw==", + "path": "microsoft.azure.powershell.storage/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.storage.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Strategies/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HwyxUwDHCmY6Zdxg2xpFC9Gqmu92Xr0cAr4ElWYwz8Z7PE9uYVkTpKMIKd7oIJJgsIANTfqEU1HKoeI3FXPLqw==", + "path": "microsoft.azure.powershell.strategies/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.strategies.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Bcl.AsyncInterfaces/1.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-yuvf07qFWFqtK3P/MRkEKLhn5r2UbSpVueRziSqj0yJQIKFwG1pq9mOayK3zE5qZCTs0CbrwL9M6R8VwqyGy2w==", + "path": "microsoft.bcl.asyncinterfaces/1.1.1", + "hashPath": "microsoft.bcl.asyncinterfaces.1.1.1.nupkg.sha512" + }, + "Microsoft.CSharp/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kaj6Wb4qoMuH3HySFJhxwQfe8R/sJsNJnANrvv8WdFPMoNbKY5htfNscv+LHCu5ipz+49m2e+WQXpLXr9XYemQ==", + "path": "microsoft.csharp/4.5.0", + "hashPath": "microsoft.csharp.4.5.0.nupkg.sha512" + }, + "Microsoft.Identity.Client/4.30.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xk8tJeGfB2yD3+d7a0DXyV7/HYyEG10IofUHYHoPYKmDbroi/j9t1BqSHgbq1nARDjg7m8Ki6e21AyNU7e/R4Q==", + "path": "microsoft.identity.client/4.30.1", + "hashPath": "microsoft.identity.client.4.30.1.nupkg.sha512" + }, + "Microsoft.Identity.Client.Extensions.Msal/2.18.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HpG4oLwhQsy0ce7OWq9iDdLtJKOvKRStIKoSEOeBMKuohfuOWNDyhg8fMAJkpG/kFeoe4J329fiMHcJmmB+FPw==", + "path": "microsoft.identity.client.extensions.msal/2.18.4", + "hashPath": "microsoft.identity.client.extensions.msal.2.18.4.nupkg.sha512" + }, + "Microsoft.NETCore.Platforms/1.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-TMBuzAHpTenGbGgk0SMTwyEkyijY/Eae4ZGsFNYJvAr/LDn1ku3Etp3FPxChmDp5HHF3kzJuoaa08N0xjqAJfQ==", + "path": "microsoft.netcore.platforms/1.1.1", + "hashPath": "microsoft.netcore.platforms.1.1.1.nupkg.sha512" + }, + "Microsoft.NETCore.Targets/1.1.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3Wrmi0kJDzClwAC+iBdUBpEKmEle8FQNsCs77fkiOIw/9oYA07bL1EZNX0kQ2OMN3xpwvl0vAtOCYY3ndDNlhQ==", + "path": "microsoft.netcore.targets/1.1.3", + "hashPath": "microsoft.netcore.targets.1.1.3.nupkg.sha512" + }, + "Microsoft.Rest.ClientRuntime/2.3.23": { + "type": "package", + "serviceable": true, + "sha512": "sha512-92kNTi1N7zI5wwI2ZXswBRnk61OUYnuYJXrlgOhes5IsAqGmgw9DPGmhUzeY8OaZ8TTrQdDzvgXFnbCHwLzSVA==", + "path": "microsoft.rest.clientruntime/2.3.23", + "hashPath": "microsoft.rest.clientruntime.2.3.23.nupkg.sha512" + }, + "Microsoft.Rest.ClientRuntime.Azure/3.3.19": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+NVBWvRXNwaAPTZUxjUlQggsrf3X0GbiRoxYfgc3kG9E55ZxZxvZPT3nIfC4DNqzGSXUEvmLbckdXgBBzGdUaA==", + "path": "microsoft.rest.clientruntime.azure/3.3.19", + "hashPath": "microsoft.rest.clientruntime.azure.3.3.19.nupkg.sha512" + }, + "Microsoft.Win32.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==", + "path": "microsoft.win32.primitives/4.3.0", + "hashPath": "microsoft.win32.primitives.4.3.0.nupkg.sha512" + }, + "Microsoft.Win32.Registry/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Lw1/VwLH1yxz6SfFEjVRCN0pnflLEsWgnV4qsdJ512/HhTwnKXUG+zDQ4yTO3K/EJQemGoNaBHX5InISNKTzUQ==", + "path": "microsoft.win32.registry/4.3.0", + "hashPath": "microsoft.win32.registry.4.3.0.nupkg.sha512" + }, + "NETStandard.Library/2.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==", + "path": "netstandard.library/2.0.3", + "hashPath": "netstandard.library.2.0.3.nupkg.sha512" + }, + "Newtonsoft.Json/10.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-hSXaFmh7hNCuEoC4XNY5DrRkLDzYHqPx/Ik23R4J86Z7PE/Y6YidhG602dFVdLBRSdG6xp9NabH3dXpcoxWvww==", + "path": "newtonsoft.json/10.0.3", + "hashPath": "newtonsoft.json.10.0.3.nupkg.sha512" + }, + "PowerShellStandard.Library/5.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-iYaRvQsM1fow9h3uEmio+2m2VXfulgI16AYHaTZ8Sf7erGe27Qc8w/h6QL5UPuwv1aXR40QfzMEwcCeiYJp2cw==", + "path": "powershellstandard.library/5.1.0", + "hashPath": "powershellstandard.library.5.1.0.nupkg.sha512" + }, + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HdSSp5MnJSsg08KMfZThpuLPJpPwE5hBXvHwoKWosyHHfe8Mh5WKT0ylEOf6yNzX6Ngjxe4Whkafh5q7Ymac4Q==", + "path": "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+yH1a49wJMy8Zt4yx5RhJrxO/DBDByAiCzNwiETI+1S4mPdCu0OY4djdciC7Vssk0l22wQaDLrXxXkp+3+7bVA==", + "path": "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-c3YNH1GQJbfIPJeCnr4avseugSqPrxwIqzthYyZDN6EuOyNOzq+y2KSUfRcXauya1sF4foESTgwM5e1A8arAKw==", + "path": "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.native.System/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", + "path": "runtime.native.system/4.3.0", + "hashPath": "runtime.native.system.4.3.0.nupkg.sha512" + }, + "runtime.native.System.Net.Http/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", + "path": "runtime.native.system.net.http/4.3.0", + "hashPath": "runtime.native.system.net.http.4.3.0.nupkg.sha512" + }, + "runtime.native.System.Security.Cryptography.Apple/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", + "path": "runtime.native.system.security.cryptography.apple/4.3.0", + "hashPath": "runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512" + }, + "runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-NS1U+700m4KFRHR5o4vo9DSlTmlCKu/u7dtE5sUHVIPB+xpXxYQvgBgA6wEIeCz6Yfn0Z52/72WYsToCEPJnrw==", + "path": "runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-b3pthNgxxFcD+Pc0WSEoC0+md3MyhRS6aCEeenvNE3Fdw1HyJ18ZhRFVJJzIeR/O/jpxPboB805Ho0T3Ul7w8A==", + "path": "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KeLz4HClKf+nFS7p/6Fi/CqyLXh81FpiGzcmuS8DGi9lUqSnZ6Es23/gv2O+1XVGfrbNmviF7CckBpavkBoIFQ==", + "path": "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==", + "path": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple/4.3.0", + "hashPath": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-X7IdhILzr4ROXd8mI1BUCQMSHSQwelUlBjF1JyTKCjXaOGn2fB4EKBxQbCK2VjO3WaWIdlXZL3W6TiIVnrhX4g==", + "path": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-nyFNiCk/r+VOiIqreLix8yN+q3Wga9+SE8BCgkf+2BwEKiNx6DyvFjCgkfV743/grxv8jHJ8gUK4XEQw7yzRYg==", + "path": "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ytoewC6wGorL7KoCAvRfsgoJPJbNq+64k2SqW6JcOAebWsFUvCCYgfzQMrnpvPiEl4OrblUlhF2ji+Q1+SVLrQ==", + "path": "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-I8bKw2I8k58Wx7fMKQJn2R8lamboCAiHfHeV/pS65ScKWMMI0+wJkLYlEKvgW1D/XvSl/221clBoR2q9QNNM7A==", + "path": "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VB5cn/7OzUfzdnC8tqAIMQciVLiq2epm2NrAm1E9OjNRyG4lVhfR61SMcLizejzQP8R8Uf/0l5qOIbUEi+RdEg==", + "path": "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "System.Buffers/4.5.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==", + "path": "system.buffers/4.5.1", + "hashPath": "system.buffers.4.5.1.nupkg.sha512" + }, + "System.Collections/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", + "path": "system.collections/4.3.0", + "hashPath": "system.collections.4.3.0.nupkg.sha512" + }, + "System.Collections.Concurrent/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", + "path": "system.collections.concurrent/4.3.0", + "hashPath": "system.collections.concurrent.4.3.0.nupkg.sha512" + }, + "System.Collections.NonGeneric/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-prtjIEMhGUnQq6RnPEYLpFt8AtLbp9yq2zxOSrY7KJJZrw25Fi97IzBqY7iqssbM61Ek5b8f3MG/sG1N2sN5KA==", + "path": "system.collections.nongeneric/4.3.0", + "hashPath": "system.collections.nongeneric.4.3.0.nupkg.sha512" + }, + "System.Collections.Specialized/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Epx8PoVZR0iuOnJJDzp7pWvdfMMOAvpUo95pC4ScH2mJuXkKA2Y4aR3cG9qt2klHgSons1WFh4kcGW7cSXvrxg==", + "path": "system.collections.specialized/4.3.0", + "hashPath": "system.collections.specialized.4.3.0.nupkg.sha512" + }, + "System.ComponentModel/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VyGn1jGRZVfxnh8EdvDCi71v3bMXrsu8aYJOwoV7SNDLVhiEqwP86pPMyRGsDsxhXAm2b3o9OIqeETfN5qfezw==", + "path": "system.componentmodel/4.3.0", + "hashPath": "system.componentmodel.4.3.0.nupkg.sha512" + }, + "System.ComponentModel.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-j8GUkCpM8V4d4vhLIIoBLGey2Z5bCkMVNjEZseyAlm4n5arcsJOeI3zkUP+zvZgzsbLTYh4lYeP/ZD/gdIAPrw==", + "path": "system.componentmodel.primitives/4.3.0", + "hashPath": "system.componentmodel.primitives.4.3.0.nupkg.sha512" + }, + "System.ComponentModel.TypeConverter/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-16pQ6P+EdhcXzPiEK4kbA953Fu0MNG2ovxTZU81/qsCd1zPRsKc3uif5NgvllCY598k6bI0KUyKW8fanlfaDQg==", + "path": "system.componentmodel.typeconverter/4.3.0", + "hashPath": "system.componentmodel.typeconverter.4.3.0.nupkg.sha512" + }, + "System.Diagnostics.Debug/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", + "path": "system.diagnostics.debug/4.3.0", + "hashPath": "system.diagnostics.debug.4.3.0.nupkg.sha512" + }, + "System.Diagnostics.DiagnosticSource/4.6.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-mbBgoR0rRfl2uimsZ2avZY8g7Xnh1Mza0rJZLPcxqiMWlkGukjmRkuMJ/er+AhQuiRIh80CR/Hpeztr80seV5g==", + "path": "system.diagnostics.diagnosticsource/4.6.0", + "hashPath": "system.diagnostics.diagnosticsource.4.6.0.nupkg.sha512" + }, + "System.Diagnostics.Process/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-J0wOX07+QASQblsfxmIMFc9Iq7KTXYL3zs2G/Xc704Ylv3NpuVdo6gij6V3PGiptTxqsK0K7CdXenRvKUnkA2g==", + "path": "system.diagnostics.process/4.3.0", + "hashPath": "system.diagnostics.process.4.3.0.nupkg.sha512" + }, + "System.Diagnostics.Tools/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==", + "path": "system.diagnostics.tools/4.3.0", + "hashPath": "system.diagnostics.tools.4.3.0.nupkg.sha512" + }, + "System.Diagnostics.Tracing/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", + "path": "system.diagnostics.tracing/4.3.0", + "hashPath": "system.diagnostics.tracing.4.3.0.nupkg.sha512" + }, + "System.Dynamic.Runtime/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-SNVi1E/vfWUAs/WYKhE9+qlS6KqK0YVhnlT0HQtr8pMIA8YX3lwy3uPMownDwdYISBdmAF/2holEIldVp85Wag==", + "path": "system.dynamic.runtime/4.3.0", + "hashPath": "system.dynamic.runtime.4.3.0.nupkg.sha512" + }, + "System.Globalization/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", + "path": "system.globalization/4.3.0", + "hashPath": "system.globalization.4.3.0.nupkg.sha512" + }, + "System.Globalization.Calendars/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", + "path": "system.globalization.calendars/4.3.0", + "hashPath": "system.globalization.calendars.4.3.0.nupkg.sha512" + }, + "System.Globalization.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", + "path": "system.globalization.extensions/4.3.0", + "hashPath": "system.globalization.extensions.4.3.0.nupkg.sha512" + }, + "System.IO/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", + "path": "system.io/4.3.0", + "hashPath": "system.io.4.3.0.nupkg.sha512" + }, + "System.IO.FileSystem/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", + "path": "system.io.filesystem/4.3.0", + "hashPath": "system.io.filesystem.4.3.0.nupkg.sha512" + }, + "System.IO.FileSystem.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", + "path": "system.io.filesystem.primitives/4.3.0", + "hashPath": "system.io.filesystem.primitives.4.3.0.nupkg.sha512" + }, + "System.Linq/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", + "path": "system.linq/4.3.0", + "hashPath": "system.linq.4.3.0.nupkg.sha512" + }, + "System.Linq.Expressions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==", + "path": "system.linq.expressions/4.3.0", + "hashPath": "system.linq.expressions.4.3.0.nupkg.sha512" + }, + "System.Memory/4.5.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1MbJTHS1lZ4bS4FmsJjnuGJOu88ZzTT2rLvrhW7Ygic+pC0NWA+3hgAen0HRdsocuQXCkUTdFn9yHJJhsijDXw==", + "path": "system.memory/4.5.4", + "hashPath": "system.memory.4.5.4.nupkg.sha512" + }, + "System.Memory.Data/1.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JGkzeqgBsiZwKJZ1IxPNsDFZDhUvuEdX8L8BDC8N3KOj+6zMcNU28CNN59TpZE/VJYy9cP+5M+sbxtWJx3/xtw==", + "path": "system.memory.data/1.0.2", + "hashPath": "system.memory.data.1.0.2.nupkg.sha512" + }, + "System.Numerics.Vectors/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-QQTlPTl06J/iiDbJCiepZ4H//BVraReU4O4EoRw1U02H5TLUIT7xn3GnDp9AXPSlJUDyFs4uWjWafNX6WrAojQ==", + "path": "system.numerics.vectors/4.5.0", + "hashPath": "system.numerics.vectors.4.5.0.nupkg.sha512" + }, + "System.ObjectModel/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==", + "path": "system.objectmodel/4.3.0", + "hashPath": "system.objectmodel.4.3.0.nupkg.sha512" + }, + "System.Private.DataContractSerialization/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-yDaJ2x3mMmjdZEDB4IbezSnCsnjQ4BxinKhRAaP6kEgL6Bb6jANWphs5SzyD8imqeC/3FxgsuXT6ykkiH1uUmA==", + "path": "system.private.datacontractserialization/4.3.0", + "hashPath": "system.private.datacontractserialization.4.3.0.nupkg.sha512" + }, + "System.Private.Uri/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-o1+7RJnu3Ik3PazR7Z7tJhjPdE000Eq2KGLLWhqJJKXj04wrS8lwb1OFtDF9jzXXADhUuZNJZlPc98uwwqmpFA==", + "path": "system.private.uri/4.3.2", + "hashPath": "system.private.uri.4.3.2.nupkg.sha512" + }, + "System.Reflection/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", + "path": "system.reflection/4.3.0", + "hashPath": "system.reflection.4.3.0.nupkg.sha512" + }, + "System.Reflection.Emit/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==", + "path": "system.reflection.emit/4.3.0", + "hashPath": "system.reflection.emit.4.3.0.nupkg.sha512" + }, + "System.Reflection.Emit.ILGeneration/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==", + "path": "system.reflection.emit.ilgeneration/4.3.0", + "hashPath": "system.reflection.emit.ilgeneration.4.3.0.nupkg.sha512" + }, + "System.Reflection.Emit.Lightweight/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==", + "path": "system.reflection.emit.lightweight/4.3.0", + "hashPath": "system.reflection.emit.lightweight.4.3.0.nupkg.sha512" + }, + "System.Reflection.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==", + "path": "system.reflection.extensions/4.3.0", + "hashPath": "system.reflection.extensions.4.3.0.nupkg.sha512" + }, + "System.Reflection.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", + "path": "system.reflection.primitives/4.3.0", + "hashPath": "system.reflection.primitives.4.3.0.nupkg.sha512" + }, + "System.Reflection.TypeExtensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==", + "path": "system.reflection.typeextensions/4.3.0", + "hashPath": "system.reflection.typeextensions.4.3.0.nupkg.sha512" + }, + "System.Resources.ResourceManager/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", + "path": "system.resources.resourcemanager/4.3.0", + "hashPath": "system.resources.resourcemanager.4.3.0.nupkg.sha512" + }, + "System.Runtime/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", + "path": "system.runtime/4.3.0", + "hashPath": "system.runtime.4.3.0.nupkg.sha512" + }, + "System.Runtime.CompilerServices.Unsafe/4.7.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zOHkQmzPCn5zm/BH+cxC1XbUS3P4Yoi3xzW7eRgVpDR2tPGSzyMZ17Ig1iRkfJuY0nhxkQQde8pgePNiA7z7TQ==", + "path": "system.runtime.compilerservices.unsafe/4.7.1", + "hashPath": "system.runtime.compilerservices.unsafe.4.7.1.nupkg.sha512" + }, + "System.Runtime.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", + "path": "system.runtime.extensions/4.3.0", + "hashPath": "system.runtime.extensions.4.3.0.nupkg.sha512" + }, + "System.Runtime.Handles/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", + "path": "system.runtime.handles/4.3.0", + "hashPath": "system.runtime.handles.4.3.0.nupkg.sha512" + }, + "System.Runtime.InteropServices/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", + "path": "system.runtime.interopservices/4.3.0", + "hashPath": "system.runtime.interopservices.4.3.0.nupkg.sha512" + }, + "System.Runtime.Numerics/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", + "path": "system.runtime.numerics/4.3.0", + "hashPath": "system.runtime.numerics.4.3.0.nupkg.sha512" + }, + "System.Runtime.Serialization.Formatters/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KT591AkTNFOTbhZlaeMVvfax3RqhH1EJlcwF50Wm7sfnBLuHiOeZRRKrr1ns3NESkM20KPZ5Ol/ueMq5vg4QoQ==", + "path": "system.runtime.serialization.formatters/4.3.0", + "hashPath": "system.runtime.serialization.formatters.4.3.0.nupkg.sha512" + }, + "System.Runtime.Serialization.Json/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-CpVfOH0M/uZ5PH+M9+Gu56K0j9lJw3M+PKRegTkcrY/stOIvRUeonggxNrfBYLA5WOHL2j15KNJuTuld3x4o9w==", + "path": "system.runtime.serialization.json/4.3.0", + "hashPath": "system.runtime.serialization.json.4.3.0.nupkg.sha512" + }, + "System.Runtime.Serialization.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Wz+0KOukJGAlXjtKr+5Xpuxf8+c8739RI1C+A2BoQZT+wMCCoMDDdO8/4IRHfaVINqL78GO8dW8G2lW/e45Mcw==", + "path": "system.runtime.serialization.primitives/4.3.0", + "hashPath": "system.runtime.serialization.primitives.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.Algorithms/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", + "path": "system.security.cryptography.algorithms/4.3.0", + "hashPath": "system.security.cryptography.algorithms.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.Cng/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", + "path": "system.security.cryptography.cng/4.3.0", + "hashPath": "system.security.cryptography.cng.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.Csp/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", + "path": "system.security.cryptography.csp/4.3.0", + "hashPath": "system.security.cryptography.csp.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.Encoding/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", + "path": "system.security.cryptography.encoding/4.3.0", + "hashPath": "system.security.cryptography.encoding.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", + "path": "system.security.cryptography.openssl/4.3.0", + "hashPath": "system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", + "path": "system.security.cryptography.primitives/4.3.0", + "hashPath": "system.security.cryptography.primitives.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.ProtectedData/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-wLBKzFnDCxP12VL9ANydSYhk59fC4cvOr9ypYQLPnAj48NQIhqnjdD2yhP8yEKyBJEjERWS9DisKL7rX5eU25Q==", + "path": "system.security.cryptography.protecteddata/4.5.0", + "hashPath": "system.security.cryptography.protecteddata.4.5.0.nupkg.sha512" + }, + "System.Security.Cryptography.X509Certificates/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", + "path": "system.security.cryptography.x509certificates/4.3.0", + "hashPath": "system.security.cryptography.x509certificates.4.3.0.nupkg.sha512" + }, + "System.Security.SecureString/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-PnXp38O9q/2Oe4iZHMH60kinScv6QiiL2XH54Pj2t0Y6c2zKPEiAZsM/M3wBOHLNTBDFP0zfy13WN2M0qFz5jg==", + "path": "system.security.securestring/4.3.0", + "hashPath": "system.security.securestring.4.3.0.nupkg.sha512" + }, + "System.Text.Encoding/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", + "path": "system.text.encoding/4.3.0", + "hashPath": "system.text.encoding.4.3.0.nupkg.sha512" + }, + "System.Text.Encoding.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==", + "path": "system.text.encoding.extensions/4.3.0", + "hashPath": "system.text.encoding.extensions.4.3.0.nupkg.sha512" + }, + "System.Text.Encodings.Web/4.7.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-iTUgB/WtrZ1sWZs84F2hwyQhiRH6QNjQv2DkwrH+WP6RoFga2Q1m3f9/Q7FG8cck8AdHitQkmkXSY8qylcDmuA==", + "path": "system.text.encodings.web/4.7.2", + "hashPath": "system.text.encodings.web.4.7.2.nupkg.sha512" + }, + "System.Text.Json/4.7.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-TcMd95wcrubm9nHvJEQs70rC0H/8omiSGGpU4FQ/ZA1URIqD4pjmFJh2Mfv1yH1eHgJDWTi2hMDXwTET+zOOyg==", + "path": "system.text.json/4.7.2", + "hashPath": "system.text.json.4.7.2.nupkg.sha512" + }, + "System.Text.RegularExpressions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==", + "path": "system.text.regularexpressions/4.3.0", + "hashPath": "system.text.regularexpressions.4.3.0.nupkg.sha512" + }, + "System.Threading/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", + "path": "system.threading/4.3.0", + "hashPath": "system.threading.4.3.0.nupkg.sha512" + }, + "System.Threading.Tasks/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", + "path": "system.threading.tasks/4.3.0", + "hashPath": "system.threading.tasks.4.3.0.nupkg.sha512" + }, + "System.Threading.Tasks.Extensions/4.5.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==", + "path": "system.threading.tasks.extensions/4.5.4", + "hashPath": "system.threading.tasks.extensions.4.5.4.nupkg.sha512" + }, + "System.Threading.Thread/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "path": "system.threading.thread/4.3.0", + "hashPath": "system.threading.thread.4.3.0.nupkg.sha512" + }, + "System.Threading.ThreadPool/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-k/+g4b7vjdd4aix83sTgC9VG6oXYKAktSfNIJUNGxPEj7ryEOfzHHhfnmsZvjxawwcD9HyWXKCXmPjX8U4zeSw==", + "path": "system.threading.threadpool/4.3.0", + "hashPath": "system.threading.threadpool.4.3.0.nupkg.sha512" + }, + "System.Xml.ReaderWriter/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==", + "path": "system.xml.readerwriter/4.3.0", + "hashPath": "system.xml.readerwriter.4.3.0.nupkg.sha512" + }, + "System.Xml.XDocument/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==", + "path": "system.xml.xdocument/4.3.0", + "hashPath": "system.xml.xdocument.4.3.0.nupkg.sha512" + }, + "System.Xml.XmlDocument/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-lJ8AxvkX7GQxpC6GFCeBj8ThYVyQczx2+f/cWHJU8tjS7YfI6Cv6bon70jVEgs2CiFbmmM8b9j1oZVx0dSI2Ww==", + "path": "system.xml.xmldocument/4.3.0", + "hashPath": "system.xml.xmldocument.4.3.0.nupkg.sha512" + }, + "System.Xml.XmlSerializer/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-MYoTCP7EZ98RrANESW05J5ZwskKDoN0AuZ06ZflnowE50LTpbR5yRg3tHckTVm5j/m47stuGgCrCHWePyHS70Q==", + "path": "system.xml.xmlserializer/4.3.0", + "hashPath": "system.xml.xmlserializer.4.3.0.nupkg.sha512" + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Authentication.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Authentication.dll new file mode 100644 index 000000000000..511cf6f6e630 Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Authentication.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.AuthenticationAssemblyLoadContext.deps.json b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.AuthenticationAssemblyLoadContext.deps.json new file mode 100644 index 000000000000..ce563dfdebbe --- /dev/null +++ b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.AuthenticationAssemblyLoadContext.deps.json @@ -0,0 +1,1316 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v2.1", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v2.1": { + "Microsoft.Azure.PowerShell.AuthenticationAssemblyLoadContext/1.0.0": { + "dependencies": { + "Azure.Core": "1.22.0", + "Hyak.Common": "1.2.2", + "Microsoft.ApplicationInsights": "2.12.0", + "Microsoft.Azure.Common": "2.2.1", + "Microsoft.Azure.PowerShell.Authentication.Abstractions": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Aks": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Authorization": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Compute": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Graph.Rbac": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.KeyVault": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Monitor": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Network": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.PolicyInsights": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.ResourceManager": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Storage.Management": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Websites": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common.Share": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Storage": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Strategies": "1.3.57-preview", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3", + "PowerShellStandard.Library": "5.1.0" + }, + "runtime": { + "Microsoft.Azure.PowerShell.AuthenticationAssemblyLoadContext.dll": {} + } + }, + "Azure.Core/1.22.0": { + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Diagnostics.DiagnosticSource": "4.6.0", + "System.Memory.Data": "1.0.2", + "System.Numerics.Vectors": "4.5.0", + "System.Text.Encodings.Web": "4.7.2", + "System.Text.Json": "4.7.2", + "System.Threading.Tasks.Extensions": "4.5.4" + }, + "runtime": { + "lib/netcoreapp2.1/Azure.Core.dll": { + "assemblyVersion": "1.22.0.0", + "fileVersion": "1.2200.22.6212" + } + } + }, + "Hyak.Common/1.2.2": { + "dependencies": { + "Newtonsoft.Json": "10.0.3", + "System.Reflection": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.4/Hyak.Common.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.2.2.0" + } + } + }, + "Microsoft.ApplicationInsights/2.12.0": { + "dependencies": { + "System.Diagnostics.DiagnosticSource": "4.6.0", + "System.Runtime.InteropServices": "4.3.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.ApplicationInsights.dll": { + "assemblyVersion": "2.12.0.21496", + "fileVersion": "2.12.0.21496" + } + } + }, + "Microsoft.Azure.Common/2.2.1": { + "dependencies": { + "Hyak.Common": "1.2.2" + }, + "runtime": { + "lib/netstandard1.4/Microsoft.Azure.Common.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.2.1.0" + } + } + }, + "Microsoft.Azure.PowerShell.Authentication.Abstractions/1.3.57-preview": { + "dependencies": { + "Hyak.Common": "1.2.2", + "Microsoft.Azure.Common": "2.2.1", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Authentication.Abstractions.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Aks/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Aks.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Authorization/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Authorization.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Compute/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Compute.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Graph.Rbac/1.3.57-preview": { + "dependencies": { + "Microsoft.Azure.PowerShell.Authentication.Abstractions": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.ResourceManager": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common": "1.3.57-preview", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Graph.Rbac.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.KeyVault/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3", + "System.Collections.NonGeneric": "4.3.0", + "System.Collections.Specialized": "4.3.0", + "System.Reflection": "4.3.0", + "System.Security.SecureString": "4.3.0", + "System.Xml.XmlDocument": "4.3.0", + "System.Xml.XmlSerializer": "4.3.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.KeyVault.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Monitor/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3", + "System.Collections.Specialized": "4.3.0", + "System.Reflection": "4.3.0", + "System.Security.SecureString": "4.3.0", + "System.Xml.XmlDocument": "4.3.0", + "System.Xml.XmlSerializer": "4.3.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Monitor.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Network/1.3.57-preview": { + "dependencies": { + "Microsoft.Azure.PowerShell.Authentication.Abstractions": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common": "1.3.57-preview", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Network.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.PolicyInsights/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.PolicyInsights.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.ResourceManager/1.3.57-preview": { + "dependencies": { + "Microsoft.Azure.PowerShell.Authentication.Abstractions": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common": "1.3.57-preview", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.ResourceManager.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Storage.Management/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "System.Collections.NonGeneric": "4.3.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Storage.Management.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Websites/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3", + "System.Collections.Specialized": "4.3.0", + "System.Reflection": "4.3.0", + "System.Security.SecureString": "4.3.0", + "System.Xml.XmlDocument": "4.3.0", + "System.Xml.XmlSerializer": "4.3.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Websites.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Common/1.3.57-preview": { + "dependencies": { + "Hyak.Common": "1.2.2", + "Microsoft.ApplicationInsights": "2.12.0", + "Microsoft.Azure.Common": "2.2.1", + "Microsoft.Azure.PowerShell.Authentication.Abstractions": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common.Share": "1.3.57-preview", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Common.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Common.Share/1.3.57-preview": { + "dependencies": { + "Hyak.Common": "1.2.2", + "Microsoft.Azure.Common": "2.2.1", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Common.Share.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Storage/1.3.57-preview": { + "dependencies": { + "Microsoft.Azure.PowerShell.Authentication.Abstractions": "1.3.57-preview", + "Microsoft.Rest.ClientRuntime": "2.3.23" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Storage.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Strategies/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Strategies.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Bcl.AsyncInterfaces/1.1.1": { + "runtime": { + "lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "4.700.20.21406" + } + } + }, + "Microsoft.CSharp/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Dynamic.Runtime": "4.3.0", + "System.Globalization": "4.3.0", + "System.Linq": "4.3.0", + "System.Linq.Expressions": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "Microsoft.Rest.ClientRuntime/2.3.23": { + "dependencies": { + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Rest.ClientRuntime.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.3.23.0" + } + } + }, + "Microsoft.Rest.ClientRuntime.Azure/3.3.19": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Rest.ClientRuntime.Azure.dll": { + "assemblyVersion": "3.0.0.0", + "fileVersion": "3.3.18.0" + } + } + }, + "Newtonsoft.Json/10.0.3": { + "dependencies": { + "Microsoft.CSharp": "4.3.0", + "System.ComponentModel.TypeConverter": "4.3.0", + "System.Runtime.Serialization.Formatters": "4.3.0", + "System.Runtime.Serialization.Primitives": "4.3.0", + "System.Xml.XmlDocument": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/Newtonsoft.Json.dll": { + "assemblyVersion": "10.0.0.0", + "fileVersion": "10.0.3.21018" + } + } + }, + "PowerShellStandard.Library/5.1.0": {}, + "System.Collections/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Collections.NonGeneric/4.3.0": { + "dependencies": { + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Collections.Specialized/4.3.0": { + "dependencies": { + "System.Collections.NonGeneric": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Extensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.ComponentModel/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.ComponentModel.Primitives/4.3.0": { + "dependencies": { + "System.ComponentModel": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.ComponentModel.TypeConverter/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Collections.NonGeneric": "4.3.0", + "System.Collections.Specialized": "4.3.0", + "System.ComponentModel": "4.3.0", + "System.ComponentModel.Primitives": "4.3.0", + "System.Globalization": "4.3.0", + "System.Linq": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Diagnostics.Debug/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.DiagnosticSource/4.6.0": { + "runtime": { + "lib/netstandard1.3/System.Diagnostics.DiagnosticSource.dll": { + "assemblyVersion": "4.0.4.0", + "fileVersion": "4.700.19.46214" + } + } + }, + "System.Dynamic.Runtime/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Linq": "4.3.0", + "System.Linq.Expressions": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Globalization/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Globalization.Extensions/4.3.0": { + "dependencies": { + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0" + } + }, + "System.IO/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.IO.FileSystem/4.3.0": { + "dependencies": { + "System.IO": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.IO.FileSystem.Primitives/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Linq/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + } + }, + "System.Linq.Expressions/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Linq": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Emit.Lightweight": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Memory.Data/1.0.2": { + "dependencies": { + "System.Text.Encodings.Web": "4.7.2", + "System.Text.Json": "4.7.2" + }, + "runtime": { + "lib/netstandard2.0/System.Memory.Data.dll": { + "assemblyVersion": "1.0.2.0", + "fileVersion": "1.0.221.20802" + } + } + }, + "System.Numerics.Vectors/4.5.0": {}, + "System.ObjectModel/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Reflection/4.3.0": { + "dependencies": { + "System.IO": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Emit/4.3.0": { + "dependencies": { + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Emit.ILGeneration/4.3.0": { + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Emit.Lightweight/4.3.0": { + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Extensions/4.3.0": { + "dependencies": { + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Primitives/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.TypeExtensions/4.3.0": { + "dependencies": { + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Resources.ResourceManager/4.3.0": { + "dependencies": { + "System.Globalization": "4.3.0", + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime/4.3.0": {}, + "System.Runtime.CompilerServices.Unsafe/4.7.1": { + "runtime": { + "lib/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.dll": { + "assemblyVersion": "4.0.6.0", + "fileVersion": "4.700.20.12001" + } + } + }, + "System.Runtime.Extensions/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.Handles/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.InteropServices/4.3.0": { + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + } + }, + "System.Runtime.Serialization.Formatters/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Serialization.Primitives": "4.3.0" + } + }, + "System.Runtime.Serialization.Primitives/4.3.0": { + "dependencies": { + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Security.Cryptography.Primitives/4.3.0": { + "dependencies": { + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Security.SecureString/4.3.0": { + "dependencies": { + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Text.Encoding/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Text.Encoding.Extensions/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0" + } + }, + "System.Text.Encodings.Web/4.7.2": { + "runtime": { + "lib/netstandard2.0/System.Text.Encodings.Web.dll": { + "assemblyVersion": "4.0.5.1", + "fileVersion": "4.700.21.11602" + } + } + }, + "System.Text.Json/4.7.2": { + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Runtime.CompilerServices.Unsafe": "4.7.1", + "System.Text.Encodings.Web": "4.7.2" + }, + "runtime": { + "lib/netstandard2.0/System.Text.Json.dll": { + "assemblyVersion": "4.0.1.2", + "fileVersion": "4.700.20.21406" + } + } + }, + "System.Text.RegularExpressions/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Threading/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Threading.Tasks/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Threading.Tasks.Extensions/4.5.4": {}, + "System.Xml.ReaderWriter/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Text.RegularExpressions": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.Tasks.Extensions": "4.5.4" + } + }, + "System.Xml.XmlDocument/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0" + } + }, + "System.Xml.XmlSerializer/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Linq": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.RegularExpressions": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0", + "System.Xml.XmlDocument": "4.3.0" + } + } + } + }, + "libraries": { + "Microsoft.Azure.PowerShell.AuthenticationAssemblyLoadContext/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Azure.Core/1.22.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ze/xRCHSSDe5TIk5vBDbVrauW1EN7UIbnBvIBfMH8KSt/I9+/7yPAjTBDgNBk0IwG6WBV+BBHp4IUtS/PGAQwQ==", + "path": "azure.core/1.22.0", + "hashPath": "azure.core.1.22.0.nupkg.sha512" + }, + "Hyak.Common/1.2.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-uZpnFn48nSQwHcO0/GSBZ7ExaO0sTXKv8KariXXEWLaB4Q3AeQoprYG4WpKsCT0ByW3YffETivgc5rcH5RRDvQ==", + "path": "hyak.common/1.2.2", + "hashPath": "hyak.common.1.2.2.nupkg.sha512" + }, + "Microsoft.ApplicationInsights/2.12.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4vZcVaxywAzfLm5mAc2/llaZQTzbCqu9KirxxI/t49AkZH5Qxf7JxuAMUuv2/6JEdOOkGDzpvdrrIlf6LkFGcg==", + "path": "microsoft.applicationinsights/2.12.0", + "hashPath": "microsoft.applicationinsights.2.12.0.nupkg.sha512" + }, + "Microsoft.Azure.Common/2.2.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-abzRooh4ACKjzAKxRB6r+SHKW3d+IrLcgtVG81D+3kQU/OMjAZS1oDp9CDalhSbmxa84u0MHM5N+AKeTtKPoiw==", + "path": "microsoft.azure.common/2.2.1", + "hashPath": "microsoft.azure.common.2.2.1.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Authentication.Abstractions/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bKDPidNeqBpTDikPnIuoMoGd26pD2PNE41cut0ASwL5exJwLNggYO55U+f/cJkgjCUMR8i5nqnlfpGHSS1I0vw==", + "path": "microsoft.azure.powershell.authentication.abstractions/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.authentication.abstractions.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Aks/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-sUGkvOvpqlEK5zdZ7HWaou3GY5bnlNrE0LuZ137+TsNfgx2E3+0Ika3a02i/9+niDDf60xj4LaNOYDSuK5zdJA==", + "path": "microsoft.azure.powershell.clients.aks/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.aks.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Authorization/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Q760F40/qfas2Al+GQhhE4gJt768pQPxlCjqrjjkukgVsq+X/M8IqpCeBzbRTiiyerhcjJoyNxqlGuZpUhqGxw==", + "path": "microsoft.azure.powershell.clients.authorization/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.authorization.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Compute/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1fcsBdYMmEJPMPN8EAgJkaJ2WxxTKH3VcLECYdL2cfg2bgN8CKbbjSvarrXEezhyduE+LdYnL0e8Pigsnaj55Q==", + "path": "microsoft.azure.powershell.clients.compute/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.compute.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Graph.Rbac/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BIMthJ1x2vQAN3iWChnNj8BfgrXvKXn+n06E0/h2MNurMXbAOn5eiPIfE8bnj2BO99uSh1ns09yEgOTPJIvZBQ==", + "path": "microsoft.azure.powershell.clients.graph.rbac/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.graph.rbac.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.KeyVault/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-MfvwM8ABj/EswmYu0Bf/8kyAO6kUv2zYSihVn384SVmypomVKUu69GN0VXKbmGaovPI8v3H41Ldp7DqbPRun5A==", + "path": "microsoft.azure.powershell.clients.keyvault/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.keyvault.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Monitor/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-UyCKG5BWVjYFRtH2JNx6f4KdccaSqww2y0OE2PYgib8VhLqkoPr/BQg6vKzaGsghLIerZ/egQ7ntPPw3PCtS3w==", + "path": "microsoft.azure.powershell.clients.monitor/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.monitor.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Network/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YAAHxw+zzvkGNWAi668NSoTR+V/7vf+gRhu1oFa1O1/f2NGpz5XuqPrQyAPrri64hKqB/k3OMrM7sjlIv16dAg==", + "path": "microsoft.azure.powershell.clients.network/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.network.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.PolicyInsights/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-urRIwRVzzOwpk8HhKq/b785DiL/arnmGUHbN4HvRN6ZsBkE1PU431YwgUlofb9pfB3buLcl0XJFRPLBJ0yZJUw==", + "path": "microsoft.azure.powershell.clients.policyinsights/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.policyinsights.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.ResourceManager/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-juWnd63Z2Sp+6bvtOPOF0Gj1v2AfpxXcuyodd9+U7euBro2G7Yfo2UHmHo/uaYyQUbM3HaXJPvse7BLDKjhe6w==", + "path": "microsoft.azure.powershell.clients.resourcemanager/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.resourcemanager.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Storage.Management/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HPpTWIlN+5ALqJssL7+6BD/vYrWi3eWKQ3QpWYjCFk5c9HVLTNpP+M2dq9jbsxLsZj+5Pt6gC4FIS22Q13Uhag==", + "path": "microsoft.azure.powershell.clients.storage.management/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.storage.management.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Websites/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-b5yBD9FrY02r0kdNNgZ+uU0/QsW3AtmnCE/x1mUG5j8ka/V04AYUo+sDokQBzu+vnK6Y6OrVDtyWjmnKTDHpWA==", + "path": "microsoft.azure.powershell.clients.websites/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.websites.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Common/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-9jZYZ9LKbx16r69y7cO9d7bDjpE0/HgeBU386Y/O6q05VRaq2wAsB2rbQ9AjxcPGHfwS0+2US/RImSSqjVABRQ==", + "path": "microsoft.azure.powershell.common/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.common.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Common.Share/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4mJSjnwZVLQYWhP47eDzdt0yaLIf2I4pqaEIqcfAjkjdbKpnCXCnJUEFRId061yuKpq1LtfBZkHDRi68I5CJxg==", + "path": "microsoft.azure.powershell.common.share/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.common.share.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Storage/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-fObXEcuhk1JUoQ0fiCV4nK4NJWqvsfsKCzapF7SFEQ87X6AasL6m5KGT8JQSnHmc849xxxaixPTxyWaf9BBlpw==", + "path": "microsoft.azure.powershell.storage/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.storage.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Strategies/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HwyxUwDHCmY6Zdxg2xpFC9Gqmu92Xr0cAr4ElWYwz8Z7PE9uYVkTpKMIKd7oIJJgsIANTfqEU1HKoeI3FXPLqw==", + "path": "microsoft.azure.powershell.strategies/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.strategies.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Bcl.AsyncInterfaces/1.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-yuvf07qFWFqtK3P/MRkEKLhn5r2UbSpVueRziSqj0yJQIKFwG1pq9mOayK3zE5qZCTs0CbrwL9M6R8VwqyGy2w==", + "path": "microsoft.bcl.asyncinterfaces/1.1.1", + "hashPath": "microsoft.bcl.asyncinterfaces.1.1.1.nupkg.sha512" + }, + "Microsoft.CSharp/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-P+MBhIM0YX+JqROuf7i306ZLJEjQYA9uUyRDE+OqwUI5sh41e2ZbPQV3LfAPh+29cmceE1pUffXsGfR4eMY3KA==", + "path": "microsoft.csharp/4.3.0", + "hashPath": "microsoft.csharp.4.3.0.nupkg.sha512" + }, + "Microsoft.Rest.ClientRuntime/2.3.23": { + "type": "package", + "serviceable": true, + "sha512": "sha512-92kNTi1N7zI5wwI2ZXswBRnk61OUYnuYJXrlgOhes5IsAqGmgw9DPGmhUzeY8OaZ8TTrQdDzvgXFnbCHwLzSVA==", + "path": "microsoft.rest.clientruntime/2.3.23", + "hashPath": "microsoft.rest.clientruntime.2.3.23.nupkg.sha512" + }, + "Microsoft.Rest.ClientRuntime.Azure/3.3.19": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+NVBWvRXNwaAPTZUxjUlQggsrf3X0GbiRoxYfgc3kG9E55ZxZxvZPT3nIfC4DNqzGSXUEvmLbckdXgBBzGdUaA==", + "path": "microsoft.rest.clientruntime.azure/3.3.19", + "hashPath": "microsoft.rest.clientruntime.azure.3.3.19.nupkg.sha512" + }, + "Newtonsoft.Json/10.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-hSXaFmh7hNCuEoC4XNY5DrRkLDzYHqPx/Ik23R4J86Z7PE/Y6YidhG602dFVdLBRSdG6xp9NabH3dXpcoxWvww==", + "path": "newtonsoft.json/10.0.3", + "hashPath": "newtonsoft.json.10.0.3.nupkg.sha512" + }, + "PowerShellStandard.Library/5.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-iYaRvQsM1fow9h3uEmio+2m2VXfulgI16AYHaTZ8Sf7erGe27Qc8w/h6QL5UPuwv1aXR40QfzMEwcCeiYJp2cw==", + "path": "powershellstandard.library/5.1.0", + "hashPath": "powershellstandard.library.5.1.0.nupkg.sha512" + }, + "System.Collections/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", + "path": "system.collections/4.3.0", + "hashPath": "system.collections.4.3.0.nupkg.sha512" + }, + "System.Collections.NonGeneric/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-prtjIEMhGUnQq6RnPEYLpFt8AtLbp9yq2zxOSrY7KJJZrw25Fi97IzBqY7iqssbM61Ek5b8f3MG/sG1N2sN5KA==", + "path": "system.collections.nongeneric/4.3.0", + "hashPath": "system.collections.nongeneric.4.3.0.nupkg.sha512" + }, + "System.Collections.Specialized/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Epx8PoVZR0iuOnJJDzp7pWvdfMMOAvpUo95pC4ScH2mJuXkKA2Y4aR3cG9qt2klHgSons1WFh4kcGW7cSXvrxg==", + "path": "system.collections.specialized/4.3.0", + "hashPath": "system.collections.specialized.4.3.0.nupkg.sha512" + }, + "System.ComponentModel/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VyGn1jGRZVfxnh8EdvDCi71v3bMXrsu8aYJOwoV7SNDLVhiEqwP86pPMyRGsDsxhXAm2b3o9OIqeETfN5qfezw==", + "path": "system.componentmodel/4.3.0", + "hashPath": "system.componentmodel.4.3.0.nupkg.sha512" + }, + "System.ComponentModel.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-j8GUkCpM8V4d4vhLIIoBLGey2Z5bCkMVNjEZseyAlm4n5arcsJOeI3zkUP+zvZgzsbLTYh4lYeP/ZD/gdIAPrw==", + "path": "system.componentmodel.primitives/4.3.0", + "hashPath": "system.componentmodel.primitives.4.3.0.nupkg.sha512" + }, + "System.ComponentModel.TypeConverter/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-16pQ6P+EdhcXzPiEK4kbA953Fu0MNG2ovxTZU81/qsCd1zPRsKc3uif5NgvllCY598k6bI0KUyKW8fanlfaDQg==", + "path": "system.componentmodel.typeconverter/4.3.0", + "hashPath": "system.componentmodel.typeconverter.4.3.0.nupkg.sha512" + }, + "System.Diagnostics.Debug/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", + "path": "system.diagnostics.debug/4.3.0", + "hashPath": "system.diagnostics.debug.4.3.0.nupkg.sha512" + }, + "System.Diagnostics.DiagnosticSource/4.6.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-mbBgoR0rRfl2uimsZ2avZY8g7Xnh1Mza0rJZLPcxqiMWlkGukjmRkuMJ/er+AhQuiRIh80CR/Hpeztr80seV5g==", + "path": "system.diagnostics.diagnosticsource/4.6.0", + "hashPath": "system.diagnostics.diagnosticsource.4.6.0.nupkg.sha512" + }, + "System.Dynamic.Runtime/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-SNVi1E/vfWUAs/WYKhE9+qlS6KqK0YVhnlT0HQtr8pMIA8YX3lwy3uPMownDwdYISBdmAF/2holEIldVp85Wag==", + "path": "system.dynamic.runtime/4.3.0", + "hashPath": "system.dynamic.runtime.4.3.0.nupkg.sha512" + }, + "System.Globalization/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", + "path": "system.globalization/4.3.0", + "hashPath": "system.globalization.4.3.0.nupkg.sha512" + }, + "System.Globalization.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", + "path": "system.globalization.extensions/4.3.0", + "hashPath": "system.globalization.extensions.4.3.0.nupkg.sha512" + }, + "System.IO/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", + "path": "system.io/4.3.0", + "hashPath": "system.io.4.3.0.nupkg.sha512" + }, + "System.IO.FileSystem/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", + "path": "system.io.filesystem/4.3.0", + "hashPath": "system.io.filesystem.4.3.0.nupkg.sha512" + }, + "System.IO.FileSystem.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", + "path": "system.io.filesystem.primitives/4.3.0", + "hashPath": "system.io.filesystem.primitives.4.3.0.nupkg.sha512" + }, + "System.Linq/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", + "path": "system.linq/4.3.0", + "hashPath": "system.linq.4.3.0.nupkg.sha512" + }, + "System.Linq.Expressions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==", + "path": "system.linq.expressions/4.3.0", + "hashPath": "system.linq.expressions.4.3.0.nupkg.sha512" + }, + "System.Memory.Data/1.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JGkzeqgBsiZwKJZ1IxPNsDFZDhUvuEdX8L8BDC8N3KOj+6zMcNU28CNN59TpZE/VJYy9cP+5M+sbxtWJx3/xtw==", + "path": "system.memory.data/1.0.2", + "hashPath": "system.memory.data.1.0.2.nupkg.sha512" + }, + "System.Numerics.Vectors/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-QQTlPTl06J/iiDbJCiepZ4H//BVraReU4O4EoRw1U02H5TLUIT7xn3GnDp9AXPSlJUDyFs4uWjWafNX6WrAojQ==", + "path": "system.numerics.vectors/4.5.0", + "hashPath": "system.numerics.vectors.4.5.0.nupkg.sha512" + }, + "System.ObjectModel/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==", + "path": "system.objectmodel/4.3.0", + "hashPath": "system.objectmodel.4.3.0.nupkg.sha512" + }, + "System.Reflection/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", + "path": "system.reflection/4.3.0", + "hashPath": "system.reflection.4.3.0.nupkg.sha512" + }, + "System.Reflection.Emit/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==", + "path": "system.reflection.emit/4.3.0", + "hashPath": "system.reflection.emit.4.3.0.nupkg.sha512" + }, + "System.Reflection.Emit.ILGeneration/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==", + "path": "system.reflection.emit.ilgeneration/4.3.0", + "hashPath": "system.reflection.emit.ilgeneration.4.3.0.nupkg.sha512" + }, + "System.Reflection.Emit.Lightweight/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==", + "path": "system.reflection.emit.lightweight/4.3.0", + "hashPath": "system.reflection.emit.lightweight.4.3.0.nupkg.sha512" + }, + "System.Reflection.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==", + "path": "system.reflection.extensions/4.3.0", + "hashPath": "system.reflection.extensions.4.3.0.nupkg.sha512" + }, + "System.Reflection.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", + "path": "system.reflection.primitives/4.3.0", + "hashPath": "system.reflection.primitives.4.3.0.nupkg.sha512" + }, + "System.Reflection.TypeExtensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==", + "path": "system.reflection.typeextensions/4.3.0", + "hashPath": "system.reflection.typeextensions.4.3.0.nupkg.sha512" + }, + "System.Resources.ResourceManager/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", + "path": "system.resources.resourcemanager/4.3.0", + "hashPath": "system.resources.resourcemanager.4.3.0.nupkg.sha512" + }, + "System.Runtime/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", + "path": "system.runtime/4.3.0", + "hashPath": "system.runtime.4.3.0.nupkg.sha512" + }, + "System.Runtime.CompilerServices.Unsafe/4.7.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zOHkQmzPCn5zm/BH+cxC1XbUS3P4Yoi3xzW7eRgVpDR2tPGSzyMZ17Ig1iRkfJuY0nhxkQQde8pgePNiA7z7TQ==", + "path": "system.runtime.compilerservices.unsafe/4.7.1", + "hashPath": "system.runtime.compilerservices.unsafe.4.7.1.nupkg.sha512" + }, + "System.Runtime.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", + "path": "system.runtime.extensions/4.3.0", + "hashPath": "system.runtime.extensions.4.3.0.nupkg.sha512" + }, + "System.Runtime.Handles/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", + "path": "system.runtime.handles/4.3.0", + "hashPath": "system.runtime.handles.4.3.0.nupkg.sha512" + }, + "System.Runtime.InteropServices/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", + "path": "system.runtime.interopservices/4.3.0", + "hashPath": "system.runtime.interopservices.4.3.0.nupkg.sha512" + }, + "System.Runtime.Serialization.Formatters/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KT591AkTNFOTbhZlaeMVvfax3RqhH1EJlcwF50Wm7sfnBLuHiOeZRRKrr1ns3NESkM20KPZ5Ol/ueMq5vg4QoQ==", + "path": "system.runtime.serialization.formatters/4.3.0", + "hashPath": "system.runtime.serialization.formatters.4.3.0.nupkg.sha512" + }, + "System.Runtime.Serialization.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Wz+0KOukJGAlXjtKr+5Xpuxf8+c8739RI1C+A2BoQZT+wMCCoMDDdO8/4IRHfaVINqL78GO8dW8G2lW/e45Mcw==", + "path": "system.runtime.serialization.primitives/4.3.0", + "hashPath": "system.runtime.serialization.primitives.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", + "path": "system.security.cryptography.primitives/4.3.0", + "hashPath": "system.security.cryptography.primitives.4.3.0.nupkg.sha512" + }, + "System.Security.SecureString/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-PnXp38O9q/2Oe4iZHMH60kinScv6QiiL2XH54Pj2t0Y6c2zKPEiAZsM/M3wBOHLNTBDFP0zfy13WN2M0qFz5jg==", + "path": "system.security.securestring/4.3.0", + "hashPath": "system.security.securestring.4.3.0.nupkg.sha512" + }, + "System.Text.Encoding/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", + "path": "system.text.encoding/4.3.0", + "hashPath": "system.text.encoding.4.3.0.nupkg.sha512" + }, + "System.Text.Encoding.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==", + "path": "system.text.encoding.extensions/4.3.0", + "hashPath": "system.text.encoding.extensions.4.3.0.nupkg.sha512" + }, + "System.Text.Encodings.Web/4.7.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-iTUgB/WtrZ1sWZs84F2hwyQhiRH6QNjQv2DkwrH+WP6RoFga2Q1m3f9/Q7FG8cck8AdHitQkmkXSY8qylcDmuA==", + "path": "system.text.encodings.web/4.7.2", + "hashPath": "system.text.encodings.web.4.7.2.nupkg.sha512" + }, + "System.Text.Json/4.7.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-TcMd95wcrubm9nHvJEQs70rC0H/8omiSGGpU4FQ/ZA1URIqD4pjmFJh2Mfv1yH1eHgJDWTi2hMDXwTET+zOOyg==", + "path": "system.text.json/4.7.2", + "hashPath": "system.text.json.4.7.2.nupkg.sha512" + }, + "System.Text.RegularExpressions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==", + "path": "system.text.regularexpressions/4.3.0", + "hashPath": "system.text.regularexpressions.4.3.0.nupkg.sha512" + }, + "System.Threading/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", + "path": "system.threading/4.3.0", + "hashPath": "system.threading.4.3.0.nupkg.sha512" + }, + "System.Threading.Tasks/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", + "path": "system.threading.tasks/4.3.0", + "hashPath": "system.threading.tasks.4.3.0.nupkg.sha512" + }, + "System.Threading.Tasks.Extensions/4.5.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==", + "path": "system.threading.tasks.extensions/4.5.4", + "hashPath": "system.threading.tasks.extensions.4.5.4.nupkg.sha512" + }, + "System.Xml.ReaderWriter/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==", + "path": "system.xml.readerwriter/4.3.0", + "hashPath": "system.xml.readerwriter.4.3.0.nupkg.sha512" + }, + "System.Xml.XmlDocument/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-lJ8AxvkX7GQxpC6GFCeBj8ThYVyQczx2+f/cWHJU8tjS7YfI6Cv6bon70jVEgs2CiFbmmM8b9j1oZVx0dSI2Ww==", + "path": "system.xml.xmldocument/4.3.0", + "hashPath": "system.xml.xmldocument.4.3.0.nupkg.sha512" + }, + "System.Xml.XmlSerializer/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-MYoTCP7EZ98RrANESW05J5ZwskKDoN0AuZ06ZflnowE50LTpbR5yRg3tHckTVm5j/m47stuGgCrCHWePyHS70Q==", + "path": "system.xml.xmlserializer/4.3.0", + "hashPath": "system.xml.xmlserializer.4.3.0.nupkg.sha512" + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.AuthenticationAssemblyLoadContext.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.AuthenticationAssemblyLoadContext.dll new file mode 100644 index 000000000000..239999aa2f3c Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.AuthenticationAssemblyLoadContext.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Authenticators.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Authenticators.dll new file mode 100644 index 000000000000..2b2e59f4a657 Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Authenticators.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Aks.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Aks.dll new file mode 100644 index 000000000000..d966f6c302c5 Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Aks.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Authorization.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Authorization.dll new file mode 100644 index 000000000000..2667669dd3f4 Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Authorization.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Compute.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Compute.dll new file mode 100644 index 000000000000..a11687928f60 Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Compute.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Graph.Rbac.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Graph.Rbac.dll new file mode 100644 index 000000000000..78fd60ad7aeb Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Graph.Rbac.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.KeyVault.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.KeyVault.dll new file mode 100644 index 000000000000..b33058d94c53 Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.KeyVault.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Monitor.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Monitor.dll new file mode 100644 index 000000000000..e07270d24805 Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Monitor.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Network.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Network.dll new file mode 100644 index 000000000000..6f489252bcac Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Network.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.PolicyInsights.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.PolicyInsights.dll new file mode 100644 index 000000000000..c19efdb8e00b Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.PolicyInsights.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.ResourceManager.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.ResourceManager.dll new file mode 100644 index 000000000000..0d443a2ecaaa Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.ResourceManager.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Storage.Management.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Storage.Management.dll new file mode 100644 index 000000000000..482ccf22b352 Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Storage.Management.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Websites.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Websites.dll new file mode 100644 index 000000000000..4bf3ee9bd78d Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Clients.Websites.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Cmdlets.Accounts.deps.json b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Cmdlets.Accounts.deps.json new file mode 100644 index 000000000000..54274e52ee76 --- /dev/null +++ b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Cmdlets.Accounts.deps.json @@ -0,0 +1,2413 @@ +{ + "runtimeTarget": { + "name": ".NETStandard,Version=v2.0/", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETStandard,Version=v2.0": {}, + ".NETStandard,Version=v2.0/": { + "Microsoft.Azure.PowerShell.Cmdlets.Accounts/1.0.0": { + "dependencies": { + "Azure.Core": "1.22.0", + "Hyak.Common": "1.2.2", + "Microsoft.ApplicationInsights": "2.12.0", + "Microsoft.Azure.Common": "2.2.1", + "Microsoft.Azure.PowerShell.Authentication": "1.0.0", + "Microsoft.Azure.PowerShell.Authentication.Abstractions": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Authentication.ResourceManager": "1.0.0", + "Microsoft.Azure.PowerShell.Authenticators": "1.0.0", + "Microsoft.Azure.PowerShell.Clients.Aks": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Authorization": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Compute": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Graph.Rbac": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.KeyVault": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Monitor": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Network": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.PolicyInsights": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.ResourceManager": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Storage.Management": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Websites": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common.Share": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Storage": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Strategies": "1.3.57-preview", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "NETStandard.Library": "2.0.3", + "Newtonsoft.Json": "10.0.3", + "PowerShellStandard.Library": "5.1.0", + "System.Security.Permissions": "4.5.0" + }, + "runtime": { + "Microsoft.Azure.PowerShell.Cmdlets.Accounts.dll": {} + } + }, + "Azure.Core/1.22.0": { + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Diagnostics.DiagnosticSource": "4.6.0", + "System.Memory.Data": "1.0.2", + "System.Numerics.Vectors": "4.5.0", + "System.Text.Encodings.Web": "4.7.2", + "System.Text.Json": "4.7.2", + "System.Threading.Tasks.Extensions": "4.5.4" + }, + "runtime": { + "lib/netstandard2.0/Azure.Core.dll": { + "assemblyVersion": "1.22.0.0", + "fileVersion": "1.2200.22.6212" + } + } + }, + "Azure.Identity/1.5.0": { + "dependencies": { + "Azure.Core": "1.22.0", + "Microsoft.Identity.Client": "4.30.1", + "Microsoft.Identity.Client.Extensions.Msal": "2.18.4", + "System.Memory": "4.5.4", + "System.Security.Cryptography.ProtectedData": "4.5.0", + "System.Text.Json": "4.7.2", + "System.Threading.Tasks.Extensions": "4.5.4" + }, + "runtime": { + "lib/netstandard2.0/Azure.Identity.dll": { + "assemblyVersion": "1.5.0.0", + "fileVersion": "1.500.21.51401" + } + } + }, + "Hyak.Common/1.2.2": { + "dependencies": { + "NETStandard.Library": "2.0.3", + "Newtonsoft.Json": "10.0.3", + "System.Reflection": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.4/Hyak.Common.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.2.2.0" + } + } + }, + "Microsoft.ApplicationInsights/2.12.0": { + "dependencies": { + "System.Diagnostics.DiagnosticSource": "4.6.0", + "System.Runtime.InteropServices": "4.3.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.ApplicationInsights.dll": { + "assemblyVersion": "2.12.0.21496", + "fileVersion": "2.12.0.21496" + } + } + }, + "Microsoft.Azure.Common/2.2.1": { + "dependencies": { + "Hyak.Common": "1.2.2", + "NETStandard.Library": "2.0.3" + }, + "runtime": { + "lib/netstandard1.4/Microsoft.Azure.Common.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.2.1.0" + } + } + }, + "Microsoft.Azure.PowerShell.Authentication.Abstractions/1.3.57-preview": { + "dependencies": { + "Hyak.Common": "1.2.2", + "Microsoft.Azure.Common": "2.2.1", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Authentication.Abstractions.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Aks/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Aks.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Authorization/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Authorization.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Compute/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Compute.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Graph.Rbac/1.3.57-preview": { + "dependencies": { + "Microsoft.Azure.PowerShell.Authentication.Abstractions": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.ResourceManager": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common": "1.3.57-preview", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Graph.Rbac.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.KeyVault/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3", + "System.Collections.NonGeneric": "4.3.0", + "System.Collections.Specialized": "4.3.0", + "System.Reflection": "4.3.0", + "System.Security.SecureString": "4.3.0", + "System.Xml.XmlDocument": "4.3.0", + "System.Xml.XmlSerializer": "4.3.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.KeyVault.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Monitor/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3", + "System.Collections.Specialized": "4.3.0", + "System.Reflection": "4.3.0", + "System.Security.SecureString": "4.3.0", + "System.Xml.XmlDocument": "4.3.0", + "System.Xml.XmlSerializer": "4.3.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Monitor.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Network/1.3.57-preview": { + "dependencies": { + "Microsoft.Azure.PowerShell.Authentication.Abstractions": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common": "1.3.57-preview", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Network.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.PolicyInsights/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.PolicyInsights.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.ResourceManager/1.3.57-preview": { + "dependencies": { + "Microsoft.Azure.PowerShell.Authentication.Abstractions": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common": "1.3.57-preview", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.ResourceManager.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Storage.Management/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "System.Collections.NonGeneric": "4.3.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Storage.Management.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Clients.Websites/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3", + "System.Collections.Specialized": "4.3.0", + "System.Reflection": "4.3.0", + "System.Security.SecureString": "4.3.0", + "System.Xml.XmlDocument": "4.3.0", + "System.Xml.XmlSerializer": "4.3.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Clients.Websites.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Common/1.3.57-preview": { + "dependencies": { + "Hyak.Common": "1.2.2", + "Microsoft.ApplicationInsights": "2.12.0", + "Microsoft.Azure.Common": "2.2.1", + "Microsoft.Azure.PowerShell.Authentication.Abstractions": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common.Share": "1.3.57-preview", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Common.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Common.Share/1.3.57-preview": { + "dependencies": { + "Hyak.Common": "1.2.2", + "Microsoft.Azure.Common": "2.2.1", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Common.Share.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Storage/1.3.57-preview": { + "dependencies": { + "Microsoft.Azure.PowerShell.Authentication.Abstractions": "1.3.57-preview", + "Microsoft.Rest.ClientRuntime": "2.3.23" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Storage.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Azure.PowerShell.Strategies/1.3.57-preview": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Azure.PowerShell.Strategies.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.3.57.0" + } + } + }, + "Microsoft.Bcl.AsyncInterfaces/1.1.1": { + "dependencies": { + "System.Threading.Tasks.Extensions": "4.5.4" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "4.700.20.21406" + } + } + }, + "Microsoft.CSharp/4.5.0": { + "runtime": { + "lib/netstandard2.0/Microsoft.CSharp.dll": { + "assemblyVersion": "4.0.4.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "Microsoft.Identity.Client/4.30.1": { + "dependencies": { + "Microsoft.CSharp": "4.5.0", + "NETStandard.Library": "2.0.3", + "System.ComponentModel.TypeConverter": "4.3.0", + "System.Diagnostics.Process": "4.3.0", + "System.Dynamic.Runtime": "4.3.0", + "System.Private.Uri": "4.3.2", + "System.Runtime.Serialization.Formatters": "4.3.0", + "System.Runtime.Serialization.Json": "4.3.0", + "System.Runtime.Serialization.Primitives": "4.3.0", + "System.Security.Cryptography.X509Certificates": "4.3.0", + "System.Security.SecureString": "4.3.0", + "System.Xml.XDocument": "4.3.0", + "System.Xml.XmlDocument": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/Microsoft.Identity.Client.dll": { + "assemblyVersion": "4.30.1.0", + "fileVersion": "4.30.1.0" + } + } + }, + "Microsoft.Identity.Client.Extensions.Msal/2.18.4": { + "dependencies": { + "Microsoft.Identity.Client": "4.30.1", + "System.Security.Cryptography.ProtectedData": "4.5.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Identity.Client.Extensions.Msal.dll": { + "assemblyVersion": "2.18.4.0", + "fileVersion": "2.18.4.0" + } + } + }, + "Microsoft.NETCore.Platforms/1.1.1": {}, + "Microsoft.NETCore.Targets/1.1.3": {}, + "Microsoft.Rest.ClientRuntime/2.3.23": { + "dependencies": { + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Rest.ClientRuntime.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.3.23.0" + } + } + }, + "Microsoft.Rest.ClientRuntime.Azure/3.3.19": { + "dependencies": { + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Rest.ClientRuntime.Azure.dll": { + "assemblyVersion": "3.0.0.0", + "fileVersion": "3.3.18.0" + } + } + }, + "Microsoft.Win32.Primitives/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "Microsoft.Win32.Registry/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "System.Collections": "4.3.0", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0" + } + }, + "NETStandard.Library/2.0.3": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1" + } + }, + "Newtonsoft.Json/10.0.3": { + "dependencies": { + "Microsoft.CSharp": "4.5.0", + "NETStandard.Library": "2.0.3", + "System.ComponentModel.TypeConverter": "4.3.0", + "System.Runtime.Serialization.Formatters": "4.3.0", + "System.Runtime.Serialization.Primitives": "4.3.0", + "System.Xml.XmlDocument": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/Newtonsoft.Json.dll": { + "assemblyVersion": "10.0.0.0", + "fileVersion": "10.0.3.21018" + } + } + }, + "PowerShellStandard.Library/5.1.0": {}, + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.native.System/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3" + } + }, + "runtime.native.System.Net.Http/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3" + } + }, + "runtime.native.System.Security.Cryptography.Apple/4.3.0": { + "dependencies": { + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" + } + }, + "runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "dependencies": { + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple/4.3.0": {}, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "System.Buffers/4.5.1": { + "runtime": { + "lib/netstandard2.0/System.Buffers.dll": { + "assemblyVersion": "4.0.3.0", + "fileVersion": "4.6.28619.1" + } + } + }, + "System.Collections/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "System.Collections.Concurrent/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Collections.Concurrent.dll": { + "assemblyVersion": "4.0.13.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Collections.NonGeneric/4.3.0": { + "dependencies": { + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Collections.NonGeneric.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Collections.Specialized/4.3.0": { + "dependencies": { + "System.Collections.NonGeneric": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Extensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Collections.Specialized.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.ComponentModel/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.ComponentModel.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.ComponentModel.Primitives/4.3.0": { + "dependencies": { + "System.ComponentModel": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.0/System.ComponentModel.Primitives.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.ComponentModel.TypeConverter/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Collections.NonGeneric": "4.3.0", + "System.Collections.Specialized": "4.3.0", + "System.ComponentModel": "4.3.0", + "System.ComponentModel.Primitives": "4.3.0", + "System.Globalization": "4.3.0", + "System.Linq": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.5/System.ComponentModel.TypeConverter.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Diagnostics.Debug/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.DiagnosticSource/4.6.0": { + "dependencies": { + "System.Memory": "4.5.4" + }, + "runtime": { + "lib/netstandard1.3/System.Diagnostics.DiagnosticSource.dll": { + "assemblyVersion": "4.0.4.0", + "fileVersion": "4.700.19.46214" + } + } + }, + "System.Diagnostics.Process/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.Win32.Primitives": "4.3.0", + "Microsoft.Win32.Registry": "4.3.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.Thread": "4.3.0", + "System.Threading.ThreadPool": "4.3.0", + "runtime.native.System": "4.3.0" + } + }, + "System.Diagnostics.Tools/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.Tracing/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "System.Dynamic.Runtime/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Linq": "4.3.0", + "System.Linq.Expressions": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Dynamic.Runtime.dll": { + "assemblyVersion": "4.0.12.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Globalization/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization.Calendars/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Globalization": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization.Extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0" + } + }, + "System.IO/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.IO.FileSystem/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.IO": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.IO.FileSystem.Primitives/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.IO.FileSystem.Primitives.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Linq/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + }, + "runtime": { + "lib/netstandard1.6/System.Linq.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Linq.Expressions/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Linq": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Emit.Lightweight": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.6/System.Linq.Expressions.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Memory/4.5.4": { + "dependencies": { + "System.Buffers": "4.5.1", + "System.Numerics.Vectors": "4.5.0", + "System.Runtime.CompilerServices.Unsafe": "4.7.1" + }, + "runtime": { + "lib/netstandard2.0/System.Memory.dll": { + "assemblyVersion": "4.0.1.1", + "fileVersion": "4.6.28619.1" + } + } + }, + "System.Memory.Data/1.0.2": { + "dependencies": { + "System.Text.Encodings.Web": "4.7.2", + "System.Text.Json": "4.7.2" + }, + "runtime": { + "lib/netstandard2.0/System.Memory.Data.dll": { + "assemblyVersion": "1.0.2.0", + "fileVersion": "1.0.221.20802" + } + } + }, + "System.Numerics.Vectors/4.5.0": { + "runtime": { + "lib/netstandard2.0/System.Numerics.Vectors.dll": { + "assemblyVersion": "4.1.4.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "System.ObjectModel/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.ObjectModel.dll": { + "assemblyVersion": "4.0.13.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Private.DataContractSerialization/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Collections.Concurrent": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Linq": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Emit.Lightweight": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Serialization.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Text.RegularExpressions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0", + "System.Xml.XDocument": "4.3.0", + "System.Xml.XmlDocument": "4.3.0", + "System.Xml.XmlSerializer": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Private.DataContractSerialization.dll": { + "assemblyVersion": "4.1.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Private.Uri/4.3.2": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3" + } + }, + "System.Reflection/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.IO": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Emit/4.3.0": { + "dependencies": { + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Reflection.Emit.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Reflection.Emit.ILGeneration/4.3.0": { + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Reflection.Emit.ILGeneration.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Reflection.Emit.Lightweight/4.3.0": { + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Reflection.Emit.Lightweight.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Reflection.Extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Primitives/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.TypeExtensions/4.3.0": { + "dependencies": { + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.5/System.Reflection.TypeExtensions.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Resources.ResourceManager/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Globalization": "4.3.0", + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3" + } + }, + "System.Runtime.CompilerServices.Unsafe/4.7.1": { + "runtime": { + "lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll": { + "assemblyVersion": "4.0.6.0", + "fileVersion": "4.700.20.12001" + } + } + }, + "System.Runtime.Extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.Handles/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.InteropServices/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + } + }, + "System.Runtime.Numerics/4.3.0": { + "dependencies": { + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Runtime.Numerics.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Runtime.Serialization.Formatters/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Serialization.Primitives": "4.3.0" + }, + "runtime": { + "lib/netstandard1.4/System.Runtime.Serialization.Formatters.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Runtime.Serialization.Json/4.3.0": { + "dependencies": { + "System.IO": "4.3.0", + "System.Private.DataContractSerialization": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Runtime.Serialization.Json.dll": { + "assemblyVersion": "4.0.3.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Runtime.Serialization.Primitives/4.3.0": { + "dependencies": { + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Runtime.Serialization.Primitives.dll": { + "assemblyVersion": "4.1.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Security.AccessControl/4.5.0": { + "dependencies": { + "System.Security.Principal.Windows": "4.5.0" + }, + "runtime": { + "lib/netstandard2.0/System.Security.AccessControl.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "System.Security.Cryptography.Algorithms/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "System.Collections": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.Apple": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "System.Security.Cryptography.Cng/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0" + } + }, + "System.Security.Cryptography.Csp/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Security.Cryptography.Encoding/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "System.Collections": "4.3.0", + "System.Collections.Concurrent": "4.3.0", + "System.Linq": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "System.Security.Cryptography.OpenSsl/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + }, + "runtime": { + "lib/netstandard1.6/System.Security.Cryptography.OpenSsl.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "1.0.24212.1" + } + } + }, + "System.Security.Cryptography.Primitives/4.3.0": { + "dependencies": { + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Security.Cryptography.Primitives.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Security.Cryptography.ProtectedData/4.5.0": { + "dependencies": { + "System.Memory": "4.5.4" + }, + "runtime": { + "lib/netstandard2.0/System.Security.Cryptography.ProtectedData.dll": { + "assemblyVersion": "4.0.3.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "System.Security.Cryptography.X509Certificates/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Calendars": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Cng": "4.3.0", + "System.Security.Cryptography.Csp": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.OpenSsl": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "runtime.native.System": "4.3.0", + "runtime.native.System.Net.Http": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "System.Security.Permissions/4.5.0": { + "dependencies": { + "System.Security.AccessControl": "4.5.0" + }, + "runtime": { + "lib/netstandard2.0/System.Security.Permissions.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "System.Security.Principal.Windows/4.5.0": { + "runtime": { + "lib/netstandard2.0/System.Security.Principal.Windows.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.26515.6" + } + } + }, + "System.Security.SecureString/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Text.Encoding/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "System.Text.Encoding.Extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0" + } + }, + "System.Text.Encodings.Web/4.7.2": { + "dependencies": { + "System.Buffers": "4.5.1", + "System.Memory": "4.5.4" + }, + "runtime": { + "lib/netstandard2.0/System.Text.Encodings.Web.dll": { + "assemblyVersion": "4.0.5.1", + "fileVersion": "4.700.21.11602" + } + } + }, + "System.Text.Json/4.7.2": { + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Buffers": "4.5.1", + "System.Memory": "4.5.4", + "System.Numerics.Vectors": "4.5.0", + "System.Runtime.CompilerServices.Unsafe": "4.7.1", + "System.Text.Encodings.Web": "4.7.2", + "System.Threading.Tasks.Extensions": "4.5.4" + }, + "runtime": { + "lib/netstandard2.0/System.Text.Json.dll": { + "assemblyVersion": "4.0.1.2", + "fileVersion": "4.700.20.21406" + } + } + }, + "System.Text.RegularExpressions/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.6/System.Text.RegularExpressions.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Threading/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Threading.dll": { + "assemblyVersion": "4.0.12.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Threading.Tasks/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.0" + } + }, + "System.Threading.Tasks.Extensions/4.5.4": { + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "4.7.1" + }, + "runtime": { + "lib/netstandard2.0/System.Threading.Tasks.Extensions.dll": { + "assemblyVersion": "4.2.0.1", + "fileVersion": "4.6.28619.1" + } + } + }, + "System.Threading.Thread/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Threading.Thread.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Threading.ThreadPool/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Threading.ThreadPool.dll": { + "assemblyVersion": "4.0.11.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Xml.ReaderWriter/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Text.RegularExpressions": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.Tasks.Extensions": "4.5.4" + }, + "runtime": { + "lib/netstandard1.3/System.Xml.ReaderWriter.dll": { + "assemblyVersion": "4.1.0.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Xml.XDocument/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tools": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Xml.XDocument.dll": { + "assemblyVersion": "4.0.12.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Xml.XmlDocument/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Xml.XmlDocument.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Xml.XmlSerializer/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Linq": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.RegularExpressions": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0", + "System.Xml.XmlDocument": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Xml.XmlSerializer.dll": { + "assemblyVersion": "4.0.12.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "Microsoft.Azure.PowerShell.Authentication/1.0.0": { + "dependencies": { + "Azure.Core": "1.22.0", + "Azure.Identity": "1.5.0", + "Hyak.Common": "1.2.2", + "Microsoft.ApplicationInsights": "2.12.0", + "Microsoft.Azure.Common": "2.2.1", + "Microsoft.Azure.PowerShell.Authentication.Abstractions": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Aks": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Authorization": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Compute": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Graph.Rbac": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.KeyVault": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Monitor": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Network": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.PolicyInsights": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.ResourceManager": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Storage.Management": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Websites": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common.Share": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Storage": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Strategies": "1.3.57-preview", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "Microsoft.Azure.PowerShell.Authentication.dll": {} + } + }, + "Microsoft.Azure.PowerShell.Authentication.ResourceManager/1.0.0": { + "dependencies": { + "Azure.Core": "1.22.0", + "Hyak.Common": "1.2.2", + "Microsoft.ApplicationInsights": "2.12.0", + "Microsoft.Azure.Common": "2.2.1", + "Microsoft.Azure.PowerShell.Authentication": "1.0.0", + "Microsoft.Azure.PowerShell.Authentication.Abstractions": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Aks": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Authorization": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Compute": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Graph.Rbac": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.KeyVault": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Monitor": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Network": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.PolicyInsights": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.ResourceManager": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Storage.Management": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Clients.Websites": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Common.Share": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Storage": "1.3.57-preview", + "Microsoft.Azure.PowerShell.Strategies": "1.3.57-preview", + "Microsoft.Rest.ClientRuntime": "2.3.23", + "Microsoft.Rest.ClientRuntime.Azure": "3.3.19", + "Newtonsoft.Json": "10.0.3" + }, + "runtime": { + "Microsoft.Azure.PowerShell.Authentication.ResourceManager.dll": {} + } + }, + "Microsoft.Azure.PowerShell.Authenticators/1.0.0": { + "dependencies": { + "Azure.Identity": "1.5.0", + "Microsoft.Azure.PowerShell.Authentication": "1.0.0" + }, + "runtime": { + "Microsoft.Azure.PowerShell.Authenticators.dll": {} + } + } + } + }, + "libraries": { + "Microsoft.Azure.PowerShell.Cmdlets.Accounts/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Azure.Core/1.22.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ze/xRCHSSDe5TIk5vBDbVrauW1EN7UIbnBvIBfMH8KSt/I9+/7yPAjTBDgNBk0IwG6WBV+BBHp4IUtS/PGAQwQ==", + "path": "azure.core/1.22.0", + "hashPath": "azure.core.1.22.0.nupkg.sha512" + }, + "Azure.Identity/1.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VfF88dqrgKXZNOS/y4XrX/jmIfP3pkY+hBUzBNpoKml1nR+QshX6XlXWyToLtWV80TDQ1CmUVCJksktDg5+j1w==", + "path": "azure.identity/1.5.0", + "hashPath": "azure.identity.1.5.0.nupkg.sha512" + }, + "Hyak.Common/1.2.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-uZpnFn48nSQwHcO0/GSBZ7ExaO0sTXKv8KariXXEWLaB4Q3AeQoprYG4WpKsCT0ByW3YffETivgc5rcH5RRDvQ==", + "path": "hyak.common/1.2.2", + "hashPath": "hyak.common.1.2.2.nupkg.sha512" + }, + "Microsoft.ApplicationInsights/2.12.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4vZcVaxywAzfLm5mAc2/llaZQTzbCqu9KirxxI/t49AkZH5Qxf7JxuAMUuv2/6JEdOOkGDzpvdrrIlf6LkFGcg==", + "path": "microsoft.applicationinsights/2.12.0", + "hashPath": "microsoft.applicationinsights.2.12.0.nupkg.sha512" + }, + "Microsoft.Azure.Common/2.2.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-abzRooh4ACKjzAKxRB6r+SHKW3d+IrLcgtVG81D+3kQU/OMjAZS1oDp9CDalhSbmxa84u0MHM5N+AKeTtKPoiw==", + "path": "microsoft.azure.common/2.2.1", + "hashPath": "microsoft.azure.common.2.2.1.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Authentication.Abstractions/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bKDPidNeqBpTDikPnIuoMoGd26pD2PNE41cut0ASwL5exJwLNggYO55U+f/cJkgjCUMR8i5nqnlfpGHSS1I0vw==", + "path": "microsoft.azure.powershell.authentication.abstractions/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.authentication.abstractions.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Aks/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-sUGkvOvpqlEK5zdZ7HWaou3GY5bnlNrE0LuZ137+TsNfgx2E3+0Ika3a02i/9+niDDf60xj4LaNOYDSuK5zdJA==", + "path": "microsoft.azure.powershell.clients.aks/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.aks.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Authorization/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Q760F40/qfas2Al+GQhhE4gJt768pQPxlCjqrjjkukgVsq+X/M8IqpCeBzbRTiiyerhcjJoyNxqlGuZpUhqGxw==", + "path": "microsoft.azure.powershell.clients.authorization/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.authorization.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Compute/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1fcsBdYMmEJPMPN8EAgJkaJ2WxxTKH3VcLECYdL2cfg2bgN8CKbbjSvarrXEezhyduE+LdYnL0e8Pigsnaj55Q==", + "path": "microsoft.azure.powershell.clients.compute/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.compute.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Graph.Rbac/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BIMthJ1x2vQAN3iWChnNj8BfgrXvKXn+n06E0/h2MNurMXbAOn5eiPIfE8bnj2BO99uSh1ns09yEgOTPJIvZBQ==", + "path": "microsoft.azure.powershell.clients.graph.rbac/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.graph.rbac.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.KeyVault/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-MfvwM8ABj/EswmYu0Bf/8kyAO6kUv2zYSihVn384SVmypomVKUu69GN0VXKbmGaovPI8v3H41Ldp7DqbPRun5A==", + "path": "microsoft.azure.powershell.clients.keyvault/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.keyvault.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Monitor/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-UyCKG5BWVjYFRtH2JNx6f4KdccaSqww2y0OE2PYgib8VhLqkoPr/BQg6vKzaGsghLIerZ/egQ7ntPPw3PCtS3w==", + "path": "microsoft.azure.powershell.clients.monitor/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.monitor.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Network/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YAAHxw+zzvkGNWAi668NSoTR+V/7vf+gRhu1oFa1O1/f2NGpz5XuqPrQyAPrri64hKqB/k3OMrM7sjlIv16dAg==", + "path": "microsoft.azure.powershell.clients.network/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.network.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.PolicyInsights/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-urRIwRVzzOwpk8HhKq/b785DiL/arnmGUHbN4HvRN6ZsBkE1PU431YwgUlofb9pfB3buLcl0XJFRPLBJ0yZJUw==", + "path": "microsoft.azure.powershell.clients.policyinsights/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.policyinsights.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.ResourceManager/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-juWnd63Z2Sp+6bvtOPOF0Gj1v2AfpxXcuyodd9+U7euBro2G7Yfo2UHmHo/uaYyQUbM3HaXJPvse7BLDKjhe6w==", + "path": "microsoft.azure.powershell.clients.resourcemanager/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.resourcemanager.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Storage.Management/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HPpTWIlN+5ALqJssL7+6BD/vYrWi3eWKQ3QpWYjCFk5c9HVLTNpP+M2dq9jbsxLsZj+5Pt6gC4FIS22Q13Uhag==", + "path": "microsoft.azure.powershell.clients.storage.management/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.storage.management.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Clients.Websites/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-b5yBD9FrY02r0kdNNgZ+uU0/QsW3AtmnCE/x1mUG5j8ka/V04AYUo+sDokQBzu+vnK6Y6OrVDtyWjmnKTDHpWA==", + "path": "microsoft.azure.powershell.clients.websites/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.clients.websites.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Common/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-9jZYZ9LKbx16r69y7cO9d7bDjpE0/HgeBU386Y/O6q05VRaq2wAsB2rbQ9AjxcPGHfwS0+2US/RImSSqjVABRQ==", + "path": "microsoft.azure.powershell.common/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.common.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Common.Share/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4mJSjnwZVLQYWhP47eDzdt0yaLIf2I4pqaEIqcfAjkjdbKpnCXCnJUEFRId061yuKpq1LtfBZkHDRi68I5CJxg==", + "path": "microsoft.azure.powershell.common.share/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.common.share.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Storage/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-fObXEcuhk1JUoQ0fiCV4nK4NJWqvsfsKCzapF7SFEQ87X6AasL6m5KGT8JQSnHmc849xxxaixPTxyWaf9BBlpw==", + "path": "microsoft.azure.powershell.storage/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.storage.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Strategies/1.3.57-preview": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HwyxUwDHCmY6Zdxg2xpFC9Gqmu92Xr0cAr4ElWYwz8Z7PE9uYVkTpKMIKd7oIJJgsIANTfqEU1HKoeI3FXPLqw==", + "path": "microsoft.azure.powershell.strategies/1.3.57-preview", + "hashPath": "microsoft.azure.powershell.strategies.1.3.57-preview.nupkg.sha512" + }, + "Microsoft.Bcl.AsyncInterfaces/1.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-yuvf07qFWFqtK3P/MRkEKLhn5r2UbSpVueRziSqj0yJQIKFwG1pq9mOayK3zE5qZCTs0CbrwL9M6R8VwqyGy2w==", + "path": "microsoft.bcl.asyncinterfaces/1.1.1", + "hashPath": "microsoft.bcl.asyncinterfaces.1.1.1.nupkg.sha512" + }, + "Microsoft.CSharp/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kaj6Wb4qoMuH3HySFJhxwQfe8R/sJsNJnANrvv8WdFPMoNbKY5htfNscv+LHCu5ipz+49m2e+WQXpLXr9XYemQ==", + "path": "microsoft.csharp/4.5.0", + "hashPath": "microsoft.csharp.4.5.0.nupkg.sha512" + }, + "Microsoft.Identity.Client/4.30.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xk8tJeGfB2yD3+d7a0DXyV7/HYyEG10IofUHYHoPYKmDbroi/j9t1BqSHgbq1nARDjg7m8Ki6e21AyNU7e/R4Q==", + "path": "microsoft.identity.client/4.30.1", + "hashPath": "microsoft.identity.client.4.30.1.nupkg.sha512" + }, + "Microsoft.Identity.Client.Extensions.Msal/2.18.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HpG4oLwhQsy0ce7OWq9iDdLtJKOvKRStIKoSEOeBMKuohfuOWNDyhg8fMAJkpG/kFeoe4J329fiMHcJmmB+FPw==", + "path": "microsoft.identity.client.extensions.msal/2.18.4", + "hashPath": "microsoft.identity.client.extensions.msal.2.18.4.nupkg.sha512" + }, + "Microsoft.NETCore.Platforms/1.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-TMBuzAHpTenGbGgk0SMTwyEkyijY/Eae4ZGsFNYJvAr/LDn1ku3Etp3FPxChmDp5HHF3kzJuoaa08N0xjqAJfQ==", + "path": "microsoft.netcore.platforms/1.1.1", + "hashPath": "microsoft.netcore.platforms.1.1.1.nupkg.sha512" + }, + "Microsoft.NETCore.Targets/1.1.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3Wrmi0kJDzClwAC+iBdUBpEKmEle8FQNsCs77fkiOIw/9oYA07bL1EZNX0kQ2OMN3xpwvl0vAtOCYY3ndDNlhQ==", + "path": "microsoft.netcore.targets/1.1.3", + "hashPath": "microsoft.netcore.targets.1.1.3.nupkg.sha512" + }, + "Microsoft.Rest.ClientRuntime/2.3.23": { + "type": "package", + "serviceable": true, + "sha512": "sha512-92kNTi1N7zI5wwI2ZXswBRnk61OUYnuYJXrlgOhes5IsAqGmgw9DPGmhUzeY8OaZ8TTrQdDzvgXFnbCHwLzSVA==", + "path": "microsoft.rest.clientruntime/2.3.23", + "hashPath": "microsoft.rest.clientruntime.2.3.23.nupkg.sha512" + }, + "Microsoft.Rest.ClientRuntime.Azure/3.3.19": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+NVBWvRXNwaAPTZUxjUlQggsrf3X0GbiRoxYfgc3kG9E55ZxZxvZPT3nIfC4DNqzGSXUEvmLbckdXgBBzGdUaA==", + "path": "microsoft.rest.clientruntime.azure/3.3.19", + "hashPath": "microsoft.rest.clientruntime.azure.3.3.19.nupkg.sha512" + }, + "Microsoft.Win32.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==", + "path": "microsoft.win32.primitives/4.3.0", + "hashPath": "microsoft.win32.primitives.4.3.0.nupkg.sha512" + }, + "Microsoft.Win32.Registry/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Lw1/VwLH1yxz6SfFEjVRCN0pnflLEsWgnV4qsdJ512/HhTwnKXUG+zDQ4yTO3K/EJQemGoNaBHX5InISNKTzUQ==", + "path": "microsoft.win32.registry/4.3.0", + "hashPath": "microsoft.win32.registry.4.3.0.nupkg.sha512" + }, + "NETStandard.Library/2.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==", + "path": "netstandard.library/2.0.3", + "hashPath": "netstandard.library.2.0.3.nupkg.sha512" + }, + "Newtonsoft.Json/10.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-hSXaFmh7hNCuEoC4XNY5DrRkLDzYHqPx/Ik23R4J86Z7PE/Y6YidhG602dFVdLBRSdG6xp9NabH3dXpcoxWvww==", + "path": "newtonsoft.json/10.0.3", + "hashPath": "newtonsoft.json.10.0.3.nupkg.sha512" + }, + "PowerShellStandard.Library/5.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-iYaRvQsM1fow9h3uEmio+2m2VXfulgI16AYHaTZ8Sf7erGe27Qc8w/h6QL5UPuwv1aXR40QfzMEwcCeiYJp2cw==", + "path": "powershellstandard.library/5.1.0", + "hashPath": "powershellstandard.library.5.1.0.nupkg.sha512" + }, + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HdSSp5MnJSsg08KMfZThpuLPJpPwE5hBXvHwoKWosyHHfe8Mh5WKT0ylEOf6yNzX6Ngjxe4Whkafh5q7Ymac4Q==", + "path": "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+yH1a49wJMy8Zt4yx5RhJrxO/DBDByAiCzNwiETI+1S4mPdCu0OY4djdciC7Vssk0l22wQaDLrXxXkp+3+7bVA==", + "path": "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-c3YNH1GQJbfIPJeCnr4avseugSqPrxwIqzthYyZDN6EuOyNOzq+y2KSUfRcXauya1sF4foESTgwM5e1A8arAKw==", + "path": "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.native.System/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", + "path": "runtime.native.system/4.3.0", + "hashPath": "runtime.native.system.4.3.0.nupkg.sha512" + }, + "runtime.native.System.Net.Http/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", + "path": "runtime.native.system.net.http/4.3.0", + "hashPath": "runtime.native.system.net.http.4.3.0.nupkg.sha512" + }, + "runtime.native.System.Security.Cryptography.Apple/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", + "path": "runtime.native.system.security.cryptography.apple/4.3.0", + "hashPath": "runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512" + }, + "runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-NS1U+700m4KFRHR5o4vo9DSlTmlCKu/u7dtE5sUHVIPB+xpXxYQvgBgA6wEIeCz6Yfn0Z52/72WYsToCEPJnrw==", + "path": "runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-b3pthNgxxFcD+Pc0WSEoC0+md3MyhRS6aCEeenvNE3Fdw1HyJ18ZhRFVJJzIeR/O/jpxPboB805Ho0T3Ul7w8A==", + "path": "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KeLz4HClKf+nFS7p/6Fi/CqyLXh81FpiGzcmuS8DGi9lUqSnZ6Es23/gv2O+1XVGfrbNmviF7CckBpavkBoIFQ==", + "path": "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==", + "path": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple/4.3.0", + "hashPath": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-X7IdhILzr4ROXd8mI1BUCQMSHSQwelUlBjF1JyTKCjXaOGn2fB4EKBxQbCK2VjO3WaWIdlXZL3W6TiIVnrhX4g==", + "path": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-nyFNiCk/r+VOiIqreLix8yN+q3Wga9+SE8BCgkf+2BwEKiNx6DyvFjCgkfV743/grxv8jHJ8gUK4XEQw7yzRYg==", + "path": "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ytoewC6wGorL7KoCAvRfsgoJPJbNq+64k2SqW6JcOAebWsFUvCCYgfzQMrnpvPiEl4OrblUlhF2ji+Q1+SVLrQ==", + "path": "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-I8bKw2I8k58Wx7fMKQJn2R8lamboCAiHfHeV/pS65ScKWMMI0+wJkLYlEKvgW1D/XvSl/221clBoR2q9QNNM7A==", + "path": "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VB5cn/7OzUfzdnC8tqAIMQciVLiq2epm2NrAm1E9OjNRyG4lVhfR61SMcLizejzQP8R8Uf/0l5qOIbUEi+RdEg==", + "path": "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "System.Buffers/4.5.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==", + "path": "system.buffers/4.5.1", + "hashPath": "system.buffers.4.5.1.nupkg.sha512" + }, + "System.Collections/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", + "path": "system.collections/4.3.0", + "hashPath": "system.collections.4.3.0.nupkg.sha512" + }, + "System.Collections.Concurrent/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", + "path": "system.collections.concurrent/4.3.0", + "hashPath": "system.collections.concurrent.4.3.0.nupkg.sha512" + }, + "System.Collections.NonGeneric/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-prtjIEMhGUnQq6RnPEYLpFt8AtLbp9yq2zxOSrY7KJJZrw25Fi97IzBqY7iqssbM61Ek5b8f3MG/sG1N2sN5KA==", + "path": "system.collections.nongeneric/4.3.0", + "hashPath": "system.collections.nongeneric.4.3.0.nupkg.sha512" + }, + "System.Collections.Specialized/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Epx8PoVZR0iuOnJJDzp7pWvdfMMOAvpUo95pC4ScH2mJuXkKA2Y4aR3cG9qt2klHgSons1WFh4kcGW7cSXvrxg==", + "path": "system.collections.specialized/4.3.0", + "hashPath": "system.collections.specialized.4.3.0.nupkg.sha512" + }, + "System.ComponentModel/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VyGn1jGRZVfxnh8EdvDCi71v3bMXrsu8aYJOwoV7SNDLVhiEqwP86pPMyRGsDsxhXAm2b3o9OIqeETfN5qfezw==", + "path": "system.componentmodel/4.3.0", + "hashPath": "system.componentmodel.4.3.0.nupkg.sha512" + }, + "System.ComponentModel.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-j8GUkCpM8V4d4vhLIIoBLGey2Z5bCkMVNjEZseyAlm4n5arcsJOeI3zkUP+zvZgzsbLTYh4lYeP/ZD/gdIAPrw==", + "path": "system.componentmodel.primitives/4.3.0", + "hashPath": "system.componentmodel.primitives.4.3.0.nupkg.sha512" + }, + "System.ComponentModel.TypeConverter/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-16pQ6P+EdhcXzPiEK4kbA953Fu0MNG2ovxTZU81/qsCd1zPRsKc3uif5NgvllCY598k6bI0KUyKW8fanlfaDQg==", + "path": "system.componentmodel.typeconverter/4.3.0", + "hashPath": "system.componentmodel.typeconverter.4.3.0.nupkg.sha512" + }, + "System.Diagnostics.Debug/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", + "path": "system.diagnostics.debug/4.3.0", + "hashPath": "system.diagnostics.debug.4.3.0.nupkg.sha512" + }, + "System.Diagnostics.DiagnosticSource/4.6.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-mbBgoR0rRfl2uimsZ2avZY8g7Xnh1Mza0rJZLPcxqiMWlkGukjmRkuMJ/er+AhQuiRIh80CR/Hpeztr80seV5g==", + "path": "system.diagnostics.diagnosticsource/4.6.0", + "hashPath": "system.diagnostics.diagnosticsource.4.6.0.nupkg.sha512" + }, + "System.Diagnostics.Process/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-J0wOX07+QASQblsfxmIMFc9Iq7KTXYL3zs2G/Xc704Ylv3NpuVdo6gij6V3PGiptTxqsK0K7CdXenRvKUnkA2g==", + "path": "system.diagnostics.process/4.3.0", + "hashPath": "system.diagnostics.process.4.3.0.nupkg.sha512" + }, + "System.Diagnostics.Tools/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==", + "path": "system.diagnostics.tools/4.3.0", + "hashPath": "system.diagnostics.tools.4.3.0.nupkg.sha512" + }, + "System.Diagnostics.Tracing/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", + "path": "system.diagnostics.tracing/4.3.0", + "hashPath": "system.diagnostics.tracing.4.3.0.nupkg.sha512" + }, + "System.Dynamic.Runtime/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-SNVi1E/vfWUAs/WYKhE9+qlS6KqK0YVhnlT0HQtr8pMIA8YX3lwy3uPMownDwdYISBdmAF/2holEIldVp85Wag==", + "path": "system.dynamic.runtime/4.3.0", + "hashPath": "system.dynamic.runtime.4.3.0.nupkg.sha512" + }, + "System.Globalization/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", + "path": "system.globalization/4.3.0", + "hashPath": "system.globalization.4.3.0.nupkg.sha512" + }, + "System.Globalization.Calendars/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", + "path": "system.globalization.calendars/4.3.0", + "hashPath": "system.globalization.calendars.4.3.0.nupkg.sha512" + }, + "System.Globalization.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", + "path": "system.globalization.extensions/4.3.0", + "hashPath": "system.globalization.extensions.4.3.0.nupkg.sha512" + }, + "System.IO/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", + "path": "system.io/4.3.0", + "hashPath": "system.io.4.3.0.nupkg.sha512" + }, + "System.IO.FileSystem/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", + "path": "system.io.filesystem/4.3.0", + "hashPath": "system.io.filesystem.4.3.0.nupkg.sha512" + }, + "System.IO.FileSystem.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", + "path": "system.io.filesystem.primitives/4.3.0", + "hashPath": "system.io.filesystem.primitives.4.3.0.nupkg.sha512" + }, + "System.Linq/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", + "path": "system.linq/4.3.0", + "hashPath": "system.linq.4.3.0.nupkg.sha512" + }, + "System.Linq.Expressions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==", + "path": "system.linq.expressions/4.3.0", + "hashPath": "system.linq.expressions.4.3.0.nupkg.sha512" + }, + "System.Memory/4.5.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1MbJTHS1lZ4bS4FmsJjnuGJOu88ZzTT2rLvrhW7Ygic+pC0NWA+3hgAen0HRdsocuQXCkUTdFn9yHJJhsijDXw==", + "path": "system.memory/4.5.4", + "hashPath": "system.memory.4.5.4.nupkg.sha512" + }, + "System.Memory.Data/1.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JGkzeqgBsiZwKJZ1IxPNsDFZDhUvuEdX8L8BDC8N3KOj+6zMcNU28CNN59TpZE/VJYy9cP+5M+sbxtWJx3/xtw==", + "path": "system.memory.data/1.0.2", + "hashPath": "system.memory.data.1.0.2.nupkg.sha512" + }, + "System.Numerics.Vectors/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-QQTlPTl06J/iiDbJCiepZ4H//BVraReU4O4EoRw1U02H5TLUIT7xn3GnDp9AXPSlJUDyFs4uWjWafNX6WrAojQ==", + "path": "system.numerics.vectors/4.5.0", + "hashPath": "system.numerics.vectors.4.5.0.nupkg.sha512" + }, + "System.ObjectModel/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==", + "path": "system.objectmodel/4.3.0", + "hashPath": "system.objectmodel.4.3.0.nupkg.sha512" + }, + "System.Private.DataContractSerialization/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-yDaJ2x3mMmjdZEDB4IbezSnCsnjQ4BxinKhRAaP6kEgL6Bb6jANWphs5SzyD8imqeC/3FxgsuXT6ykkiH1uUmA==", + "path": "system.private.datacontractserialization/4.3.0", + "hashPath": "system.private.datacontractserialization.4.3.0.nupkg.sha512" + }, + "System.Private.Uri/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-o1+7RJnu3Ik3PazR7Z7tJhjPdE000Eq2KGLLWhqJJKXj04wrS8lwb1OFtDF9jzXXADhUuZNJZlPc98uwwqmpFA==", + "path": "system.private.uri/4.3.2", + "hashPath": "system.private.uri.4.3.2.nupkg.sha512" + }, + "System.Reflection/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", + "path": "system.reflection/4.3.0", + "hashPath": "system.reflection.4.3.0.nupkg.sha512" + }, + "System.Reflection.Emit/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==", + "path": "system.reflection.emit/4.3.0", + "hashPath": "system.reflection.emit.4.3.0.nupkg.sha512" + }, + "System.Reflection.Emit.ILGeneration/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==", + "path": "system.reflection.emit.ilgeneration/4.3.0", + "hashPath": "system.reflection.emit.ilgeneration.4.3.0.nupkg.sha512" + }, + "System.Reflection.Emit.Lightweight/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==", + "path": "system.reflection.emit.lightweight/4.3.0", + "hashPath": "system.reflection.emit.lightweight.4.3.0.nupkg.sha512" + }, + "System.Reflection.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==", + "path": "system.reflection.extensions/4.3.0", + "hashPath": "system.reflection.extensions.4.3.0.nupkg.sha512" + }, + "System.Reflection.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", + "path": "system.reflection.primitives/4.3.0", + "hashPath": "system.reflection.primitives.4.3.0.nupkg.sha512" + }, + "System.Reflection.TypeExtensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==", + "path": "system.reflection.typeextensions/4.3.0", + "hashPath": "system.reflection.typeextensions.4.3.0.nupkg.sha512" + }, + "System.Resources.ResourceManager/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", + "path": "system.resources.resourcemanager/4.3.0", + "hashPath": "system.resources.resourcemanager.4.3.0.nupkg.sha512" + }, + "System.Runtime/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", + "path": "system.runtime/4.3.0", + "hashPath": "system.runtime.4.3.0.nupkg.sha512" + }, + "System.Runtime.CompilerServices.Unsafe/4.7.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zOHkQmzPCn5zm/BH+cxC1XbUS3P4Yoi3xzW7eRgVpDR2tPGSzyMZ17Ig1iRkfJuY0nhxkQQde8pgePNiA7z7TQ==", + "path": "system.runtime.compilerservices.unsafe/4.7.1", + "hashPath": "system.runtime.compilerservices.unsafe.4.7.1.nupkg.sha512" + }, + "System.Runtime.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", + "path": "system.runtime.extensions/4.3.0", + "hashPath": "system.runtime.extensions.4.3.0.nupkg.sha512" + }, + "System.Runtime.Handles/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", + "path": "system.runtime.handles/4.3.0", + "hashPath": "system.runtime.handles.4.3.0.nupkg.sha512" + }, + "System.Runtime.InteropServices/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", + "path": "system.runtime.interopservices/4.3.0", + "hashPath": "system.runtime.interopservices.4.3.0.nupkg.sha512" + }, + "System.Runtime.Numerics/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", + "path": "system.runtime.numerics/4.3.0", + "hashPath": "system.runtime.numerics.4.3.0.nupkg.sha512" + }, + "System.Runtime.Serialization.Formatters/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KT591AkTNFOTbhZlaeMVvfax3RqhH1EJlcwF50Wm7sfnBLuHiOeZRRKrr1ns3NESkM20KPZ5Ol/ueMq5vg4QoQ==", + "path": "system.runtime.serialization.formatters/4.3.0", + "hashPath": "system.runtime.serialization.formatters.4.3.0.nupkg.sha512" + }, + "System.Runtime.Serialization.Json/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-CpVfOH0M/uZ5PH+M9+Gu56K0j9lJw3M+PKRegTkcrY/stOIvRUeonggxNrfBYLA5WOHL2j15KNJuTuld3x4o9w==", + "path": "system.runtime.serialization.json/4.3.0", + "hashPath": "system.runtime.serialization.json.4.3.0.nupkg.sha512" + }, + "System.Runtime.Serialization.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Wz+0KOukJGAlXjtKr+5Xpuxf8+c8739RI1C+A2BoQZT+wMCCoMDDdO8/4IRHfaVINqL78GO8dW8G2lW/e45Mcw==", + "path": "system.runtime.serialization.primitives/4.3.0", + "hashPath": "system.runtime.serialization.primitives.4.3.0.nupkg.sha512" + }, + "System.Security.AccessControl/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vW8Eoq0TMyz5vAG/6ce483x/CP83fgm4SJe5P8Tb1tZaobcvPrbMEL7rhH1DRdrYbbb6F0vq3OlzmK0Pkwks5A==", + "path": "system.security.accesscontrol/4.5.0", + "hashPath": "system.security.accesscontrol.4.5.0.nupkg.sha512" + }, + "System.Security.Cryptography.Algorithms/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", + "path": "system.security.cryptography.algorithms/4.3.0", + "hashPath": "system.security.cryptography.algorithms.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.Cng/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", + "path": "system.security.cryptography.cng/4.3.0", + "hashPath": "system.security.cryptography.cng.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.Csp/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", + "path": "system.security.cryptography.csp/4.3.0", + "hashPath": "system.security.cryptography.csp.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.Encoding/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", + "path": "system.security.cryptography.encoding/4.3.0", + "hashPath": "system.security.cryptography.encoding.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", + "path": "system.security.cryptography.openssl/4.3.0", + "hashPath": "system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", + "path": "system.security.cryptography.primitives/4.3.0", + "hashPath": "system.security.cryptography.primitives.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.ProtectedData/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-wLBKzFnDCxP12VL9ANydSYhk59fC4cvOr9ypYQLPnAj48NQIhqnjdD2yhP8yEKyBJEjERWS9DisKL7rX5eU25Q==", + "path": "system.security.cryptography.protecteddata/4.5.0", + "hashPath": "system.security.cryptography.protecteddata.4.5.0.nupkg.sha512" + }, + "System.Security.Cryptography.X509Certificates/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", + "path": "system.security.cryptography.x509certificates/4.3.0", + "hashPath": "system.security.cryptography.x509certificates.4.3.0.nupkg.sha512" + }, + "System.Security.Permissions/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-9gdyuARhUR7H+p5CjyUB/zPk7/Xut3wUSP8NJQB6iZr8L3XUXTMdoLeVAg9N4rqF8oIpE7MpdqHdDHQ7XgJe0g==", + "path": "system.security.permissions/4.5.0", + "hashPath": "system.security.permissions.4.5.0.nupkg.sha512" + }, + "System.Security.Principal.Windows/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-U77HfRXlZlOeIXd//Yoj6Jnk8AXlbeisf1oq1os+hxOGVnuG+lGSfGqTwTZBoORFF6j/0q7HXIl8cqwQ9aUGqQ==", + "path": "system.security.principal.windows/4.5.0", + "hashPath": "system.security.principal.windows.4.5.0.nupkg.sha512" + }, + "System.Security.SecureString/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-PnXp38O9q/2Oe4iZHMH60kinScv6QiiL2XH54Pj2t0Y6c2zKPEiAZsM/M3wBOHLNTBDFP0zfy13WN2M0qFz5jg==", + "path": "system.security.securestring/4.3.0", + "hashPath": "system.security.securestring.4.3.0.nupkg.sha512" + }, + "System.Text.Encoding/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", + "path": "system.text.encoding/4.3.0", + "hashPath": "system.text.encoding.4.3.0.nupkg.sha512" + }, + "System.Text.Encoding.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==", + "path": "system.text.encoding.extensions/4.3.0", + "hashPath": "system.text.encoding.extensions.4.3.0.nupkg.sha512" + }, + "System.Text.Encodings.Web/4.7.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-iTUgB/WtrZ1sWZs84F2hwyQhiRH6QNjQv2DkwrH+WP6RoFga2Q1m3f9/Q7FG8cck8AdHitQkmkXSY8qylcDmuA==", + "path": "system.text.encodings.web/4.7.2", + "hashPath": "system.text.encodings.web.4.7.2.nupkg.sha512" + }, + "System.Text.Json/4.7.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-TcMd95wcrubm9nHvJEQs70rC0H/8omiSGGpU4FQ/ZA1URIqD4pjmFJh2Mfv1yH1eHgJDWTi2hMDXwTET+zOOyg==", + "path": "system.text.json/4.7.2", + "hashPath": "system.text.json.4.7.2.nupkg.sha512" + }, + "System.Text.RegularExpressions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==", + "path": "system.text.regularexpressions/4.3.0", + "hashPath": "system.text.regularexpressions.4.3.0.nupkg.sha512" + }, + "System.Threading/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", + "path": "system.threading/4.3.0", + "hashPath": "system.threading.4.3.0.nupkg.sha512" + }, + "System.Threading.Tasks/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", + "path": "system.threading.tasks/4.3.0", + "hashPath": "system.threading.tasks.4.3.0.nupkg.sha512" + }, + "System.Threading.Tasks.Extensions/4.5.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==", + "path": "system.threading.tasks.extensions/4.5.4", + "hashPath": "system.threading.tasks.extensions.4.5.4.nupkg.sha512" + }, + "System.Threading.Thread/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "path": "system.threading.thread/4.3.0", + "hashPath": "system.threading.thread.4.3.0.nupkg.sha512" + }, + "System.Threading.ThreadPool/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-k/+g4b7vjdd4aix83sTgC9VG6oXYKAktSfNIJUNGxPEj7ryEOfzHHhfnmsZvjxawwcD9HyWXKCXmPjX8U4zeSw==", + "path": "system.threading.threadpool/4.3.0", + "hashPath": "system.threading.threadpool.4.3.0.nupkg.sha512" + }, + "System.Xml.ReaderWriter/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==", + "path": "system.xml.readerwriter/4.3.0", + "hashPath": "system.xml.readerwriter.4.3.0.nupkg.sha512" + }, + "System.Xml.XDocument/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==", + "path": "system.xml.xdocument/4.3.0", + "hashPath": "system.xml.xdocument.4.3.0.nupkg.sha512" + }, + "System.Xml.XmlDocument/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-lJ8AxvkX7GQxpC6GFCeBj8ThYVyQczx2+f/cWHJU8tjS7YfI6Cv6bon70jVEgs2CiFbmmM8b9j1oZVx0dSI2Ww==", + "path": "system.xml.xmldocument/4.3.0", + "hashPath": "system.xml.xmldocument.4.3.0.nupkg.sha512" + }, + "System.Xml.XmlSerializer/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-MYoTCP7EZ98RrANESW05J5ZwskKDoN0AuZ06ZflnowE50LTpbR5yRg3tHckTVm5j/m47stuGgCrCHWePyHS70Q==", + "path": "system.xml.xmlserializer/4.3.0", + "hashPath": "system.xml.xmlserializer.4.3.0.nupkg.sha512" + }, + "Microsoft.Azure.PowerShell.Authentication/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Azure.PowerShell.Authentication.ResourceManager/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Azure.PowerShell.Authenticators/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Cmdlets.Accounts.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Cmdlets.Accounts.dll new file mode 100644 index 000000000000..2eff02a0138e Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Cmdlets.Accounts.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Cmdlets.Accounts.dll-Help.xml b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Cmdlets.Accounts.dll-Help.xml new file mode 100644 index 000000000000..85f85750523b --- /dev/null +++ b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Cmdlets.Accounts.dll-Help.xml @@ -0,0 +1,11900 @@ + + + + + Add-AzEnvironment + Add + AzEnvironment + + Adds endpoints and metadata for an instance of Azure Resource Manager. + + + + The Add-AzEnvironment cmdlet adds endpoints and metadata to enable Azure Resource Manager cmdlets to connect with a new instance of Azure Resource Manager. The built-in environments AzureCloud and AzureChinaCloud target existing public instances of Azure Resource Manager. + + + + Add-AzEnvironment + + Name + + Specifies the name of the environment to add. + + System.String + + System.String + + + None + + + PublishSettingsFileUrl + + Specifies the URL from which .publishsettings files can be downloaded. + + System.String + + System.String + + + None + + + AzureKeyVaultDnsSuffix + + Dns suffix of Azure Key Vault service. Example is vault-int.azure-int.net + + System.String + + System.String + + + None + + + AzureKeyVaultServiceEndpointResourceId + + Resource identifier of Azure Key Vault data service that is the recipient of the requested token. + + System.String + + System.String + + + None + + + TrafficManagerDnsSuffix + + Specifies the domain-name suffix for Azure Traffic Manager services. + + System.String + + System.String + + + None + + + SqlDatabaseDnsSuffix + + Specifies the domain-name suffix for Azure SQL Database servers. + + System.String + + System.String + + + None + + + AzureDataLakeStoreFileSystemEndpointSuffix + + Dns Suffix of Azure Data Lake Store FileSystem. Example: azuredatalake.net + + System.String + + System.String + + + None + + + AzureDataLakeAnalyticsCatalogAndJobEndpointSuffix + + Dns Suffix of Azure Data Lake Analytics job and catalog services + + System.String + + System.String + + + None + + + EnableAdfsAuthentication + + Indicates that Active Directory Federation Services (ADFS) on-premise authentication is allowed. + + + System.Management.Automation.SwitchParameter + + + False + + + AdTenant + + Specifies the default Active Directory tenant. + + System.String + + System.String + + + None + + + GraphAudience + + The audience for tokens authenticating with the AD Graph Endpoint. + + System.String + + System.String + + + None + + + DataLakeAudience + + The audience for tokens authenticating with the AD Data Lake services Endpoint. + + System.String + + System.String + + + None + + + ServiceEndpoint + + Specifies the endpoint for Service Management (RDFE) requests. + + System.String + + System.String + + + None + + + BatchEndpointResourceId + + The resource identifier of the Azure Batch service that is the recipient of the requested token + + System.String + + System.String + + + None + + + AzureOperationalInsightsEndpointResourceId + + The audience for tokens authenticating with the Azure Log Analytics API. + + System.String + + System.String + + + None + + + AzureOperationalInsightsEndpoint + + The endpoint to use when communicating with the Azure Log Analytics API. + + System.String + + System.String + + + None + + + ManagementPortalUrl + + Specifies the URL for the Management Portal. + + System.String + + System.String + + + None + + + StorageEndpoint + + Specifies the endpoint for storage (blob, table, queue, and file) access. + + System.String + + System.String + + + None + + + ActiveDirectoryEndpoint + + Specifies the base authority for Azure Active Directory authentication. + + System.String + + System.String + + + None + + + ResourceManagerEndpoint + + Specifies the URL for Azure Resource Manager requests. + + System.String + + System.String + + + None + + + GalleryEndpoint + + Specifies the endpoint for the Azure Resource Manager gallery of deployment templates. + + System.String + + System.String + + + None + + + ActiveDirectoryServiceEndpointResourceId + + Specifies the audience for tokens that authenticate requests to Azure Resource Manager or Service Management (RDFE) endpoints. + + System.String + + System.String + + + None + + + GraphEndpoint + + Specifies the URL for Graph (Active Directory metadata) requests. + + System.String + + System.String + + + None + + + AzureAnalysisServicesEndpointResourceId + + The resource identifier of the Azure Analysis Services resource. + + System.String + + System.String + + + None + + + AzureAnalysisServicesEndpointSuffix + + The endpoint to use when communicating with the Azure Log Analytics API. + + System.String + + System.String + + + None + + + AzureAttestationServiceEndpointResourceId + + The The resource identifier of the Azure Attestation service that is the recipient of the requested token. + + System.String + + System.String + + + None + + + AzureAttestationServiceEndpointSuffix + + Dns suffix of Azure Attestation service. + + System.String + + System.String + + + None + + + AzureSynapseAnalyticsEndpointResourceId + + The The resource identifier of the Azure Synapse Analytics that is the recipient of the requested token. + + System.String + + System.String + + + None + + + AzureSynapseAnalyticsEndpointSuffix + + Dns suffix of Azure Synapse Analytics. + + System.String + + System.String + + + None + + + ContainerRegistryEndpointSuffix + + Suffix of Azure Container Registry. + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + MicrosoftGraphEndpointResourceId + + The resource identifier of Microsoft Graph + + System.String + + System.String + + + None + + + MicrosoftGraphUrl + + Microsoft Graph Url + + System.String + + System.String + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Add-AzEnvironment + + Name + + Specifies the name of the environment to add. + + System.String + + System.String + + + None + + + ARMEndpoint + + The Azure Resource Manager endpoint + + System.String + + System.String + + + None + + + AzureKeyVaultDnsSuffix + + Dns suffix of Azure Key Vault service. Example is vault-int.azure-int.net + + System.String + + System.String + + + None + + + AzureKeyVaultServiceEndpointResourceId + + Resource identifier of Azure Key Vault data service that is the recipient of the requested token. + + System.String + + System.String + + + None + + + DataLakeAudience + + The audience for tokens authenticating with the AD Data Lake services Endpoint. + + System.String + + System.String + + + None + + + BatchEndpointResourceId + + The resource identifier of the Azure Batch service that is the recipient of the requested token + + System.String + + System.String + + + None + + + AzureOperationalInsightsEndpointResourceId + + The audience for tokens authenticating with the Azure Log Analytics API. + + System.String + + System.String + + + None + + + AzureOperationalInsightsEndpoint + + The endpoint to use when communicating with the Azure Log Analytics API. + + System.String + + System.String + + + None + + + StorageEndpoint + + Specifies the endpoint for storage (blob, table, queue, and file) access. + + System.String + + System.String + + + None + + + AzureAnalysisServicesEndpointResourceId + + The resource identifier of the Azure Analysis Services resource. + + System.String + + System.String + + + None + + + AzureAnalysisServicesEndpointSuffix + + The endpoint to use when communicating with the Azure Log Analytics API. + + System.String + + System.String + + + None + + + AzureAttestationServiceEndpointResourceId + + The The resource identifier of the Azure Attestation service that is the recipient of the requested token. + + System.String + + System.String + + + None + + + AzureAttestationServiceEndpointSuffix + + Dns suffix of Azure Attestation service. + + System.String + + System.String + + + None + + + AzureSynapseAnalyticsEndpointResourceId + + The The resource identifier of the Azure Synapse Analytics that is the recipient of the requested token. + + System.String + + System.String + + + None + + + AzureSynapseAnalyticsEndpointSuffix + + Dns suffix of Azure Synapse Analytics. + + System.String + + System.String + + + None + + + ContainerRegistryEndpointSuffix + + Suffix of Azure Container Registry. + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Add-AzEnvironment + + AutoDiscover + + Discovers environments via default or configured endpoint. + + + System.Management.Automation.SwitchParameter + + + False + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Uri + + Specifies URI of the internet resource to fetch environments. + + System.Uri + + System.Uri + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + ActiveDirectoryEndpoint + + Specifies the base authority for Azure Active Directory authentication. + + System.String + + System.String + + + None + + + ActiveDirectoryServiceEndpointResourceId + + Specifies the audience for tokens that authenticate requests to Azure Resource Manager or Service Management (RDFE) endpoints. + + System.String + + System.String + + + None + + + AdTenant + + Specifies the default Active Directory tenant. + + System.String + + System.String + + + None + + + ARMEndpoint + + The Azure Resource Manager endpoint + + System.String + + System.String + + + None + + + AutoDiscover + + Discovers environments via default or configured endpoint. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + AzureAnalysisServicesEndpointResourceId + + The resource identifier of the Azure Analysis Services resource. + + System.String + + System.String + + + None + + + AzureAnalysisServicesEndpointSuffix + + The endpoint to use when communicating with the Azure Log Analytics API. + + System.String + + System.String + + + None + + + AzureAttestationServiceEndpointResourceId + + The The resource identifier of the Azure Attestation service that is the recipient of the requested token. + + System.String + + System.String + + + None + + + AzureAttestationServiceEndpointSuffix + + Dns suffix of Azure Attestation service. + + System.String + + System.String + + + None + + + AzureDataLakeAnalyticsCatalogAndJobEndpointSuffix + + Dns Suffix of Azure Data Lake Analytics job and catalog services + + System.String + + System.String + + + None + + + AzureDataLakeStoreFileSystemEndpointSuffix + + Dns Suffix of Azure Data Lake Store FileSystem. Example: azuredatalake.net + + System.String + + System.String + + + None + + + AzureKeyVaultDnsSuffix + + Dns suffix of Azure Key Vault service. Example is vault-int.azure-int.net + + System.String + + System.String + + + None + + + AzureKeyVaultServiceEndpointResourceId + + Resource identifier of Azure Key Vault data service that is the recipient of the requested token. + + System.String + + System.String + + + None + + + AzureOperationalInsightsEndpoint + + The endpoint to use when communicating with the Azure Log Analytics API. + + System.String + + System.String + + + None + + + AzureOperationalInsightsEndpointResourceId + + The audience for tokens authenticating with the Azure Log Analytics API. + + System.String + + System.String + + + None + + + AzureSynapseAnalyticsEndpointResourceId + + The The resource identifier of the Azure Synapse Analytics that is the recipient of the requested token. + + System.String + + System.String + + + None + + + AzureSynapseAnalyticsEndpointSuffix + + Dns suffix of Azure Synapse Analytics. + + System.String + + System.String + + + None + + + BatchEndpointResourceId + + The resource identifier of the Azure Batch service that is the recipient of the requested token + + System.String + + System.String + + + None + + + ContainerRegistryEndpointSuffix + + Suffix of Azure Container Registry. + + System.String + + System.String + + + None + + + DataLakeAudience + + The audience for tokens authenticating with the AD Data Lake services Endpoint. + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + EnableAdfsAuthentication + + Indicates that Active Directory Federation Services (ADFS) on-premise authentication is allowed. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + GalleryEndpoint + + Specifies the endpoint for the Azure Resource Manager gallery of deployment templates. + + System.String + + System.String + + + None + + + GraphAudience + + The audience for tokens authenticating with the AD Graph Endpoint. + + System.String + + System.String + + + None + + + GraphEndpoint + + Specifies the URL for Graph (Active Directory metadata) requests. + + System.String + + System.String + + + None + + + ManagementPortalUrl + + Specifies the URL for the Management Portal. + + System.String + + System.String + + + None + + + MicrosoftGraphEndpointResourceId + + The resource identifier of Microsoft Graph + + System.String + + System.String + + + None + + + MicrosoftGraphUrl + + Microsoft Graph Url + + System.String + + System.String + + + None + + + Name + + Specifies the name of the environment to add. + + System.String + + System.String + + + None + + + PublishSettingsFileUrl + + Specifies the URL from which .publishsettings files can be downloaded. + + System.String + + System.String + + + None + + + ResourceManagerEndpoint + + Specifies the URL for Azure Resource Manager requests. + + System.String + + System.String + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + ServiceEndpoint + + Specifies the endpoint for Service Management (RDFE) requests. + + System.String + + System.String + + + None + + + SqlDatabaseDnsSuffix + + Specifies the domain-name suffix for Azure SQL Database servers. + + System.String + + System.String + + + None + + + StorageEndpoint + + Specifies the endpoint for storage (blob, table, queue, and file) access. + + System.String + + System.String + + + None + + + TrafficManagerDnsSuffix + + Specifies the domain-name suffix for Azure Traffic Manager services. + + System.String + + System.String + + + None + + + Uri + + Specifies URI of the internet resource to fetch environments. + + System.Uri + + System.Uri + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + System.String + + + + + + + + System.Management.Automation.SwitchParameter + + + + + + + + + + Microsoft.Azure.Commands.Profile.Models.PSAzureEnvironment + + + + + + + + + + + + + + ----- Example 1: Creating and modifying a new environment ----- + Add-AzEnvironment -Name TestEnvironment ` + -ActiveDirectoryEndpoint TestADEndpoint ` + -ActiveDirectoryServiceEndpointResourceId TestADApplicationId ` + -ResourceManagerEndpoint TestRMEndpoint ` + -GalleryEndpoint TestGalleryEndpoint ` + -GraphEndpoint TestGraphEndpoint + +Name Resource Manager Url ActiveDirectory Authority +---- -------------------- ------------------------- +TestEnvironment TestRMEndpoint TestADEndpoint/ + +Set-AzEnvironment -Name TestEnvironment ` + -ActiveDirectoryEndpoint NewTestADEndpoint ` + -GraphEndpoint NewTestGraphEndpoint | Format-List + +Name : TestEnvironment +EnableAdfsAuthentication : False +OnPremise : False +ActiveDirectoryServiceEndpointResourceId : TestADApplicationId +AdTenant : +GalleryUrl : TestGalleryEndpoint +ManagementPortalUrl : +ServiceManagementUrl : +PublishSettingsFileUrl : +ResourceManagerUrl : TestRMEndpoint +SqlDatabaseDnsSuffix : +StorageEndpointSuffix : +ActiveDirectoryAuthority : NewTestADEndpoint +GraphUrl : NewTestGraphEndpoint +GraphEndpointResourceId : +TrafficManagerDnsSuffix : +AzureKeyVaultDnsSuffix : +DataLakeEndpointResourceId : +AzureDataLakeStoreFileSystemEndpointSuffix : +AzureDataLakeAnalyticsCatalogAndJobEndpointSuffix : +AzureKeyVaultServiceEndpointResourceId : +AzureOperationalInsightsEndpointResourceId : +AzureOperationalInsightsEndpoint : +AzureAnalysisServicesEndpointSuffix : +AzureAttestationServiceEndpointSuffix : +AzureAttestationServiceEndpointResourceId : +AzureSynapseAnalyticsEndpointSuffix : +AzureSynapseAnalyticsEndpointResourceId : +VersionProfiles : {} +ExtendedProperties : {} +BatchEndpointResourceId : + + In this example we are creating a new Azure environment with sample endpoints using Add-AzEnvironment, and then we are changing the value of the ActiveDirectoryEndpoint and GraphEndpoint attributes of the created environment using the cmdlet Set-AzEnvironment. + + + + + + ------- Example 2: Discovering a new environment via Uri ------- + <# +Uri https://configuredmetadata.net returns an array of environment metadata. The following example contains a payload for the AzureCloud default environment. + +[ + { + "portal": "https://portal.azure.com", + "authentication": { + "loginEndpoint": "https://login.microsoftonline.com/", + "audiences": [ + "https://management.core.windows.net/" + ], + "tenant": "common", + "identityProvider": "AAD" + }, + "media": "https://rest.media.azure.net", + "graphAudience": "https://graph.windows.net/", + "graph": "https://graph.windows.net/", + "name": "AzureCloud", + "suffixes": { + "azureDataLakeStoreFileSystem": "azuredatalakestore.net", + "acrLoginServer": "azurecr.io", + "sqlServerHostname": ".database.windows.net", + "azureDataLakeAnalyticsCatalogAndJob": "azuredatalakeanalytics.net", + "keyVaultDns": "vault.azure.net", + "storage": "core.windows.net", + "azureFrontDoorEndpointSuffix": "azurefd.net" + }, + "batch": "https://batch.core.windows.net/", + "resourceManager": "https://management.azure.com/", + "vmImageAliasDoc": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/arm-compute/quickstart-templates/aliases.json", + "activeDirectoryDataLake": "https://datalake.azure.net/", + "sqlManagement": "https://management.core.windows.net:8443/", + "gallery": "https://gallery.azure.com/" + }, +…… +] +#> + +Add-AzEnvironment -AutoDiscover -Uri https://configuredmetadata.net + +Name Resource Manager Url ActiveDirectory Authority +---- -------------------- ------------------------- +TestEnvironment TestRMEndpoint TestADEndpoint/ + + In this example, we are discovering a new Azure environment from the `https://configuredmetadata.net` Uri. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/add-azenvironment + + + Get-AzEnvironment + + + + Remove-AzEnvironment + + + + Set-AzEnvironment + + + + + + + Clear-AzContext + Clear + AzContext + + Remove all Azure credentials, account, and subscription information. + + + + Remove all Azure Credentials, account, and subscription information. + + + + Clear-AzContext + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Force + + Delete all users and groups from the global scope without prompting + + + System.Management.Automation.SwitchParameter + + + False + + + PassThru + + Return a value indicating success or failure + + + System.Management.Automation.SwitchParameter + + + False + + + Scope + + Clear the context only for the current PowerShell session, or for all sessions. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Force + + Delete all users and groups from the global scope without prompting + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + PassThru + + Return a value indicating success or failure + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + Scope + + Clear the context only for the current PowerShell session, or for all sessions. + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.Boolean + + + + + + + + + + + + + + --------------- Example 1: Clear global context --------------- + Clear-AzContext -Scope CurrentUser + + Remove all account, subscription, and credential information for any powershell session. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/clear-azcontext + + + + + + Clear-AzDefault + Clear + AzDefault + + Clears the defaults set by the user in the current context. + + + + The Clear-AzDefault cmdlet removes the defaults set by the user depending on the switch parameters specified by the user. + + + + Clear-AzDefault + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Force + + Remove all defaults if no default is specified + + + System.Management.Automation.SwitchParameter + + + False + + + PassThru + + {{Fill PassThru Description}} + + + System.Management.Automation.SwitchParameter + + + False + + + ResourceGroup + + Clear Default Resource Group + + + System.Management.Automation.SwitchParameter + + + False + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Force + + Remove all defaults if no default is specified + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + PassThru + + {{Fill PassThru Description}} + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + ResourceGroup + + Clear Default Resource Group + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + System.Management.Automation.SwitchParameter + + + + + + + + + + System.Boolean + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Clear-AzDefault + + This command removes all the defaults set by the user in the current context. + + + + + + -------------------------- Example 2 -------------------------- + Clear-AzDefault -ResourceGroup + + This command removes the default resource group set by the user in the current context. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/clear-azdefault + + + + + + Connect-AzAccount + Connect + AzAccount + + Connect to Azure with an authenticated account for use with cmdlets from the Az PowerShell modules. + + + + The `Connect-AzAccount` cmdlet connects to Azure with an authenticated account for use with cmdlets from the Az PowerShell modules. You can use this authenticated account only with Azure Resource Manager requests. To add an authenticated account for use with Service Management, use the `Add-AzureAccount` cmdlet from the Azure PowerShell module. If no context is found for the current user, the user's context list is populated with a context for each of their first 25 subscriptions. The list of contexts created for the user can be found by running `Get-AzContext -ListAvailable`. To skip this context population, specify the SkipContextPopulation switch parameter. After executing this cmdlet, you can disconnect from an Azure account using `Disconnect-AzAccount`. + + + + Connect-AzAccount + + AccessToken + + Specifies an access token. + > [!CAUTION] > Access tokens are a type of credential. You should take the appropriate security precautions to > keep them confidential. Access tokens also timeout and may prevent long running tasks from > completing. + + System.String + + System.String + + + None + + + AccountId + + Account Id / User Id / User Name to login with in Default (UserWithSubscriptionId) parameter set; Account ID for access token in AccessToken parameter set; Account ID for managed service in ManagedService parameter set. Can be a managed service resource ID, or the associated client ID. To use the system assigned identity, leave this field blank. + + System.String + + System.String + + + None + + + ContextName + + Name of the default Azure context for this login. For more information about Azure contexts, see Azure PowerShell context objects (/powershell/azure/context-persistence). + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Environment + + Environment containing the Azure account. + + System.String + + System.String + + + None + + + Force + + Overwrite the existing context with the same name without prompting. + + + System.Management.Automation.SwitchParameter + + + False + + + GraphAccessToken + + AccessToken for Graph Service. + + System.String + + System.String + + + None + + + KeyVaultAccessToken + + AccessToken for KeyVault Service. + + System.String + + System.String + + + None + + + MaxContextPopulation + + Max subscription number to populate contexts after login. Default is 25. To populate all subscriptions to contexts, set to -1. + + System.Int32 + + System.Int32 + + + None + + + MicrosoftGraphAccessToken + + Access token to Microsoft Graph + + System.String + + System.String + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + SkipContextPopulation + + Skips context population if no contexts are found. + + + System.Management.Automation.SwitchParameter + + + False + + + SkipValidation + + Skip validation for access token. + + + System.Management.Automation.SwitchParameter + + + False + + + Subscription + + Subscription Name or ID. + + System.String + + System.String + + + None + + + Tenant + + Optional tenant name or ID. + > [!NOTE] > Due to limitations of the current API, you must use a tenant ID instead of a tenant name when > connecting with a business-to-business (B2B) account. + + System.String + + System.String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Connect-AzAccount + + AccountId + + Account Id / User Id / User Name to login with in Default (UserWithSubscriptionId) parameter set; Account ID for access token in AccessToken parameter set; Account ID for managed service in ManagedService parameter set. Can be a managed service resource ID, or the associated client ID. To use the system assigned identity, leave this field blank. + + System.String + + System.String + + + None + + + AuthScope + + Optional OAuth scope for login, supported pre-defined values: AadGraph, AnalysisServices, Attestation, Batch, DataLake, KeyVault, OperationalInsights, Storage, Synapse. It also supports resource id like `https://storage.azure.com/`. + + System.String + + System.String + + + None + + + ContextName + + Name of the default Azure context for this login. For more information about Azure contexts, see Azure PowerShell context objects (/powershell/azure/context-persistence). + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Environment + + Environment containing the Azure account. + + System.String + + System.String + + + None + + + Force + + Overwrite the existing context with the same name without prompting. + + + System.Management.Automation.SwitchParameter + + + False + + + MaxContextPopulation + + Max subscription number to populate contexts after login. Default is 25. To populate all subscriptions to contexts, set to -1. + + System.Int32 + + System.Int32 + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + SkipContextPopulation + + Skips context population if no contexts are found. + + + System.Management.Automation.SwitchParameter + + + False + + + Subscription + + Subscription Name or ID. + + System.String + + System.String + + + None + + + Tenant + + Optional tenant name or ID. + > [!NOTE] > Due to limitations of the current API, you must use a tenant ID instead of a tenant name when > connecting with a business-to-business (B2B) account. + + System.String + + System.String + + + None + + + UseDeviceAuthentication + + Use device code authentication instead of a browser control. + + + System.Management.Automation.SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Connect-AzAccount + + AccountId + + Account Id / User Id / User Name to login with in Default (UserWithSubscriptionId) parameter set; Account ID for access token in AccessToken parameter set; Account ID for managed service in ManagedService parameter set. Can be a managed service resource ID, or the associated client ID. To use the system assigned identity, leave this field blank. + + System.String + + System.String + + + None + + + AuthScope + + Optional OAuth scope for login, supported pre-defined values: AadGraph, AnalysisServices, Attestation, Batch, DataLake, KeyVault, OperationalInsights, Storage, Synapse. It also supports resource id like `https://storage.azure.com/`. + + System.String + + System.String + + + None + + + ContextName + + Name of the default Azure context for this login. For more information about Azure contexts, see Azure PowerShell context objects (/powershell/azure/context-persistence). + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Environment + + Environment containing the Azure account. + + System.String + + System.String + + + None + + + Force + + Overwrite the existing context with the same name without prompting. + + + System.Management.Automation.SwitchParameter + + + False + + + Identity + + Login using a Managed Service Identity. + + + System.Management.Automation.SwitchParameter + + + False + + + MaxContextPopulation + + Max subscription number to populate contexts after login. Default is 25. To populate all subscriptions to contexts, set to -1. + + System.Int32 + + System.Int32 + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + SkipContextPopulation + + Skips context population if no contexts are found. + + + System.Management.Automation.SwitchParameter + + + False + + + Subscription + + Subscription Name or ID. + + System.String + + System.String + + + None + + + Tenant + + Optional tenant name or ID. + > [!NOTE] > Due to limitations of the current API, you must use a tenant ID instead of a tenant name when > connecting with a business-to-business (B2B) account. + + System.String + + System.String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Connect-AzAccount + + ApplicationId + + Application ID of the service principal. + + System.String + + System.String + + + None + + + AuthScope + + Optional OAuth scope for login, supported pre-defined values: AadGraph, AnalysisServices, Attestation, Batch, DataLake, KeyVault, OperationalInsights, Storage, Synapse. It also supports resource id like `https://storage.azure.com/`. + + System.String + + System.String + + + None + + + CertificateThumbprint + + Certificate Hash or Thumbprint. + + System.String + + System.String + + + None + + + ContextName + + Name of the default Azure context for this login. For more information about Azure contexts, see Azure PowerShell context objects (/powershell/azure/context-persistence). + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Environment + + Environment containing the Azure account. + + System.String + + System.String + + + None + + + Force + + Overwrite the existing context with the same name without prompting. + + + System.Management.Automation.SwitchParameter + + + False + + + MaxContextPopulation + + Max subscription number to populate contexts after login. Default is 25. To populate all subscriptions to contexts, set to -1. + + System.Int32 + + System.Int32 + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + SendCertificateChain + + Specifies if the x5c claim (public key of the certificate) should be sent to the STS to achieve easy certificate rollover in Azure AD. + + + System.Management.Automation.SwitchParameter + + + False + + + ServicePrincipal + + Indicates that this account authenticates by providing service principal credentials. + + + System.Management.Automation.SwitchParameter + + + False + + + SkipContextPopulation + + Skips context population if no contexts are found. + + + System.Management.Automation.SwitchParameter + + + False + + + Subscription + + Subscription Name or ID. + + System.String + + System.String + + + None + + + Tenant + + Optional tenant name or ID. + > [!NOTE] > Due to limitations of the current API, you must use a tenant ID instead of a tenant name when > connecting with a business-to-business (B2B) account. + + System.String + + System.String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Connect-AzAccount + + ApplicationId + + Application ID of the service principal. + + System.String + + System.String + + + None + + + ContextName + + Name of the default Azure context for this login. For more information about Azure contexts, see Azure PowerShell context objects (/powershell/azure/context-persistence). + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Environment + + Environment containing the Azure account. + + System.String + + System.String + + + None + + + FederatedToken + + Specifies a token provided by another identity provider. The issuer and subject in this token must be first configured to be trusted by the ApplicationId. + > [!CAUTION] > Federated tokens are a type of credential. You should take the appropriate security precautions to keep them confidential. Federated tokens also timeout and may prevent long running tasks from completing. + + System.String + + System.String + + + None + + + Force + + Overwrite the existing context with the same name without prompting. + + + System.Management.Automation.SwitchParameter + + + False + + + MaxContextPopulation + + Max subscription number to populate contexts after login. Default is 25. To populate all subscriptions to contexts, set to -1. + + System.Int32 + + System.Int32 + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + ServicePrincipal + + Indicates that this account authenticates by providing service principal credentials. + + + System.Management.Automation.SwitchParameter + + + False + + + SkipContextPopulation + + Skips context population if no contexts are found. + + + System.Management.Automation.SwitchParameter + + + False + + + Subscription + + Subscription Name or ID. + + System.String + + System.String + + + None + + + Tenant + + Optional tenant name or ID. + > [!NOTE] > Due to limitations of the current API, you must use a tenant ID instead of a tenant name when > connecting with a business-to-business (B2B) account. + + System.String + + System.String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Connect-AzAccount + + ApplicationId + + Application ID of the service principal. + + System.String + + System.String + + + None + + + CertificatePassword + + The password required to access the pkcs#12 certificate file. + + System.Security.SecureString + + System.Security.SecureString + + + None + + + CertificatePath + + The path of certficate file in pkcs#12 format. + + System.String + + System.String + + + None + + + ContextName + + Name of the default Azure context for this login. For more information about Azure contexts, see Azure PowerShell context objects (/powershell/azure/context-persistence). + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Environment + + Environment containing the Azure account. + + System.String + + System.String + + + None + + + Force + + Overwrite the existing context with the same name without prompting. + + + System.Management.Automation.SwitchParameter + + + False + + + MaxContextPopulation + + Max subscription number to populate contexts after login. Default is 25. To populate all subscriptions to contexts, set to -1. + + System.Int32 + + System.Int32 + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + SendCertificateChain + + Specifies if the x5c claim (public key of the certificate) should be sent to the STS to achieve easy certificate rollover in Azure AD. + + + System.Management.Automation.SwitchParameter + + + False + + + ServicePrincipal + + Indicates that this account authenticates by providing service principal credentials. + + + System.Management.Automation.SwitchParameter + + + False + + + SkipContextPopulation + + Skips context population if no contexts are found. + + + System.Management.Automation.SwitchParameter + + + False + + + Subscription + + Subscription Name or ID. + + System.String + + System.String + + + None + + + Tenant + + Optional tenant name or ID. + > [!NOTE] > Due to limitations of the current API, you must use a tenant ID instead of a tenant name when > connecting with a business-to-business (B2B) account. + + System.String + + System.String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Connect-AzAccount + + AuthScope + + Optional OAuth scope for login, supported pre-defined values: AadGraph, AnalysisServices, Attestation, Batch, DataLake, KeyVault, OperationalInsights, Storage, Synapse. It also supports resource id like `https://storage.azure.com/`. + + System.String + + System.String + + + None + + + ContextName + + Name of the default Azure context for this login. For more information about Azure contexts, see Azure PowerShell context objects (/powershell/azure/context-persistence). + + System.String + + System.String + + + None + + + Credential + + Specifies a PSCredential object. For more information about the PSCredential object, type `Get-Help Get-Credential`. The PSCredential object provides the user ID and password for organizational ID credentials, or the application ID and secret for service principal credentials. + + System.Management.Automation.PSCredential + + System.Management.Automation.PSCredential + + + None + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Environment + + Environment containing the Azure account. + + System.String + + System.String + + + None + + + Force + + Overwrite the existing context with the same name without prompting. + + + System.Management.Automation.SwitchParameter + + + False + + + MaxContextPopulation + + Max subscription number to populate contexts after login. Default is 25. To populate all subscriptions to contexts, set to -1. + + System.Int32 + + System.Int32 + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + ServicePrincipal + + Indicates that this account authenticates by providing service principal credentials. + + + System.Management.Automation.SwitchParameter + + + False + + + SkipContextPopulation + + Skips context population if no contexts are found. + + + System.Management.Automation.SwitchParameter + + + False + + + Subscription + + Subscription Name or ID. + + System.String + + System.String + + + None + + + Tenant + + Optional tenant name or ID. + > [!NOTE] > Due to limitations of the current API, you must use a tenant ID instead of a tenant name when > connecting with a business-to-business (B2B) account. + + System.String + + System.String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Connect-AzAccount + + AuthScope + + Optional OAuth scope for login, supported pre-defined values: AadGraph, AnalysisServices, Attestation, Batch, DataLake, KeyVault, OperationalInsights, Storage, Synapse. It also supports resource id like `https://storage.azure.com/`. + + System.String + + System.String + + + None + + + ContextName + + Name of the default Azure context for this login. For more information about Azure contexts, see Azure PowerShell context objects (/powershell/azure/context-persistence). + + System.String + + System.String + + + None + + + Credential + + Specifies a PSCredential object. For more information about the PSCredential object, type `Get-Help Get-Credential`. The PSCredential object provides the user ID and password for organizational ID credentials, or the application ID and secret for service principal credentials. + + System.Management.Automation.PSCredential + + System.Management.Automation.PSCredential + + + None + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Environment + + Environment containing the Azure account. + + System.String + + System.String + + + None + + + Force + + Overwrite the existing context with the same name without prompting. + + + System.Management.Automation.SwitchParameter + + + False + + + MaxContextPopulation + + Max subscription number to populate contexts after login. Default is 25. To populate all subscriptions to contexts, set to -1. + + System.Int32 + + System.Int32 + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + SkipContextPopulation + + Skips context population if no contexts are found. + + + System.Management.Automation.SwitchParameter + + + False + + + Subscription + + Subscription Name or ID. + + System.String + + System.String + + + None + + + Tenant + + Optional tenant name or ID. + > [!NOTE] > Due to limitations of the current API, you must use a tenant ID instead of a tenant name when > connecting with a business-to-business (B2B) account. + + System.String + + System.String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + AccessToken + + Specifies an access token. + > [!CAUTION] > Access tokens are a type of credential. You should take the appropriate security precautions to > keep them confidential. Access tokens also timeout and may prevent long running tasks from > completing. + + System.String + + System.String + + + None + + + AccountId + + Account Id / User Id / User Name to login with in Default (UserWithSubscriptionId) parameter set; Account ID for access token in AccessToken parameter set; Account ID for managed service in ManagedService parameter set. Can be a managed service resource ID, or the associated client ID. To use the system assigned identity, leave this field blank. + + System.String + + System.String + + + None + + + ApplicationId + + Application ID of the service principal. + + System.String + + System.String + + + None + + + AuthScope + + Optional OAuth scope for login, supported pre-defined values: AadGraph, AnalysisServices, Attestation, Batch, DataLake, KeyVault, OperationalInsights, Storage, Synapse. It also supports resource id like `https://storage.azure.com/`. + + System.String + + System.String + + + None + + + CertificatePassword + + The password required to access the pkcs#12 certificate file. + + System.Security.SecureString + + System.Security.SecureString + + + None + + + CertificatePath + + The path of certficate file in pkcs#12 format. + + System.String + + System.String + + + None + + + CertificateThumbprint + + Certificate Hash or Thumbprint. + + System.String + + System.String + + + None + + + ContextName + + Name of the default Azure context for this login. For more information about Azure contexts, see Azure PowerShell context objects (/powershell/azure/context-persistence). + + System.String + + System.String + + + None + + + Credential + + Specifies a PSCredential object. For more information about the PSCredential object, type `Get-Help Get-Credential`. The PSCredential object provides the user ID and password for organizational ID credentials, or the application ID and secret for service principal credentials. + + System.Management.Automation.PSCredential + + System.Management.Automation.PSCredential + + + None + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Environment + + Environment containing the Azure account. + + System.String + + System.String + + + None + + + FederatedToken + + Specifies a token provided by another identity provider. The issuer and subject in this token must be first configured to be trusted by the ApplicationId. + > [!CAUTION] > Federated tokens are a type of credential. You should take the appropriate security precautions to keep them confidential. Federated tokens also timeout and may prevent long running tasks from completing. + + System.String + + System.String + + + None + + + Force + + Overwrite the existing context with the same name without prompting. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + GraphAccessToken + + AccessToken for Graph Service. + + System.String + + System.String + + + None + + + Identity + + Login using a Managed Service Identity. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + KeyVaultAccessToken + + AccessToken for KeyVault Service. + + System.String + + System.String + + + None + + + MaxContextPopulation + + Max subscription number to populate contexts after login. Default is 25. To populate all subscriptions to contexts, set to -1. + + System.Int32 + + System.Int32 + + + None + + + MicrosoftGraphAccessToken + + Access token to Microsoft Graph + + System.String + + System.String + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + SendCertificateChain + + Specifies if the x5c claim (public key of the certificate) should be sent to the STS to achieve easy certificate rollover in Azure AD. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + ServicePrincipal + + Indicates that this account authenticates by providing service principal credentials. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + SkipContextPopulation + + Skips context population if no contexts are found. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + SkipValidation + + Skip validation for access token. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + Subscription + + Subscription Name or ID. + + System.String + + System.String + + + None + + + Tenant + + Optional tenant name or ID. + > [!NOTE] > Due to limitations of the current API, you must use a tenant ID instead of a tenant name when > connecting with a business-to-business (B2B) account. + + System.String + + System.String + + + None + + + UseDeviceAuthentication + + Use device code authentication instead of a browser control. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + System.String + + + + + + + + + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureProfile + + + + + + + + + + + + + + ------------ Example 1: Connect to an Azure account ------------ + Connect-AzAccount + +Account SubscriptionName TenantId Environment +------- ---------------- -------- ----------- +azureuser@contoso.com Subscription1 xxxx-xxxx-xxxx-xxxx AzureCloud + + + + + + + + Example 2: Connect to Azure using organizational ID credentials + $Credential = Get-Credential +Connect-AzAccount -Credential $Credential + +Account SubscriptionName TenantId Environment +------- ---------------- -------- ----------- +azureuser@contoso.com Subscription1 xxxx-xxxx-xxxx-xxxx AzureCloud + + + + + + + + Example 3: Connect to Azure using a service principal account + $Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $ApplicationId, $SecuredPassword +Connect-AzAccount -ServicePrincipal -TenantId $TenantId -Credential $Credential + +Account SubscriptionName TenantId Environment +------- ---------------- -------- ----------- +xxxx-xxxx-xxxx-xxxx Subscription1 xxxx-xxxx-xxxx-xxxx AzureCloud + + + + + + + + Example 4: Use an interactive login to connect to a specific tenant and subscription + Connect-AzAccount -Tenant 'xxxx-xxxx-xxxx-xxxx' -SubscriptionId 'yyyy-yyyy-yyyy-yyyy' + +Account SubscriptionName TenantId Environment +------- ---------------- -------- ----------- +azureuser@contoso.com Subscription1 xxxx-xxxx-xxxx-xxxx AzureCloud + + + + + + + + ----- Example 5: Connect using a Managed Service Identity ----- + Connect-AzAccount -Identity + +Account SubscriptionName TenantId Environment +------- ---------------- -------- ----------- +MSI@50342 Subscription1 xxxx-xxxx-xxxx-xxxx AzureCloud + + + + + + + + Example 6: Connect using Managed Service Identity login and ClientId + $identity = Get-AzUserAssignedIdentity -ResourceGroupName 'myResourceGroup' -Name 'myUserAssignedIdentity' +Get-AzVM -ResourceGroupName contoso -Name testvm | Update-AzVM -IdentityType UserAssigned -IdentityId $identity.Id +Connect-AzAccount -Identity -AccountId $identity.ClientId # Run on the virtual machine + +Account SubscriptionName TenantId Environment +------- ---------------- -------- ----------- +yyyy-yyyy-yyyy-yyyy Subscription1 xxxx-xxxx-xxxx-xxxx AzureCloud + + + + + + + + ------------ Example 7: Connect using certificates ------------ + $Thumbprint = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' +$TenantId = 'yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyy' +$ApplicationId = '00000000-0000-0000-0000-00000000' +Connect-AzAccount -CertificateThumbprint $Thumbprint -ApplicationId $ApplicationId -Tenant $TenantId -ServicePrincipal + +Account SubscriptionName TenantId Environment +------- ---------------- -------- ----------- +xxxxxxxx-xxxx-xxxx-xxxxxxxxx Subscription1 yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyy AzureCloud + +Account : xxxxxxxx-xxxx-xxxx-xxxxxxxx +SubscriptionName : MyTestSubscription +SubscriptionId : zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzz +TenantId : yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyy +Environment : AzureCloud + + + + + + + + -------------- Example 8: Connect with AuthScope -------------- + Connect-AzAccount -AuthScope Storage + +Account SubscriptionName TenantId Environment +------- ---------------- -------- ----------- +yyyy-yyyy-yyyy-yyyy Subscription1 xxxx-xxxx-xxxx-xxxx AzureCloud + + + + + + + + ---------- Example 9: Connect using certificate file ---------- + $securePassword = $plainPassword | ConvertTo-SecureString -AsPlainText -Force +$TenantId = 'yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyy' +$ApplicationId = 'zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzz' +Connect-AzAccount -ServicePrincipal -ApplicationId $ApplicationId -TenantId $TenantId -CertificatePath './certificatefortest.pfx' -CertificatePassword $securePassword + +Account SubscriptionName TenantId Environment +------- ---------------- -------- ----------- +xxxxxxxx-xxxx-xxxx-xxxxxxxx Subscription1 yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyy AzureCloud + + + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/connect-azaccount + + + + + + Disable-AzContextAutosave + Disable + AzContextAutosave + + Turn off autosaving Azure credentials. Your login information will be forgotten the next time you open a PowerShell window + + + + Turn off autosaving Azure credentials. Your login information will be forgotten the next time you open a PowerShell window + + + + Disable-AzContextAutosave + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + None + + + + + + + + + + Microsoft.Azure.Commands.Common.Authentication.ContextAutosaveSettings + + + + + + + + + + + + + + ---------- Example 1: Disable autosaving the context ---------- + Disable-AzContextAutosave + + Disable autosave for the current user. + + + + + + -------------------------- Example 2 -------------------------- + <!-- Aladdin Generated Example --> +Disable-AzContextAutosave -Scope Process + + + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/disable-azcontextautosave + + + + + + Disable-AzDataCollection + Disable + AzDataCollection + + Opts out of collecting data to improve the Azure PowerShell cmdlets. Data is collected by default unless you explicitly opt out. + + + + The `Disable-AzDataCollection` cmdlet is used to opt out of data collection. Azure PowerShell automatically collects telemetry data by default. To disable data collection, you must explicitly opt-out. Microsoft aggregates collected data to identify patterns of usage, to identify common issues, and to improve the experience of Azure PowerShell. Microsoft Azure PowerShell doesn't collect any private or personal data. If you've previously opted out, run the `Enable-AzDataCollection` cmdlet to re-enable data collection for the current user on the current machine. + + + + Disable-AzDataCollection + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.Void + + + + + + + + + + + + + + -- Example 1: Disabling data collection for the current user -- + Disable-AzDataCollection + + + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/disable-azdatacollection + + + Enable-AzDataCollection + + + + + + + Disable-AzureRmAlias + Disable + AzureRmAlias + + Disables AzureRm prefix aliases for Az modules. + + + + Disables AzureRm prefix aliases for Az modules. If -Module is specified, only modules listed will have aliases disabled. Otherwise all AzureRm aliases are disabled. + + + + Disable-AzureRmAlias + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Module + + Indicates which modules to disable aliases for. If none are specified, default is all enabled modules. + + System.String[] + + System.String[] + + + None + + + PassThru + + If specified, cmdlet will return all disabled aliases + + + System.Management.Automation.SwitchParameter + + + False + + + Scope + + Indicates what scope aliases should be disabled for. Default is 'Process' + + + Process + CurrentUser + LocalMachine + + System.String + + System.String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Module + + Indicates which modules to disable aliases for. If none are specified, default is all enabled modules. + + System.String[] + + System.String[] + + + None + + + PassThru + + If specified, cmdlet will return all disabled aliases + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + Scope + + Indicates what scope aliases should be disabled for. Default is 'Process' + + System.String + + System.String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.String + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Disable-AzureRmAlias + + Disables all AzureRm prefixes for the current PowerShell session. + + + + + + -------------------------- Example 2 -------------------------- + Disable-AzureRmAlias -Module Az.Accounts -Scope CurrentUser + + Disables AzureRm aliases for the Az.Accounts module for both the current process and for the current user. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/disable-azurermalias + + + + + + Disconnect-AzAccount + Disconnect + AzAccount + + Disconnects a connected Azure account and removes all credentials and contexts associated with that account. + + + + The Disconnect-AzAccount cmdlet disconnects a connected Azure account and removes all credentials and contexts (subscription and tenant information) associated with that account. After executing this cmdlet, you will need to login again using Connect-AzAccount. + + + + Disconnect-AzAccount + + ApplicationId + + ServicePrincipal id (globally unique id) + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + TenantId + + Tenant id (globally unique id) + + System.String + + System.String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not executed. + + + System.Management.Automation.SwitchParameter + + + False + + + + Disconnect-AzAccount + + AzureContext + + Context + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + None + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not executed. + + + System.Management.Automation.SwitchParameter + + + False + + + + Disconnect-AzAccount + + ContextName + + Name of the context to log out of + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not executed. + + + System.Management.Automation.SwitchParameter + + + False + + + + Disconnect-AzAccount + + InputObject + + The account object to remove + + Microsoft.Azure.Commands.Profile.Models.PSAzureRmAccount + + Microsoft.Azure.Commands.Profile.Models.PSAzureRmAccount + + + None + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not executed. + + + System.Management.Automation.SwitchParameter + + + False + + + + Disconnect-AzAccount + + Username + + User name of the form 'user@contoso.org' + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not executed. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + ApplicationId + + ServicePrincipal id (globally unique id) + + System.String + + System.String + + + None + + + AzureContext + + Context + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + None + + + ContextName + + Name of the context to log out of + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + InputObject + + The account object to remove + + Microsoft.Azure.Commands.Profile.Models.PSAzureRmAccount + + Microsoft.Azure.Commands.Profile.Models.PSAzureRmAccount + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + TenantId + + Tenant id (globally unique id) + + System.String + + System.String + + + None + + + Username + + User name of the form 'user@contoso.org' + + System.String + + System.String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not executed. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + Microsoft.Azure.Commands.Profile.Models.PSAzureRmAccount + + + + + + + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + + + + + + + + Microsoft.Azure.Commands.Profile.Models.PSAzureRmAccount + + + + + + + + + + + + + + ----------- Example 1: Logout of the current account ----------- + Disconnect-AzAccount + + Logs out of the Azure account associated with the current context. + + + + + + Example 2: Logout of the account associated with a particular context + Get-AzContext "Work" | Disconnect-AzAccount -Scope CurrentUser + + Logs out the account associated with the given context (named 'Work'). Because this uses the 'CurrentUser' scope, all credentials and contexts will be permanently deleted. + + + + + + ------------- Example 3: Log out a particular user ------------- + Disconnect-AzAccount -Username 'user1@contoso.org' + + Logs out the 'user1@contoso.org' user - all credentials and all contexts associated with this user will be removed. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/disconnect-azaccount + + + + + + Enable-AzContextAutosave + Enable + AzContextAutosave + + Azure contexts are PowerShell objects representing your active subscription to run commands against, and the authentication information needed to connect to an Azure cloud. With Azure contexts, Azure PowerShell doesn't need to reauthenticate your account each time you switch subscriptions. For more information, see Azure PowerShell context objects (https://docs.microsoft.com/powershell/azure/context-persistence). + This cmdlet allows the Azure context information to be saved and automatically loaded when you start a PowerShell process. For example, when opening a new window. + + + + Allows the Azure context information to be saved and automatically loaded when a PowerShell process starts. The context is saved at the end of the execution of any cmdlet that affects the context. For example, any profile cmdlet. If you're using user authentication, then tokens can be updated during the course of running any cmdlet. + + + + Enable-AzContextAutosave + + DefaultProfile + + The credentials, tenant, and subscription used for communication with Azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Scope + + Determines the scope of context changes. For example, whether changes apply only to the current process, or to all sessions started by this user. Changes made with the scope `CurrentUser` will affect all PowerShell sessions started by the user. If a particular session needs to have different settings, use the scope `Process`. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + CurrentUser + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet isn't run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + DefaultProfile + + The credentials, tenant, and subscription used for communication with Azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Scope + + Determines the scope of context changes. For example, whether changes apply only to the current process, or to all sessions started by this user. Changes made with the scope `CurrentUser` will affect all PowerShell sessions started by the user. If a particular session needs to have different settings, use the scope `Process`. + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + CurrentUser + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet isn't run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + None + + + + + + + + + + Microsoft.Azure.Commands.Common.Authentication.ContextAutosaveSettings + + + + + + + + + + + + + + Example 1: Enable autosaving credentials for the current user + Enable-AzContextAutosave + + + + + + + + -------------------------- Example 2 -------------------------- + <!-- Aladdin Generated Example --> +Enable-AzContextAutosave -Scope Process + + + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/enable-azcontextautosave + + + + + + Enable-AzDataCollection + Enable + AzDataCollection + + Enables Azure PowerShell to collect data to improve the user experience with the Azure PowerShell cmdlets. Executing this cmdlet opts in to data collection for the current user on the current machine. Data is collected by default unless you explicitly opt out. + + + + The `Enable-AzDataCollection` cmdlet is used to opt in to data collection. Azure PowerShell automatically collects telemetry data by default. Microsoft aggregates collected data to identify patterns of usage, to identify common issues, and to improve the experience of Azure PowerShell. Microsoft Azure PowerShell doesn't collect any private or personal data. To disable data collection, you must explicitly opt out by executing `Disable-AzDataCollection`. + + + + Enable-AzDataCollection + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.Void + + + + + + + + + + + + + + --- Example 1: Enabling data collection for the current user --- + Enable-AzDataCollection + + + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/enable-azdatacollection + + + Disable-AzDataCollection + + + + + + + Enable-AzureRmAlias + Enable + AzureRmAlias + + Enables AzureRm prefix aliases for Az modules. + + + + Enables AzureRm prefix aliases for Az modules. If -Module is specified, only modules listed will have aliases enabled. Otherwise all AzureRm aliases are enabled. + + + + Enable-AzureRmAlias + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Module + + Indicates which modules to enable aliases for. If none are specified, default is all modules. + + System.String[] + + System.String[] + + + None + + + PassThru + + If specified, cmdlet will return all aliases enabled + + + System.Management.Automation.SwitchParameter + + + False + + + Scope + + Indicates what scope aliases should be enabled for. Default is 'Local' + + + Local + Process + CurrentUser + LocalMachine + + System.String + + System.String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Module + + Indicates which modules to enable aliases for. If none are specified, default is all modules. + + System.String[] + + System.String[] + + + None + + + PassThru + + If specified, cmdlet will return all aliases enabled + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + Scope + + Indicates what scope aliases should be enabled for. Default is 'Local' + + System.String + + System.String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.String + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Enable-AzureRmAlias + + Enables all AzureRm prefixes for the current PowerShell session. + + + + + + -------------------------- Example 2 -------------------------- + Enable-AzureRmAlias -Module Az.Accounts -Scope CurrentUser + + Enables AzureRm aliases for the Az.Accounts module for both the current process and for the current user. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/enable-azurermalias + + + + + + Get-AzAccessToken + Get + AzAccessToken + + Get raw access token. When using -ResourceUrl, please make sure the value does match current Azure environment. You may refer to the value of `(Get-AzContext).Environment`. + + + + Get access token + + + + Get-AzAccessToken + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + ResourceTypeName + + Optional resource type name, supported values: AadGraph, AnalysisServices, Arm, Attestation, Batch, DataLake, KeyVault, MSGraph, OperationalInsights, ResourceManager, Storage, Synapse. Default value is Arm if not specified. + + System.String + + System.String + + + None + + + TenantId + + Optional Tenant Id. Use tenant id of default context if not specified. + + System.String + + System.String + + + None + + + + Get-AzAccessToken + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + ResourceUrl + + Resource url for that you're requesting token, e.g. 'https://graph.microsoft.com/'. + + System.String + + System.String + + + None + + + TenantId + + Optional Tenant Id. Use tenant id of default context if not specified. + + System.String + + System.String + + + None + + + + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + ResourceTypeName + + Optional resource type name, supported values: AadGraph, AnalysisServices, Arm, Attestation, Batch, DataLake, KeyVault, MSGraph, OperationalInsights, ResourceManager, Storage, Synapse. Default value is Arm if not specified. + + System.String + + System.String + + + None + + + ResourceUrl + + Resource url for that you're requesting token, e.g. 'https://graph.microsoft.com/'. + + System.String + + System.String + + + None + + + TenantId + + Optional Tenant Id. Use tenant id of default context if not specified. + + System.String + + System.String + + + None + + + + + + None + + + + + + + + + + Microsoft.Azure.Commands.Profile.Models.PSAccessToken + + + + + + + + + + + + + + ------- Example 1 Get the access token for ARM endpoint ------- + Get-AzAccessToken + + Get access token of current account for ResourceManager endpoint + + + + + + - Example 2 Get the access token for Microsoft Graph endpoint - + Get-AzAccessToken -ResourceTypeName MSGraph + + Get access token of Microsoft Graph endpoint for current account + + + + + + - Example 3 Get the access token for Microsoft Graph endpoint - + Get-AzAccessToken -ResourceUrl "https://graph.microsoft.com/" + + Get access token of Microsoft Graph endpoint for current account + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/get-azaccesstoken + + + + + + Get-AzContext + Get + AzContext + + Gets the metadata used to authenticate Azure Resource Manager requests. + + + + The Get-AzContext cmdlet gets the current metadata used to authenticate Azure Resource Manager requests. This cmdlet gets the Active Directory account, Active Directory tenant, Azure subscription, and the targeted Azure environment. Azure Resource Manager cmdlets use these settings by default when making Azure Resource Manager requests. When the available amount of subscription exceeds the default limit of 25, some subscriptions may not show up in the results of `Get-AzContext -ListAvailable`. Please run `Connect-AzAccount -MaxContextPopulation <int>` to get more contexts. + + + + Get-AzContext + + DefaultProfile + + The credentials, account, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + ListAvailable + + List all available contexts in the current session. + + + System.Management.Automation.SwitchParameter + + + False + + + RefreshContextFromTokenCache + + Refresh contexts from token cache + + + System.Management.Automation.SwitchParameter + + + False + + + + Get-AzContext + + Name + + The name of the context + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, account, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + + + + DefaultProfile + + The credentials, account, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + ListAvailable + + List all available contexts in the current session. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + Name + + The name of the context + + System.String + + System.String + + + None + + + RefreshContextFromTokenCache + + Refresh contexts from token cache + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + None + + + + + + + + + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + + + + + + + + + + + + ------------ Example 1: Getting the current context ------------ + Connect-AzAccount +Get-AzContext + +Name Account SubscriptionName Environment TenantId +---- ------- ---------------- ----------- -------- +Subscription1 (xxxxxxxx-xxxx-xxxx-xxx... test@outlook.com Subscription1 AzureCloud xxxxxxxx-x... + + In this example we are logging into our account with an Azure subscription using Connect-AzAccount, and then we are getting the context of the current session by calling Get-AzContext. + + + + + + ---------- Example 2: Listing all available contexts ---------- + Get-AzContext -ListAvailable + +Name Account SubscriptionName Environment TenantId +---- ------- ---------------- ----------- -------- +Subscription1 (xxxxxxxx-xxxx-xxxx-xxx... test@outlook.com Subscription1 AzureCloud xxxxxxxx-x... +Subscription2 (xxxxxxxx-xxxx-xxxx-xxx... test@outlook.com Subscription2 AzureCloud xxxxxxxx-x... +Subscription3 (xxxxxxxx-xxxx-xxxx-xxx... test@outlook.com Subscription3 AzureCloud xxxxxxxx-x... + + In this example, all currently available contexts are displayed. The user may select one of these contexts using Select-AzContext. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/get-azcontext + + + Set-AzContext + + + + Connect-AzAccount + + + + + + + Get-AzContextAutosaveSetting + Get + AzContextAutosaveSetting + + Display metadata about the context autosave feature, including whether the context is automatically saved, and where saved context and credential information can be found. + + + + Display metadata about the context autosave feature, including whether the context is automatically saved, and where saved context and credential information can be found. + + + + Get-AzContextAutosaveSetting + + DefaultProfile + + The credentials, account, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + + + + DefaultProfile + + The credentials, account, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + + + + None + + + + + + + + + + Microsoft.Azure.Commands.Common.Authentication.ContextAutosaveSettings + + + + + + + + + + + + + + ------ Get context save metadata for the current session ------ + Get-AzContextAutosaveSetting + +Mode : Process +ContextDirectory : None +ContextFile : None +CacheDirectory : None +CacheFile : None +Settings : {} + + Get details about whether and where the context is saved. In the above example, the autosave feature has been disabled. + + + + + + -------- Get context save metadata for the current user -------- + Get-AzContextAutosaveSetting -Scope CurrentUser + +Mode : CurrentUser +ContextDirectory : C:\Users\contoso\AppData\Roaming\Windows Azure Powershell +ContextFile : AzureRmContext.json +CacheDirectory : C:\Users\contoso\AppData\Roaming\Windows Azure Powershell +CacheFile : TokenCache.dat +Settings : {} + + Get details about whether and where the context is saved by default for the current user. Note that this may be different than the settings that are active in the current session. In the above example, the autosave feature has been enabled, and data is saved to the default location. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/get-azcontextautosavesetting + + + + + + Get-AzDefault + Get + AzDefault + + Get the defaults set by the user in the current context. + + + + The Get-AzDefault cmdlet gets the Resource Group that the user has set as default in the current context. + + + + Get-AzDefault + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + ResourceGroup + + Display Default Resource Group + + + System.Management.Automation.SwitchParameter + + + False + + + + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + ResourceGroup + + Display Default Resource Group + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + System.Management.Automation.SwitchParameter + + + + + + + + + + Microsoft.Azure.Commands.Profile.Models.PSResourceGroup + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Get-AzDefault + +Id : /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup +Name : myResourceGroup +Properties : Microsoft.Azure.Management.Internal.Resources.Models.ResourceGroupProperties +Location : eastus +ManagedBy : +Tags : + + This command returns the current defaults if there are defaults set, or returns nothing if no default is set. + + + + + + -------------------------- Example 2 -------------------------- + Get-AzDefault -ResourceGroup + +Id : /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup +Name : myResourceGroup +Properties : Microsoft.Azure.Management.Internal.Resources.Models.ResourceGroupProperties +Location : eastus +ManagedBy : +Tags : + + This command returns the current default Resource Group if there is a default set, or returns nothing if no default is set. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/get-azdefault + + + + + + Get-AzEnvironment + Get + AzEnvironment + + Get endpoints and metadata for an instance of Azure services. + + + + The Get-AzEnvironment cmdlet gets endpoints and metadata for an instance of Azure services. + + + + Get-AzEnvironment + + Name + + Specifies the name of the Azure instance to get. + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, account, tenant and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + + + + DefaultProfile + + The credentials, account, tenant and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Name + + Specifies the name of the Azure instance to get. + + System.String + + System.String + + + None + + + + + + System.String + + + + + + + + + + Microsoft.Azure.Commands.Profile.Models.PSAzureEnvironment + + + + + + + + + + + + + + ---------- Example 1: Getting all Azure environments ---------- + Get-AzEnvironment + +Name Resource Manager Url ActiveDirectory Authority Type +---- -------------------- ------------------------- ---- +AzureUSGovernment https://management.usgovcloudapi.net/ https://login.microsoftonline.us/ Built-in +AzureGermanCloud https://management.microsoftazure.de/ https://login.microsoftonline.de/ Built-in +AzureCloud https://management.azure.com/ https://login.microsoftonline.com/ Built-in +AzureChinaCloud https://management.chinacloudapi.cn/ https://login.chinacloudapi.cn/ Built-in + + This example shows how to get the endpoints and metadata for the AzureCloud (default) environment. + + + + + + -------- Example 2: Getting the AzureCloud environment -------- + Get-AzEnvironment -Name AzureCloud + +Name Resource Manager Url ActiveDirectory Authority Type +---- -------------------- ------------------------- ---- +AzureCloud https://management.azure.com/ https://login.microsoftonline.com/ Built-in + + This example shows how to get the endpoints and metadata for the AzureCloud (default) environment. + + + + + + ------ Example 3: Getting the AzureChinaCloud environment ------ + Get-AzEnvironment -Name AzureChinaCloud | Format-List + +Name : AzureChinaCloud +Type : Built-in +EnableAdfsAuthentication : False +OnPremise : False +ActiveDirectoryServiceEndpointResourceId : https://management.core.chinacloudapi.cn/ +AdTenant : Common +GalleryUrl : https://gallery.azure.com/ +ManagementPortalUrl : https://go.microsoft.com/fwlink/?LinkId=301902 +ServiceManagementUrl : https://management.core.chinacloudapi.cn/ +PublishSettingsFileUrl : https://go.microsoft.com/fwlink/?LinkID=301776 +ResourceManagerUrl : https://management.chinacloudapi.cn/ +SqlDatabaseDnsSuffix : .database.chinacloudapi.cn +StorageEndpointSuffix : core.chinacloudapi.cn +ActiveDirectoryAuthority : https://login.chinacloudapi.cn/ +GraphUrl : https://graph.chinacloudapi.cn/ +GraphEndpointResourceId : https://graph.chinacloudapi.cn/ +TrafficManagerDnsSuffix : trafficmanager.cn +AzureKeyVaultDnsSuffix : vault.azure.cn +DataLakeEndpointResourceId : +AzureDataLakeStoreFileSystemEndpointSuffix : +AzureDataLakeAnalyticsCatalogAndJobEndpointSuffix : +AzureKeyVaultServiceEndpointResourceId : https://vault.azure.cn +ContainerRegistryEndpointSuffix : azurecr.cn +AzureOperationalInsightsEndpointResourceId : +AzureOperationalInsightsEndpoint : +AzureAnalysisServicesEndpointSuffix : asazure.chinacloudapi.cn +AnalysisServicesEndpointResourceId : https://region.asazure.chinacloudapi.cn +AzureAttestationServiceEndpointSuffix : +AzureAttestationServiceEndpointResourceId : +AzureSynapseAnalyticsEndpointSuffix : dev.azuresynapse.azure.cn +AzureSynapseAnalyticsEndpointResourceId : https://dev.azuresynapse.azure.cn + + This example shows how to get the endpoints and metadata for the AzureChinaCloud environment. + + + + + + ----- Example 4: Getting the AzureUSGovernment environment ----- + Get-AzEnvironment -Name AzureUSGovernment + +Name Resource Manager Url ActiveDirectory Authority Type +---- -------------------- ------------------------- ---- +AzureUSGovernment https://management.usgovcloudapi.net/ https://login.microsoftonline.us/ Built-in + + This example shows how to get the endpoints and metadata for the AzureUSGovernment environment. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/get-azenvironment + + + Add-AzEnvironment + + + + Remove-AzEnvironment + + + + Set-AzEnvironment + + + + + + + Get-AzSubscription + Get + AzSubscription + + Get subscriptions that the current account can access. + + + + The Get-AzSubscription cmdlet gets the subscription ID, subscription name, and home tenant for subscriptions that the current account can access. + + + + Get-AzSubscription + + AsJob + + Run cmdlet in the background and return a Job to track progress. + + + System.Management.Automation.SwitchParameter + + + False + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + SubscriptionId + + Specifies the ID of the subscription to get. + + System.String + + System.String + + + None + + + TenantId + + Specifies the ID of the tenant that contains subscriptions to get. + + System.String + + System.String + + + None + + + + Get-AzSubscription + + AsJob + + Run cmdlet in the background and return a Job to track progress. + + + System.Management.Automation.SwitchParameter + + + False + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + SubscriptionName + + Specifies the name of the subscription to get. + + System.String + + System.String + + + None + + + TenantId + + Specifies the ID of the tenant that contains subscriptions to get. + + System.String + + System.String + + + None + + + + + + AsJob + + Run cmdlet in the background and return a Job to track progress. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + SubscriptionId + + Specifies the ID of the subscription to get. + + System.String + + System.String + + + None + + + SubscriptionName + + Specifies the name of the subscription to get. + + System.String + + System.String + + + None + + + TenantId + + Specifies the ID of the tenant that contains subscriptions to get. + + System.String + + System.String + + + None + + + + + + System.String + + + + + + + + + + Microsoft.Azure.Commands.Profile.Models.PSAzureSubscription + + + + + + + + + + + + + + ------- Example 1: Get all subscriptions in all tenants ------- + Get-AzSubscription + +Name Id TenantId State +---- -- -------- ----- +Subscription1 yyyy-yyyy-yyyy-yyyy aaaa-aaaa-aaaa-aaaa Enabled +Subscription2 xxxx-xxxx-xxxx-xxxx aaaa-aaaa-aaaa-aaaa Enabled +Subscription3 zzzz-zzzz-zzzz-zzzz bbbb-bbbb-bbbb-bbbb Enabled + + This command gets all subscriptions in all tenants that are authorized for the current account. + + + + + + ---- Example 2: Get all subscriptions for a specific tenant ---- + Get-AzSubscription -TenantId "aaaa-aaaa-aaaa-aaaa" + +Name Id TenantId State +---- -- -------- ----- +Subscription1 yyyy-yyyy-yyyy-yyyy aaaa-aaaa-aaaa-aaaa Enabled +Subscription2 xxxx-xxxx-xxxx-xxxx aaaa-aaaa-aaaa-aaaa Enabled + + List all subscriptions in the given tenant that are authorized for the current account. + + + + + + ---- Example 3: Get all subscriptions in the current tenant ---- + Get-AzSubscription + +Name Id TenantId State +---- -- -------- ----- +Subscription1 yyyy-yyyy-yyyy-yyyy aaaa-aaaa-aaaa-aaaa Enabled +Subscription2 xxxx-xxxx-xxxx-xxxx aaaa-aaaa-aaaa-aaaa Enabled + + This command gets all subscriptions in the current tenant that are authorized for the current user. + + + + + + Example 4: Change the current context to use a specific subscription + Get-AzSubscription -SubscriptionId "xxxx-xxxx-xxxx-xxxx" -TenantId "yyyy-yyyy-yyyy-yyyy" | Set-AzContext + +Name Account SubscriptionName Environment TenantId +---- ------- ---------------- ----------- -------- +Subscription1 (xxxx-xxxx-xxxx-xxxx) azureuser@micros... Subscription1 AzureCloud yyyy-yyyy-yyyy-yyyy + + This command gets the specified subscription, and then sets the current context to use it. All subsequent cmdlets in this session use the new subscription (Contoso Subscription 1) by default. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/get-azsubscription + + + + + + Get-AzTenant + Get + AzTenant + + Gets tenants that are authorized for the current user. + + + + The Get-AzTenant cmdlet gets tenants authorized for the current user. + + + + Get-AzTenant + + TenantId + + Specifies the ID of the tenant that this cmdlet gets. + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + TenantId + + Specifies the ID of the tenant that this cmdlet gets. + + System.String + + System.String + + + None + + + + + + System.String + + + + + + + + + + Microsoft.Azure.Commands.Profile.Models.PSAzureTenant + + + + + + + + + + + + + + ---------------- Example 1: Getting all tenants ---------------- + Connect-AzAccount +Get-AzTenant + +Id Name Category Domains +-- ----------- -------- ------- +xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Microsoft Home {test0.com, test1.com, test2.microsoft.com, test3.microsoft.com...} +yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy Testhost Home testhost.onmicrosoft.com + + This example shows how to get all of the authorized tenants of an Azure account. + + + + + + ------------- Example 2: Getting a specific tenant ------------- + Connect-AzAccount +Get-AzTenant -TenantId xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + +Id Name Category Domains +-- ----------- -------- ------- +xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Microsoft Home {test0.com, test1.com, test2.microsoft.com, test3.microsoft.com...} + + This example shows how to get a specific authorized tenant of an Azure account. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/get-aztenant + + + + + + Import-AzContext + Import + AzContext + + Loads Azure authentication information from a file. + + + + The Import-AzContext cmdlet loads authentication information from a file to set the Azure environment and context. Cmdlets that you run in the current session use this information to authenticate requests to Azure Resource Manager. + + + + Import-AzContext + + AzureContext + + {{Fill AzureContext Description}} + + Microsoft.Azure.Commands.Common.Authentication.Models.AzureRmProfile + + Microsoft.Azure.Commands.Common.Authentication.Models.AzureRmProfile + + + None + + + DefaultProfile + + The credentials, tenant, and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Import-AzContext + + Path + + Specifies the path to context information saved by using Save-AzContext. + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, tenant, and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + AzureContext + + {{Fill AzureContext Description}} + + Microsoft.Azure.Commands.Common.Authentication.Models.AzureRmProfile + + Microsoft.Azure.Commands.Common.Authentication.Models.AzureRmProfile + + + None + + + DefaultProfile + + The credentials, tenant, and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Path + + Specifies the path to context information saved by using Save-AzContext. + + System.String + + System.String + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + Microsoft.Azure.Commands.Common.Authentication.Models.AzureRmProfile + + + + + + + + System.String + + + + + + + + + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureProfile + + + + + + + + + + + + + + ----- Example 1: Importing a context from a AzureRmProfile ----- + Import-AzContext -AzContext (Connect-AzAccount) + +Account SubscriptionName TenantId Environment +------- ---------------- -------- ----------- +azureuser@contoso.com Subscription1 xxxx-xxxx-xxxx-xxxx AzureCloud + + This example imports a context from a PSAzureProfile that is passed through to the cmdlet. + + + + + + ------- Example 2: Importing a context from a JSON file ------- + Import-AzContext -Path C:\test.json + +Account SubscriptionName TenantId Environment +------- ---------------- -------- ----------- +azureuser@contoso.com Subscription1 xxxx-xxxx-xxxx-xxxx AzureCloud + + This example selects a context from a JSON file that is passed through to the cmdlet. This JSON file can be created from Save-AzContext. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/import-azcontext + + + + + + Invoke-AzRestMethod + Invoke + AzRestMethod + + Construct and perform HTTP request to Azure resource management endpoint only + + + + Construct and perform HTTP request to Azure resource management endpoint only + + + + Invoke-AzRestMethod + + ApiVersion + + Api Version + + System.String + + System.String + + + None + + + AsJob + + Run cmdlet in the background + + + System.Management.Automation.SwitchParameter + + + False + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Method + + Http Method + + + GET + POST + PUT + PATCH + DELETE + + System.String + + System.String + + + None + + + Name + + list of Target Resource Name + + System.String[] + + System.String[] + + + None + + + Payload + + JSON format payload + + System.String + + System.String + + + None + + + ResourceGroupName + + Target Resource Group Name + + System.String + + System.String + + + None + + + ResourceProviderName + + Target Resource Provider Name + + System.String + + System.String + + + None + + + ResourceType + + List of Target Resource Type + + System.String[] + + System.String[] + + + None + + + SubscriptionId + + Target Subscription Id + + System.String + + System.String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Invoke-AzRestMethod + + AsJob + + Run cmdlet in the background + + + System.Management.Automation.SwitchParameter + + + False + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Method + + Http Method + + + GET + POST + PUT + PATCH + DELETE + + System.String + + System.String + + + None + + + Path + + Path of target resource URL. Hostname of Resource Manager should not be added. + + System.String + + System.String + + + None + + + Payload + + JSON format payload + + System.String + + System.String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Invoke-AzRestMethod + + Uri + + Uniform Resource Identifier of the Azure resources. The target resource needs to support Azure AD authentication and the access token is derived according to resource id. If resource id is not set, its value is derived according to built-in service suffixes in current Azure Environment. + + System.Uri + + System.Uri + + + None + + + AsJob + + Run cmdlet in the background + + + System.Management.Automation.SwitchParameter + + + False + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Method + + Http Method + + + GET + POST + PUT + PATCH + DELETE + + System.String + + System.String + + + None + + + Payload + + JSON format payload + + System.String + + System.String + + + None + + + ResourceId + + Identifier URI specified by the REST API you are calling. It shouldn't be the resource id of Azure Resource Manager. + + System.Uri + + System.Uri + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + ApiVersion + + Api Version + + System.String + + System.String + + + None + + + AsJob + + Run cmdlet in the background + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Method + + Http Method + + System.String + + System.String + + + None + + + Name + + list of Target Resource Name + + System.String[] + + System.String[] + + + None + + + Path + + Path of target resource URL. Hostname of Resource Manager should not be added. + + System.String + + System.String + + + None + + + Payload + + JSON format payload + + System.String + + System.String + + + None + + + ResourceGroupName + + Target Resource Group Name + + System.String + + System.String + + + None + + + ResourceId + + Identifier URI specified by the REST API you are calling. It shouldn't be the resource id of Azure Resource Manager. + + System.Uri + + System.Uri + + + None + + + ResourceProviderName + + Target Resource Provider Name + + System.String + + System.String + + + None + + + ResourceType + + List of Target Resource Type + + System.String[] + + System.String[] + + + None + + + SubscriptionId + + Target Subscription Id + + System.String + + System.String + + + None + + + Uri + + Uniform Resource Identifier of the Azure resources. The target resource needs to support Azure AD authentication and the access token is derived according to resource id. If resource id is not set, its value is derived according to built-in service suffixes in current Azure Environment. + + System.Uri + + System.Uri + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + System.string + + + + + + + + + + Microsoft.Azure.Commands.Profile.Models.PSHttpResponse + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Invoke-AzRestMethod -Path "/subscriptions/{subscription}/resourcegroups/{resourcegroup}/providers/microsoft.operationalinsights/workspaces/{workspace}?api-version={API}" -Method GET + +Headers : {[Cache-Control, System.String[]], [Pragma, System.String[]], [x-ms-request-id, System.String[]], [Strict-Transport-Security, System.String[]]…} +Version : 1.1 +StatusCode : 200 +Method : GET +Content : { + "properties": { + "source": "Azure", + "customerId": "{customerId}", + "provisioningState": "Succeeded", + "sku": { + "name": "pergb2018", + "maxCapacityReservationLevel": 3000, + "lastSkuUpdate": "Mon, 25 May 2020 11:10:01 GMT" + }, + "retentionInDays": 30, + "features": { + "legacy": 0, + "searchVersion": 1, + "enableLogAccessUsingOnlyResourcePermissions": true + }, + "workspaceCapping": { + "dailyQuotaGb": -1.0, + "quotaNextResetTime": "Thu, 18 Jun 2020 05:00:00 GMT", + "dataIngestionStatus": "RespectQuota" + }, + "enableFailover": false, + "publicNetworkAccessForIngestion": "Enabled", + "publicNetworkAccessForQuery": "Enabled", + "createdDate": "Mon, 25 May 2020 11:10:01 GMT", + "modifiedDate": "Mon, 25 May 2020 11:10:02 GMT" + }, + "id": "/subscriptions/{subscription}/resourcegroups/{resourcegroup}/providers/microsoft.operationalinsights/workspaces/{workspace}", + "name": "{workspace}", + "type": "Microsoft.OperationalInsights/workspaces", + "location": "eastasia", + "tags": {} + } + + Get log analytics workspace by path. It only supports management plane API and Hostname of Azure Resource Manager is added according to Azure environment setting. + + + + + + + -------------------------- Example 2 -------------------------- + Invoke-AzRestMethod https://graph.microsoft.com/v1.0/me + +Headers : {[Date, System.String[]], [Cache-Control, System.String[]], [Transfer-Encoding, System.String[]], [Strict-Transport-Security, System.String[]]…} +Version : 1.1 +StatusCode : 200 +Method : GET +Content : {"@odata.context":"https://graph.microsoft.com/v1.0/$metadata#users/$entity","businessPhones":["......} + + Get current signed in user via MicrosoftGraph API. This example is equivalent to `Get-AzADUser -SignedIn`. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/invoke-azrestmethod + + + + + + Open-AzSurveyLink + Open + AzSurveyLink + + Open survey link in default browser. + + + + Open survey link in default browser. + + + + Open-AzSurveyLink + + + + + + + None + + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Open-AzSurveyLink + +Opening the default browser to https://aka.ms/azpssurvey?Q_CHL=INTERCEPT + + + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/open-azsurveylink + + + + + + Register-AzModule + Register + AzModule + + FOR INTERNAL USE ONLY - Provide Runtime Support for AutoRest Generated cmdlets + + + + FOR INTERNAL USE ONLY - Provide Runtime Support for AutoRest Generated cmdlets + + + + Register-AzModule + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.Object + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Register-AzModule + + Used Internally by AutoRest-generated cmdlets + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/register-azmodule + + + + + + Remove-AzContext + Remove + AzContext + + Remove a context from the set of available contexts + + + + Remove an azure context from the set of contexts + + + + Remove-AzContext + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Force + + Remove context even if it is the default + + + System.Management.Automation.SwitchParameter + + + False + + + InputObject + + A context object, normally passed through the pipeline. + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + None + + + PassThru + + Return the removed context + + + System.Management.Automation.SwitchParameter + + + False + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Remove-AzContext + + Name + + The name of the context + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Force + + Remove context even if it is the default + + + System.Management.Automation.SwitchParameter + + + False + + + PassThru + + Return the removed context + + + System.Management.Automation.SwitchParameter + + + False + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Force + + Remove context even if it is the default + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + InputObject + + A context object, normally passed through the pipeline. + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + None + + + Name + + The name of the context + + System.String + + System.String + + + None + + + PassThru + + Return the removed context + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + + + + + + + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Remove-AzContext -Name Default + + Remove the context named default + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/remove-azcontext + + + + + + Remove-AzEnvironment + Remove + AzEnvironment + + Removes endpoints and metadata for connecting to a given Azure instance. + + + + The Remove-AzEnvironment cmdlet removes endpoints and metadata information for connecting to a given Azure instance. + + + + Remove-AzEnvironment + + Name + + Specifies the name of the environment to remove. + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Name + + Specifies the name of the environment to remove. + + System.String + + System.String + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + System.String + + + + + + + + + + Microsoft.Azure.Commands.Profile.Models.PSAzureEnvironment + + + + + + + + + + + + + + ----- Example 1: Creating and removing a test environment ----- + Add-AzEnvironment -Name TestEnvironment ` + -ActiveDirectoryEndpoint TestADEndpoint ` + -ActiveDirectoryServiceEndpointResourceId TestADApplicationId ` + -ResourceManagerEndpoint TestRMEndpoint ` + -GalleryEndpoint TestGalleryEndpoint ` + -GraphEndpoint TestGraphEndpoint + +Name Resource Manager Url ActiveDirectory Authority +---- -------------------- ------------------------- +TestEnvironment TestRMEndpoint TestADEndpoint/ + +Remove-AzEnvironment -Name TestEnvironment + +Name Resource Manager Url ActiveDirectory Authority +---- -------------------- ------------------------- +TestEnvironment TestRMEndpoint TestADEndpoint/ + + This example shows how to create an environment using Add-AzEnvironment, and then how to delete the environment using Remove-AzEnvironment. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/remove-azenvironment + + + Add-AzEnvironment + + + + Get-AzEnvironment + + + + Set-AzEnvironment + + + + + + + Rename-AzContext + Rename + AzContext + + Rename an Azure context. By default contexts are named by user account and subscription. + + + + Rename an Azure context. By default contexts are named by user account and subscription. + + + + Rename-AzContext + + TargetName + + The new name of the context + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Force + + Rename the context even if the target context already exists + + + System.Management.Automation.SwitchParameter + + + False + + + InputObject + + A context object, normally passed through the pipeline. + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + None + + + PassThru + + Return the renamed context. + + + System.Management.Automation.SwitchParameter + + + False + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Rename-AzContext + + SourceName + + The name of the context + + System.String + + System.String + + + None + + + TargetName + + The new name of the context + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Force + + Rename the context even if the target context already exists + + + System.Management.Automation.SwitchParameter + + + False + + + PassThru + + Return the renamed context. + + + System.Management.Automation.SwitchParameter + + + False + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Force + + Rename the context even if the target context already exists + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + InputObject + + A context object, normally passed through the pipeline. + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + None + + + PassThru + + Return the renamed context. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + SourceName + + The name of the context + + System.String + + System.String + + + None + + + TargetName + + The new name of the context + + System.String + + System.String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + + + + + + + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + + + + + + + + + + + + ------ Example 1: Rename a context using named parameters ------ + Rename-AzContext -SourceName "[user1@contoso.org; 12345-6789-2345-3567890]" -TargetName "Work" + + Rename the context for 'user1@contoso.org' with subscription '12345-6789-2345-3567890' to 'Work'. After this command, you will be able to target the context using 'Select-AzContext Work'. Note that you can tab through the values for 'SourceName' using tab completion. + + + + + + --- Example 2: Rename a context using positional parameters --- + Rename-AzContext "My context" "Work" + + Rename the context named "My context" to "Work". After this command, you will be able to target the context using Select-AzContext Work + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/rename-azcontext + + + + + + Resolve-AzError + Resolve + AzError + + Display detailed information about PowerShell errors, with extended details for Azure PowerShell errors. + + + + Resolves and displays detailed information about errors in the current PowerShell session, including where the error occurred in script, stack trace, and all inner and aggregate exceptions. For Azure PowerShell errors provides additional detail in debugging service issues, including complete detail about the request and server response that caused the error. + + + + Resolve-AzError + + Error + + One or more error records to resolve. If no parameters are specified, all errors in the session are resolved. + + System.Management.Automation.ErrorRecord[] + + System.Management.Automation.ErrorRecord[] + + + None + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + + Resolve-AzError + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Last + + Resolve only the last error that occurred in the session. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Error + + One or more error records to resolve. If no parameters are specified, all errors in the session are resolved. + + System.Management.Automation.ErrorRecord[] + + System.Management.Automation.ErrorRecord[] + + + None + + + Last + + Resolve only the last error that occurred in the session. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + System.Management.Automation.ErrorRecord[] + + + + + + + + + + Microsoft.Azure.Commands.Profile.Errors.AzureErrorRecord + + + + + + + + Microsoft.Azure.Commands.Profile.Errors.AzureExceptionRecord + + + + + + + + Microsoft.Azure.Commands.Profile.Errors.AzureRestExceptionRecord + + + + + + + + + + + + + + -------------- Example 1: Resolve the Last Error -------------- + Resolve-AzError -Last + +HistoryId: 3 + + +Message : Run Connect-AzAccount to login. +StackTrace : at Microsoft.Azure.Commands.ResourceManager.Common.AzureRMCmdlet.get_DefaultContext() in AzureRmCmdlet.cs:line 85 + at Microsoft.Azure.Commands.ResourceManager.Common.AzureRMCmdlet.LogCmdletStartInvocationInfo() in AzureRmCmdlet.cs:line 269 + at Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet.BeginProcessing() inAzurePSCmdlet.cs:line 299 + at Microsoft.Azure.Commands.ResourceManager.Common.AzureRMCmdlet.BeginProcessing() in AzureRmCmdlet.cs:line 320 + at Microsoft.Azure.Commands.Profile.GetAzureRMSubscriptionCommand.BeginProcessing() in GetAzureRMSubscription.cs:line 49 + at System.Management.Automation.Cmdlet.DoBeginProcessing() + at System.Management.Automation.CommandProcessorBase.DoBegin() +Exception : System.Management.Automation.PSInvalidOperationException +InvocationInfo : {Get-AzSubscription} +Line : Get-AzSubscription +Position : At line:1 char:1 + + Get-AzSubscription + + ~~~~~~~~~~~~~~~~~~~~~~~ +HistoryId : 3 + + Get details of the last error. + + + + + + --------- Example 2: Resolve all Errors in the Session --------- + Resolve-AzError + +HistoryId: 8 + + +RequestId : b61309e8-09c9-4f0d-ba56-08a6b28c731d +Message : Resource group 'contoso' could not be found. +ServerMessage : ResourceGroupNotFound: Resource group 'contoso' could not be found. + (System.Collections.Generic.List`1[Microsoft.Rest.Azure.CloudError]) +ServerResponse : {NotFound} +RequestMessage : {GET https://management.azure.com/subscriptions/00977cdb-163f-435f-9c32-39ec8ae61f4d/resourceGroups/co + ntoso/providers/Microsoft.Storage/storageAccounts/contoso?api-version=2016-12-01} +InvocationInfo : {Get-AzStorageAccount} +Line : Get-AzStorageAccount -ResourceGroupName contoso -Name contoso +Position : At line:1 char:1 + + Get-AzStorageAccount -ResourceGroupName contoso -Name contoso + + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +StackTrace : at Microsoft.Azure.Management.Storage.StorageAccountsOperations.<GetPropertiesWithHttpMessagesAsync + >d__8.MoveNext() + --- End of stack trace from previous location where exception was thrown --- + at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() + at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) + at Microsoft.Azure.Management.Storage.StorageAccountsOperationsExtensions.<GetPropertiesAsync>d__7. + MoveNext() + --- End of stack trace from previous location where exception was thrown --- + at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() + at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) + at Microsoft.Azure.Management.Storage.StorageAccountsOperationsExtensions.GetProperties(IStorageAcc + ountsOperations operations, String resourceGroupName, String accountName) + at Microsoft.Azure.Commands.Management.Storage.GetAzureStorageAccountCommand.ExecuteCmdlet() in C:\ + zd\azure-powershell\src\ResourceManager\Storage\Commands.Management.Storage\StorageAccount\GetAzureSto + rageAccount.cs:line 70 + at Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet.ProcessRecord() in + C:\zd\azure-powershell\src\Common\Commands.Common\AzurePSCmdlet.cs:line 642 +HistoryId : 8 + + + HistoryId: 5 + + +Message : Run Connect-AzAccount to login. +StackTrace : at Microsoft.Azure.Commands.ResourceManager.Common.AzureRMCmdlet.get_DefaultContext() in C:\zd\azur + e-powershell\src\ResourceManager\Common\Commands.ResourceManager.Common\AzureRmCmdlet.cs:line 85 + at Microsoft.Azure.Commands.ResourceManager.Common.AzureRMCmdlet.LogCmdletStartInvocationInfo() in + C:\zd\azure-powershell\src\ResourceManager\Common\Commands.ResourceManager.Common\AzureRmCmdlet.cs:lin + e 269 + at Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet.BeginProcessing() in + C:\zd\azure-powershell\src\Common\Commands.Common\AzurePSCmdlet.cs:line 299 + at Microsoft.Azure.Commands.ResourceManager.Common.AzureRMCmdlet.BeginProcessing() in C:\zd\azure-p + owershell\src\ResourceManager\Common\Commands.ResourceManager.Common\AzureRmCmdlet.cs:line 320 + at Microsoft.Azure.Commands.Profile.GetAzureRMSubscriptionCommand.BeginProcessing() in C:\zd\azure- + powershell\src\ResourceManager\Profile\Commands.Profile\Subscription\GetAzureRMSubscription.cs:line 49 + at System.Management.Automation.Cmdlet.DoBeginProcessing() + at System.Management.Automation.CommandProcessorBase.DoBegin() +Exception : System.Management.Automation.PSInvalidOperationException +InvocationInfo : {Get-AzSubscription} +Line : Get-AzSubscription +Position : At line:1 char:1 + + Get-AzSubscription + + ~~~~~~~~~~~~~~~~~~~~~~~ +HistoryId : 5 + + Get details of all errors that have occurred in the current session. + + + + + + ------------- Example 3: Resolve a Specific Error ------------- + Resolve-AzError $Error[0] + +HistoryId: 8 + + +RequestId : b61309e8-09c9-4f0d-ba56-08a6b28c731d +Message : Resource group 'contoso' could not be found. +ServerMessage : ResourceGroupNotFound: Resource group 'contoso' could not be found. + (System.Collections.Generic.List`1[Microsoft.Rest.Azure.CloudError]) +ServerResponse : {NotFound} +RequestMessage : {GET https://management.azure.com/subscriptions/00977cdb-163f-435f-9c32-39ec8ae61f4d/resourceGroups/co + ntoso/providers/Microsoft.Storage/storageAccounts/contoso?api-version=2016-12-01} +InvocationInfo : {Get-AzStorageAccount} +Line : Get-AzStorageAccount -ResourceGroupName contoso -Name contoso +Position : At line:1 char:1 + + Get-AzStorageAccount -ResourceGroupName contoso -Name contoso + + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +StackTrace : at Microsoft.Azure.Management.Storage.StorageAccountsOperations.<GetPropertiesWithHttpMessagesAsync + >d__8.MoveNext() + --- End of stack trace from previous location where exception was thrown --- + at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() + at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) + at Microsoft.Azure.Management.Storage.StorageAccountsOperationsExtensions.<GetPropertiesAsync>d__7. + MoveNext() + --- End of stack trace from previous location where exception was thrown --- + at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() + at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) + at Microsoft.Azure.Management.Storage.StorageAccountsOperationsExtensions.GetProperties(IStorageAcc + ountsOperations operations, String resourceGroupName, String accountName) + at Microsoft.Azure.Commands.Management.Storage.GetAzureStorageAccountCommand.ExecuteCmdlet() in C:\ + zd\azure-powershell\src\ResourceManager\Storage\Commands.Management.Storage\StorageAccount\GetAzureSto + rageAccount.cs:line 70 + at Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet.ProcessRecord() in + C:\zd\azure-powershell\src\Common\Commands.Common\AzurePSCmdlet.cs:line 642 +HistoryId : 8 + + Get details of the specified error. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/resolve-azerror + + + + + + Save-AzContext + Save + AzContext + + Saves the current authentication information for use in other PowerShell sessions. + + + + The Save-AzContext cmdlet saves the current authentication information for use in other PowerShell sessions. + + + + Save-AzContext + + Profile + + Specifies the Azure context from which this cmdlet reads. If you do not specify a context, this cmdlet reads from the local default context. + + Microsoft.Azure.Commands.Common.Authentication.Models.AzureRmProfile + + Microsoft.Azure.Commands.Common.Authentication.Models.AzureRmProfile + + + None + + + Path + + Specifies the path of the file to which to save authentication information. + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, tenant, and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Force + + Overwrite the given file if it exists + + + System.Management.Automation.SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + DefaultProfile + + The credentials, tenant, and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Force + + Overwrite the given file if it exists + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + Path + + Specifies the path of the file to which to save authentication information. + + System.String + + System.String + + + None + + + Profile + + Specifies the Azure context from which this cmdlet reads. If you do not specify a context, this cmdlet reads from the local default context. + + Microsoft.Azure.Commands.Common.Authentication.Models.AzureRmProfile + + Microsoft.Azure.Commands.Common.Authentication.Models.AzureRmProfile + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + Microsoft.Azure.Commands.Common.Authentication.Models.AzureRmProfile + + + + + + + + + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureProfile + + + + + + + + + + + + + + ------- Example 1: Saving the current session's context ------- + Connect-AzAccount +Save-AzContext -Path C:\test.json + + This example saves the current session's Azure context to the JSON file provided. + + + + + + -------------- Example 2: Saving a given context -------------- + Save-AzContext -Profile (Connect-AzAccount) -Path C:\test.json + + This example saves the Azure context that is passed through to the cmdlet to the JSON file provided. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/save-azcontext + + + + + + Select-AzContext + Select + AzContext + + Select a subscription and account to target in Azure PowerShell cmdlets + + + + Select a subscription to target (or account or tenant) in Azure PowerShell cmdlets. After this cmdlet, future cmdlets will target the selected context. + + + + Select-AzContext + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + InputObject + + A context object, normally passed through the pipeline. + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Select-AzContext + + Name + + The name of the context + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + DefaultProfile + + The credentials, tenant and subscription used for communication with azure + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + InputObject + + A context object, normally passed through the pipeline. + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + None + + + Name + + The name of the context + + System.String + + System.String + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + + + + + + + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + + + + + + + + + + + + -------------- Example 1: Target a named context -------------- + Select-AzContext "Work" + +Name Account SubscriptionName Environment TenantId +---- ------- ---------------- ----------- -------- +Work test@outlook.com Subscription1 AzureCloud xxxxxxxx-x... + + Target future Azure PowerShell cmdlets at the account, tenant, and subscription in the 'Work' context. + + + + + + -------------------------- Example 2 -------------------------- + <!-- Aladdin Generated Example --> +Select-AzContext -Name TestEnvironment -Scope Process + + + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/select-azcontext + + + + + + Send-Feedback + Send + Feedback + + Sends feedback to the Azure PowerShell team via a set of guided prompts. + + + + The Send-Feedback cmdlet sends feedback to the Azure PowerShell team. + + + + Send-Feedback + + DefaultProfile + + The credentials, tenant, and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + + + + DefaultProfile + + The credentials, tenant, and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + + + + None + + + + + + + + + + System.Void + + + + + + + + + + + + + + -------------------------- Example 1: -------------------------- + Send-Feedback + +With zero (0) being the least and ten (10) being the most, how likely are you to recommend Azure PowerShell to a friend or colleague? + +10 + +What does Azure PowerShell do well? + +Response. + +Upon what could Azure PowerShell improve? + +Response. + +Please enter your email if you are interested in providing follow up information: + +your@email.com + + + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/send-feedback + + + + + + Set-AzContext + Set + AzContext + + Sets the tenant, subscription, and environment for cmdlets to use in the current session. + + + + The Set-AzContext cmdlet sets authentication information for cmdlets that you run in the current session. The context includes tenant, subscription, and environment information. + + + + Set-AzContext + + Context + + Specifies the context for the current session. + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + None + + + DefaultProfile + + The credentials, tenant, and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + ExtendedProperty + + Additional context properties + + System.Collections.Generic.IDictionary`2[System.String,System.String] + + System.Collections.Generic.IDictionary`2[System.String,System.String] + + + None + + + Force + + Overwrite the existing context with the same name, if any. + + + System.Management.Automation.SwitchParameter + + + False + + + Name + + Name of the context + + System.String + + System.String + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Set-AzContext + + Subscription + + The name or id of the subscription that the context should be set to. This parameter has aliases to -SubscriptionName and -SubscriptionId, so, for clarity, either of these can be used instead of -Subscription when specifying name and id, respectively. + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, tenant, and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + ExtendedProperty + + Additional context properties + + System.Collections.Generic.IDictionary`2[System.String,System.String] + + System.Collections.Generic.IDictionary`2[System.String,System.String] + + + None + + + Force + + Overwrite the existing context with the same name, if any. + + + System.Management.Automation.SwitchParameter + + + False + + + Name + + Name of the context + + System.String + + System.String + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Tenant + + Tenant domain name or ID + + System.String + + System.String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Set-AzContext + + SubscriptionObject + + A subscription object + + Microsoft.Azure.Commands.Profile.Models.PSAzureSubscription + + Microsoft.Azure.Commands.Profile.Models.PSAzureSubscription + + + None + + + DefaultProfile + + The credentials, tenant, and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + ExtendedProperty + + Additional context properties + + System.Collections.Generic.IDictionary`2[System.String,System.String] + + System.Collections.Generic.IDictionary`2[System.String,System.String] + + + None + + + Force + + Overwrite the existing context with the same name, if any. + + + System.Management.Automation.SwitchParameter + + + False + + + Name + + Name of the context + + System.String + + System.String + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Set-AzContext + + DefaultProfile + + The credentials, tenant, and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + ExtendedProperty + + Additional context properties + + System.Collections.Generic.IDictionary`2[System.String,System.String] + + System.Collections.Generic.IDictionary`2[System.String,System.String] + + + None + + + Force + + Overwrite the existing context with the same name, if any. + + + System.Management.Automation.SwitchParameter + + + False + + + Name + + Name of the context + + System.String + + System.String + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Tenant + + Tenant domain name or ID + + System.String + + System.String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Set-AzContext + + TenantObject + + A Tenant Object + + Microsoft.Azure.Commands.Profile.Models.PSAzureTenant + + Microsoft.Azure.Commands.Profile.Models.PSAzureTenant + + + None + + + DefaultProfile + + The credentials, tenant, and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + ExtendedProperty + + Additional context properties + + System.Collections.Generic.IDictionary`2[System.String,System.String] + + System.Collections.Generic.IDictionary`2[System.String,System.String] + + + None + + + Force + + Overwrite the existing context with the same name, if any. + + + System.Management.Automation.SwitchParameter + + + False + + + Name + + Name of the context + + System.String + + System.String + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + Context + + Specifies the context for the current session. + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + None + + + DefaultProfile + + The credentials, tenant, and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + ExtendedProperty + + Additional context properties + + System.Collections.Generic.IDictionary`2[System.String,System.String] + + System.Collections.Generic.IDictionary`2[System.String,System.String] + + + None + + + Force + + Overwrite the existing context with the same name, if any. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + Name + + Name of the context + + System.String + + System.String + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Subscription + + The name or id of the subscription that the context should be set to. This parameter has aliases to -SubscriptionName and -SubscriptionId, so, for clarity, either of these can be used instead of -Subscription when specifying name and id, respectively. + + System.String + + System.String + + + None + + + SubscriptionObject + + A subscription object + + Microsoft.Azure.Commands.Profile.Models.PSAzureSubscription + + Microsoft.Azure.Commands.Profile.Models.PSAzureSubscription + + + None + + + Tenant + + Tenant domain name or ID + + System.String + + System.String + + + None + + + TenantObject + + A Tenant Object + + Microsoft.Azure.Commands.Profile.Models.PSAzureTenant + + Microsoft.Azure.Commands.Profile.Models.PSAzureTenant + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + + + + + + Microsoft.Azure.Commands.Profile.Models.PSAzureTenant + + + + + + + + Microsoft.Azure.Commands.Profile.Models.PSAzureSubscription + + + + + + + + + + Microsoft.Azure.Commands.Profile.Models.Core.PSAzureContext + + + + + + + + + + + + + + ----------- Example 1: Set the subscription context ----------- + Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx" + +Name Account SubscriptionName Environment TenantId +---- ------- ---------------- ----------- -------- +Work test@outlook.com Subscription1 AzureCloud xxxxxxxx-x... + + This command sets the context to use the specified subscription. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/set-azcontext + + + Get-AzContext + + + + + + + Set-AzDefault + Set + AzDefault + + Sets a default in the current context + + + + The Set-AzDefault cmdlet adds or changes the defaults in the current context. + + + + Set-AzDefault + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Force + + Create a new resource group if specified default does not exist + + + System.Management.Automation.SwitchParameter + + + False + + + ResourceGroupName + + Name of the resource group being set as default + + System.String + + System.String + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Force + + Create a new resource group if specified default does not exist + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + ResourceGroupName + + Name of the resource group being set as default + + System.String + + System.String + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + System.String + + + + + + + + + + Microsoft.Azure.Commands.Profile.Models.PSResourceGroup + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Set-AzDefault -ResourceGroupName myResourceGroup + +Id : /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup +Name : myResourceGroup +Properties : Microsoft.Azure.Management.Internal.Resources.Models.ResourceGroupProperties +Location : eastus +ManagedBy : +Tags : + + This command sets the default resource group to the resource group specified by the user. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/set-azdefault + + + + + + Set-AzEnvironment + Set + AzEnvironment + + Sets properties for an Azure environment. + + + + The Set-AzEnvironment cmdlet sets endpoints and metadata for connecting to an instance of Azure. + + + + Set-AzEnvironment + + Name + + Specifies the name of the environment to modify. + + System.String + + System.String + + + None + + + PublishSettingsFileUrl + + Specifies the URL from which .publishsettings files can be downloaded. + + System.String + + System.String + + + None + + + AzureKeyVaultDnsSuffix + + Dns suffix of Azure Key Vault service. Example is vault-int.azure-int.net + + System.String + + System.String + + + None + + + AzureKeyVaultServiceEndpointResourceId + + Resource identifier of Azure Key Vault data service that is the recipient of the requested token. + + System.String + + System.String + + + None + + + TrafficManagerDnsSuffix + + Specifies the domain-name suffix for Azure Traffic Manager services. + + System.String + + System.String + + + None + + + SqlDatabaseDnsSuffix + + Specifies the domain-name suffix for Azure SQL Database servers. + + System.String + + System.String + + + None + + + AzureDataLakeStoreFileSystemEndpointSuffix + + Dns Suffix of Azure Data Lake Store FileSystem. Example: azuredatalake.net + + System.String + + System.String + + + None + + + AzureDataLakeAnalyticsCatalogAndJobEndpointSuffix + + Dns Suffix of Azure Data Lake Analytics job and catalog services + + System.String + + System.String + + + None + + + EnableAdfsAuthentication + + Indicates that Active Directory Federation Services (ADFS) on-premise authentication is allowed. + + + System.Management.Automation.SwitchParameter + + + False + + + AdTenant + + Specifies the default Active Directory tenant. + + System.String + + System.String + + + None + + + GraphAudience + + The audience for tokens authenticating with the AD Graph Endpoint. + + System.String + + System.String + + + None + + + DataLakeAudience + + The audience for tokens authenticating with the AD Data Lake services Endpoint. + + System.String + + System.String + + + None + + + ServiceEndpoint + + Specifies the endpoint for Service Management (RDFE) requests. + + System.String + + System.String + + + None + + + BatchEndpointResourceId + + The resource identifier of the Azure Batch service that is the recipient of the requested token + + System.String + + System.String + + + None + + + AzureOperationalInsightsEndpointResourceId + + The audience for tokens authenticating with the Azure Log Analytics API. + + System.String + + System.String + + + None + + + AzureOperationalInsightsEndpoint + + The endpoint to use when communicating with the Azure Log Analytics API. + + System.String + + System.String + + + None + + + ManagementPortalUrl + + Specifies the URL for the Management Portal. + + System.String + + System.String + + + None + + + StorageEndpoint + + Specifies the endpoint for storage (blob, table, queue, and file) access. + + System.String + + System.String + + + None + + + ActiveDirectoryEndpoint + + Specifies the base authority for Azure Active Directory authentication. + + System.String + + System.String + + + None + + + ResourceManagerEndpoint + + Specifies the URL for Azure Resource Manager requests. + + System.String + + System.String + + + None + + + GalleryEndpoint + + Specifies the endpoint for the Azure Resource Manager gallery of deployment templates. + + System.String + + System.String + + + None + + + ActiveDirectoryServiceEndpointResourceId + + Specifies the audience for tokens that authenticate requests to Azure Resource Manager or Service Management (RDFE) endpoints. + + System.String + + System.String + + + None + + + GraphEndpoint + + Specifies the URL for Graph (Active Directory metadata) requests. + + System.String + + System.String + + + None + + + AzureAnalysisServicesEndpointResourceId + + The resource identifier of the Azure Analysis Services resource. + + System.String + + System.String + + + None + + + AzureAnalysisServicesEndpointSuffix + + The endpoint to use when communicating with the Azure Log Analytics API. + + System.String + + System.String + + + None + + + AzureAttestationServiceEndpointResourceId + + The The resource identifier of the Azure Attestation service that is the recipient of the requested token. + + System.String + + System.String + + + None + + + AzureAttestationServiceEndpointSuffix + + Dns suffix of Azure Attestation service. + + System.String + + System.String + + + None + + + AzureSynapseAnalyticsEndpointResourceId + + The The resource identifier of the Azure Synapse Analytics that is the recipient of the requested token. + + System.String + + System.String + + + None + + + AzureSynapseAnalyticsEndpointSuffix + + Dns suffix of Azure Synapse Analytics. + + System.String + + System.String + + + None + + + ContainerRegistryEndpointSuffix + + Suffix of Azure Container Registry. + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, account, tenant and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + MicrosoftGraphEndpointResourceId + + The resource identifier of Microsoft Graph + + System.String + + System.String + + + None + + + MicrosoftGraphUrl + + Microsoft Graph Url + + System.String + + System.String + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + Set-AzEnvironment + + Name + + Specifies the name of the environment to modify. + + System.String + + System.String + + + None + + + ARMEndpoint + + The Azure Resource Manager endpoint. + + System.String + + System.String + + + None + + + AzureKeyVaultDnsSuffix + + Dns suffix of Azure Key Vault service. Example is vault-int.azure-int.net + + System.String + + System.String + + + None + + + AzureKeyVaultServiceEndpointResourceId + + Resource identifier of Azure Key Vault data service that is the recipient of the requested token. + + System.String + + System.String + + + None + + + DataLakeAudience + + The audience for tokens authenticating with the AD Data Lake services Endpoint. + + System.String + + System.String + + + None + + + BatchEndpointResourceId + + The resource identifier of the Azure Batch service that is the recipient of the requested token + + System.String + + System.String + + + None + + + AzureOperationalInsightsEndpointResourceId + + The audience for tokens authenticating with the Azure Log Analytics API. + + System.String + + System.String + + + None + + + AzureOperationalInsightsEndpoint + + The endpoint to use when communicating with the Azure Log Analytics API. + + System.String + + System.String + + + None + + + StorageEndpoint + + Specifies the endpoint for storage (blob, table, queue, and file) access. + + System.String + + System.String + + + None + + + AzureAnalysisServicesEndpointResourceId + + The resource identifier of the Azure Analysis Services resource. + + System.String + + System.String + + + None + + + AzureAnalysisServicesEndpointSuffix + + The endpoint to use when communicating with the Azure Log Analytics API. + + System.String + + System.String + + + None + + + AzureAttestationServiceEndpointResourceId + + The The resource identifier of the Azure Attestation service that is the recipient of the requested token. + + System.String + + System.String + + + None + + + AzureAttestationServiceEndpointSuffix + + Dns suffix of Azure Attestation service. + + System.String + + System.String + + + None + + + AzureSynapseAnalyticsEndpointResourceId + + The The resource identifier of the Azure Synapse Analytics that is the recipient of the requested token. + + System.String + + System.String + + + None + + + AzureSynapseAnalyticsEndpointSuffix + + Dns suffix of Azure Synapse Analytics. + + System.String + + System.String + + + None + + + ContainerRegistryEndpointSuffix + + Suffix of Azure Container Registry. + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, account, tenant and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + + Process + CurrentUser + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + ActiveDirectoryEndpoint + + Specifies the base authority for Azure Active Directory authentication. + + System.String + + System.String + + + None + + + ActiveDirectoryServiceEndpointResourceId + + Specifies the audience for tokens that authenticate requests to Azure Resource Manager or Service Management (RDFE) endpoints. + + System.String + + System.String + + + None + + + AdTenant + + Specifies the default Active Directory tenant. + + System.String + + System.String + + + None + + + ARMEndpoint + + The Azure Resource Manager endpoint. + + System.String + + System.String + + + None + + + AzureAnalysisServicesEndpointResourceId + + The resource identifier of the Azure Analysis Services resource. + + System.String + + System.String + + + None + + + AzureAnalysisServicesEndpointSuffix + + The endpoint to use when communicating with the Azure Log Analytics API. + + System.String + + System.String + + + None + + + AzureAttestationServiceEndpointResourceId + + The The resource identifier of the Azure Attestation service that is the recipient of the requested token. + + System.String + + System.String + + + None + + + AzureAttestationServiceEndpointSuffix + + Dns suffix of Azure Attestation service. + + System.String + + System.String + + + None + + + AzureDataLakeAnalyticsCatalogAndJobEndpointSuffix + + Dns Suffix of Azure Data Lake Analytics job and catalog services + + System.String + + System.String + + + None + + + AzureDataLakeStoreFileSystemEndpointSuffix + + Dns Suffix of Azure Data Lake Store FileSystem. Example: azuredatalake.net + + System.String + + System.String + + + None + + + AzureKeyVaultDnsSuffix + + Dns suffix of Azure Key Vault service. Example is vault-int.azure-int.net + + System.String + + System.String + + + None + + + AzureKeyVaultServiceEndpointResourceId + + Resource identifier of Azure Key Vault data service that is the recipient of the requested token. + + System.String + + System.String + + + None + + + AzureOperationalInsightsEndpoint + + The endpoint to use when communicating with the Azure Log Analytics API. + + System.String + + System.String + + + None + + + AzureOperationalInsightsEndpointResourceId + + The audience for tokens authenticating with the Azure Log Analytics API. + + System.String + + System.String + + + None + + + AzureSynapseAnalyticsEndpointResourceId + + The The resource identifier of the Azure Synapse Analytics that is the recipient of the requested token. + + System.String + + System.String + + + None + + + AzureSynapseAnalyticsEndpointSuffix + + Dns suffix of Azure Synapse Analytics. + + System.String + + System.String + + + None + + + BatchEndpointResourceId + + The resource identifier of the Azure Batch service that is the recipient of the requested token + + System.String + + System.String + + + None + + + ContainerRegistryEndpointSuffix + + Suffix of Azure Container Registry. + + System.String + + System.String + + + None + + + DataLakeAudience + + The audience for tokens authenticating with the AD Data Lake services Endpoint. + + System.String + + System.String + + + None + + + DefaultProfile + + The credentials, account, tenant and subscription used for communication with azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + EnableAdfsAuthentication + + Indicates that Active Directory Federation Services (ADFS) on-premise authentication is allowed. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + GalleryEndpoint + + Specifies the endpoint for the Azure Resource Manager gallery of deployment templates. + + System.String + + System.String + + + None + + + GraphAudience + + The audience for tokens authenticating with the AD Graph Endpoint. + + System.String + + System.String + + + None + + + GraphEndpoint + + Specifies the URL for Graph (Active Directory metadata) requests. + + System.String + + System.String + + + None + + + ManagementPortalUrl + + Specifies the URL for the Management Portal. + + System.String + + System.String + + + None + + + MicrosoftGraphEndpointResourceId + + The resource identifier of Microsoft Graph + + System.String + + System.String + + + None + + + MicrosoftGraphUrl + + Microsoft Graph Url + + System.String + + System.String + + + None + + + Name + + Specifies the name of the environment to modify. + + System.String + + System.String + + + None + + + PublishSettingsFileUrl + + Specifies the URL from which .publishsettings files can be downloaded. + + System.String + + System.String + + + None + + + ResourceManagerEndpoint + + Specifies the URL for Azure Resource Manager requests. + + System.String + + System.String + + + None + + + Scope + + Determines the scope of context changes, for example, whether changes apply only to the current process, or to all sessions started by this user. + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + Microsoft.Azure.Commands.Profile.Common.ContextModificationScope + + + None + + + ServiceEndpoint + + Specifies the endpoint for Service Management (RDFE) requests. + + System.String + + System.String + + + None + + + SqlDatabaseDnsSuffix + + Specifies the domain-name suffix for Azure SQL Database servers. + + System.String + + System.String + + + None + + + StorageEndpoint + + Specifies the endpoint for storage (blob, table, queue, and file) access. + + System.String + + System.String + + + None + + + TrafficManagerDnsSuffix + + Specifies the domain-name suffix for Azure Traffic Manager services. + + System.String + + System.String + + + None + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + System.String + + + + + + + + System.Management.Automation.SwitchParameter + + + + + + + + + + Microsoft.Azure.Commands.Profile.Models.PSAzureEnvironment + + + + + + + + + + + + + + ----- Example 1: Creating and modifying a new environment ----- + Add-AzEnvironment -Name TestEnvironment ` + -ActiveDirectoryEndpoint TestADEndpoint ` + -ActiveDirectoryServiceEndpointResourceId TestADApplicationId ` + -ResourceManagerEndpoint TestRMEndpoint ` + -GalleryEndpoint TestGalleryEndpoint ` + -GraphEndpoint TestGraphEndpoint + +Name Resource Manager Url ActiveDirectory Authority +---- -------------------- ------------------------- +TestEnvironment TestRMEndpoint TestADEndpoint/ + +Set-AzEnvironment -Name TestEnvironment ` + -ActiveDirectoryEndpoint NewTestADEndpoint ` + -GraphEndpoint NewTestGraphEndpoint | Format-List + +Name : TestEnvironment +EnableAdfsAuthentication : False +ActiveDirectoryServiceEndpointResourceId : TestADApplicationId +AdTenant : +GalleryUrl : TestGalleryEndpoint +ManagementPortalUrl : +ServiceManagementUrl : +PublishSettingsFileUrl : +ResourceManagerUrl : TestRMEndpoint +SqlDatabaseDnsSuffix : +StorageEndpointSuffix : +ActiveDirectoryAuthority : NewTestADEndpoint +GraphUrl : NewTestGraphEndpoint +GraphEndpointResourceId : +TrafficManagerDnsSuffix : +AzureKeyVaultDnsSuffix : +AzureDataLakeStoreFileSystemEndpointSuffix : +AzureDataLakeAnalyticsCatalogAndJobEndpointSuffix : +AzureKeyVaultServiceEndpointResourceId : +BatchEndpointResourceId : +AzureOperationalInsightsEndpoint : +AzureOperationalInsightsEndpointResourceId : +AzureAttestationServiceEndpointSuffix : +AzureAttestationServiceEndpointResourceId : +AzureSynapseAnalyticsEndpointSuffix : +AzureSynapseAnalyticsEndpointResourceId : + + In this example we are creating a new Azure environment with sample endpoints using Add-AzEnvironment, and then we are changing the value of the ActiveDirectoryEndpoint and GraphEndpoint attributes of the created environment using the cmdlet Set-AzEnvironment. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/set-azenvironment + + + Add-AzEnvironment + + + + Get-AzEnvironment + + + + Remove-AzEnvironment + + + + + + + Uninstall-AzureRm + Uninstall + AzureRm + + Removes all AzureRm modules from a machine. + + + + Removes all AzureRm modules from a machine. + + + + Uninstall-AzureRm + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + PassThru + + Return list of Modules removed if specified. + + + System.Management.Automation.SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + + System.Management.Automation.SwitchParameter + + + False + + + + + + DefaultProfile + + The credentials, account, tenant, and subscription used for communication with Azure. + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer + + + None + + + PassThru + + Return list of Modules removed if specified. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + System.Management.Automation.SwitchParameter + + System.Management.Automation.SwitchParameter + + + False + + + + + + None + + + + + + + + + + System.String + + + + + + + + + + + + + + -------------------------- Example 1 -------------------------- + Uninstall-AzureRm + + Running this command will remove all AzureRm modules from the machine for the version of PowerShell in which the cmdlet is run. + + + + + + + + Online Version: + https://docs.microsoft.com/powershell/module/az.accounts/uninstall-azurerm + + + + \ No newline at end of file diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Common.Share.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Common.Share.dll new file mode 100644 index 000000000000..e45ac91a1264 Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Common.Share.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Common.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Common.dll new file mode 100644 index 000000000000..a705c3fd25a8 Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Common.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Storage.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Storage.dll new file mode 100644 index 000000000000..f15127c61779 Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Storage.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Strategies.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Strategies.dll new file mode 100644 index 000000000000..f82770a9ceed Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Azure.PowerShell.Strategies.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Rest.ClientRuntime.Azure.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Rest.ClientRuntime.Azure.dll new file mode 100644 index 000000000000..1d99c7015912 Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Rest.ClientRuntime.Azure.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Rest.ClientRuntime.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Rest.ClientRuntime.dll new file mode 100644 index 000000000000..4b4be00999a4 Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.Rest.ClientRuntime.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.WindowsAzure.Storage.DataMovement.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.WindowsAzure.Storage.DataMovement.dll new file mode 100644 index 000000000000..6ac672abd486 Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.WindowsAzure.Storage.DataMovement.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.WindowsAzure.Storage.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.WindowsAzure.Storage.dll new file mode 100644 index 000000000000..70c5ed6806c6 Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/Microsoft.WindowsAzure.Storage.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PostImportScripts/LoadAuthenticators.ps1 b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PostImportScripts/LoadAuthenticators.ps1 new file mode 100644 index 000000000000..bb0bc9e63f5d --- /dev/null +++ b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PostImportScripts/LoadAuthenticators.ps1 @@ -0,0 +1,219 @@ +if ($PSEdition -eq 'Desktop') { + try { + [Microsoft.Azure.Commands.Profile.Utilities.CustomAssemblyResolver]::Initialize() + } catch {} +} +# SIG # Begin signature block +# MIInugYJKoZIhvcNAQcCoIInqzCCJ6cCAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBn8ROze2QLH/c6 +# GtPhR/BPLgOtmjkNhcq+fFmu16VcrqCCDYEwggX/MIID56ADAgECAhMzAAACUosz +# qviV8znbAAAAAAJSMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p +# bmcgUENBIDIwMTEwHhcNMjEwOTAyMTgzMjU5WhcNMjIwOTAxMTgzMjU5WjB0MQsw +# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u +# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +# AQDQ5M+Ps/X7BNuv5B/0I6uoDwj0NJOo1KrVQqO7ggRXccklyTrWL4xMShjIou2I +# sbYnF67wXzVAq5Om4oe+LfzSDOzjcb6ms00gBo0OQaqwQ1BijyJ7NvDf80I1fW9O +# L76Kt0Wpc2zrGhzcHdb7upPrvxvSNNUvxK3sgw7YTt31410vpEp8yfBEl/hd8ZzA +# v47DCgJ5j1zm295s1RVZHNp6MoiQFVOECm4AwK2l28i+YER1JO4IplTH44uvzX9o +# RnJHaMvWzZEpozPy4jNO2DDqbcNs4zh7AWMhE1PWFVA+CHI/En5nASvCvLmuR/t8 +# q4bc8XR8QIZJQSp+2U6m2ldNAgMBAAGjggF+MIIBejAfBgNVHSUEGDAWBgorBgEE +# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUNZJaEUGL2Guwt7ZOAu4efEYXedEw +# UAYDVR0RBEkwR6RFMEMxKTAnBgNVBAsTIE1pY3Jvc29mdCBPcGVyYXRpb25zIFB1 +# ZXJ0byBSaWNvMRYwFAYDVQQFEw0yMzAwMTIrNDY3NTk3MB8GA1UdIwQYMBaAFEhu +# ZOVQBdOCqhc3NyK1bajKdQKVMFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly93d3cu +# bWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY0NvZFNpZ1BDQTIwMTFfMjAxMS0w +# Ny0wOC5jcmwwYQYIKwYBBQUHAQEEVTBTMFEGCCsGAQUFBzAChkVodHRwOi8vd3d3 +# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY0NvZFNpZ1BDQTIwMTFfMjAx +# MS0wNy0wOC5jcnQwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAgEAFkk3 +# uSxkTEBh1NtAl7BivIEsAWdgX1qZ+EdZMYbQKasY6IhSLXRMxF1B3OKdR9K/kccp +# kvNcGl8D7YyYS4mhCUMBR+VLrg3f8PUj38A9V5aiY2/Jok7WZFOAmjPRNNGnyeg7 +# l0lTiThFqE+2aOs6+heegqAdelGgNJKRHLWRuhGKuLIw5lkgx9Ky+QvZrn/Ddi8u +# TIgWKp+MGG8xY6PBvvjgt9jQShlnPrZ3UY8Bvwy6rynhXBaV0V0TTL0gEx7eh/K1 +# o8Miaru6s/7FyqOLeUS4vTHh9TgBL5DtxCYurXbSBVtL1Fj44+Od/6cmC9mmvrti +# yG709Y3Rd3YdJj2f3GJq7Y7KdWq0QYhatKhBeg4fxjhg0yut2g6aM1mxjNPrE48z +# 6HWCNGu9gMK5ZudldRw4a45Z06Aoktof0CqOyTErvq0YjoE4Xpa0+87T/PVUXNqf +# 7Y+qSU7+9LtLQuMYR4w3cSPjuNusvLf9gBnch5RqM7kaDtYWDgLyB42EfsxeMqwK +# WwA+TVi0HrWRqfSx2olbE56hJcEkMjOSKz3sRuupFCX3UroyYf52L+2iVTrda8XW +# esPG62Mnn3T8AuLfzeJFuAbfOSERx7IFZO92UPoXE1uEjL5skl1yTZB3MubgOA4F +# 8KoRNhviFAEST+nG8c8uIsbZeb08SeYQMqjVEmkwggd6MIIFYqADAgECAgphDpDS +# AAAAAAADMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMK +# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0 +# IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0 +# ZSBBdXRob3JpdHkgMjAxMTAeFw0xMTA3MDgyMDU5MDlaFw0yNjA3MDgyMTA5MDla +# MH4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS +# ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMT +# H01pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTEwggIiMA0GCSqGSIb3DQEB +# AQUAA4ICDwAwggIKAoICAQCr8PpyEBwurdhuqoIQTTS68rZYIZ9CGypr6VpQqrgG +# OBoESbp/wwwe3TdrxhLYC/A4wpkGsMg51QEUMULTiQ15ZId+lGAkbK+eSZzpaF7S +# 35tTsgosw6/ZqSuuegmv15ZZymAaBelmdugyUiYSL+erCFDPs0S3XdjELgN1q2jz +# y23zOlyhFvRGuuA4ZKxuZDV4pqBjDy3TQJP4494HDdVceaVJKecNvqATd76UPe/7 +# 4ytaEB9NViiienLgEjq3SV7Y7e1DkYPZe7J7hhvZPrGMXeiJT4Qa8qEvWeSQOy2u +# M1jFtz7+MtOzAz2xsq+SOH7SnYAs9U5WkSE1JcM5bmR/U7qcD60ZI4TL9LoDho33 +# X/DQUr+MlIe8wCF0JV8YKLbMJyg4JZg5SjbPfLGSrhwjp6lm7GEfauEoSZ1fiOIl +# XdMhSz5SxLVXPyQD8NF6Wy/VI+NwXQ9RRnez+ADhvKwCgl/bwBWzvRvUVUvnOaEP +# 6SNJvBi4RHxF5MHDcnrgcuck379GmcXvwhxX24ON7E1JMKerjt/sW5+v/N2wZuLB +# l4F77dbtS+dJKacTKKanfWeA5opieF+yL4TXV5xcv3coKPHtbcMojyyPQDdPweGF +# RInECUzF1KVDL3SV9274eCBYLBNdYJWaPk8zhNqwiBfenk70lrC8RqBsmNLg1oiM +# CwIDAQABo4IB7TCCAekwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFEhuZOVQ +# BdOCqhc3NyK1bajKdQKVMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1Ud +# DwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFHItOgIxkEO5FAVO +# 4eqnxzHRI4k0MFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwubWljcm9zb2Z0 +# LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y +# Mi5jcmwwXgYIKwYBBQUHAQEEUjBQME4GCCsGAQUFBzAChkJodHRwOi8vd3d3Lm1p +# Y3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y +# Mi5jcnQwgZ8GA1UdIASBlzCBlDCBkQYJKwYBBAGCNy4DMIGDMD8GCCsGAQUFBwIB +# FjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2RvY3MvcHJpbWFyeWNw +# cy5odG0wQAYIKwYBBQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AcABvAGwAaQBjAHkA +# XwBzAHQAYQB0AGUAbQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQADggIBAGfyhqWY +# 4FR5Gi7T2HRnIpsLlhHhY5KZQpZ90nkMkMFlXy4sPvjDctFtg/6+P+gKyju/R6mj +# 82nbY78iNaWXXWWEkH2LRlBV2AySfNIaSxzzPEKLUtCw/WvjPgcuKZvmPRul1LUd +# d5Q54ulkyUQ9eHoj8xN9ppB0g430yyYCRirCihC7pKkFDJvtaPpoLpWgKj8qa1hJ +# Yx8JaW5amJbkg/TAj/NGK978O9C9Ne9uJa7lryft0N3zDq+ZKJeYTQ49C/IIidYf +# wzIY4vDFLc5bnrRJOQrGCsLGra7lstnbFYhRRVg4MnEnGn+x9Cf43iw6IGmYslmJ +# aG5vp7d0w0AFBqYBKig+gj8TTWYLwLNN9eGPfxxvFX1Fp3blQCplo8NdUmKGwx1j +# NpeG39rz+PIWoZon4c2ll9DuXWNB41sHnIc+BncG0QaxdR8UvmFhtfDcxhsEvt9B +# xw4o7t5lL+yX9qFcltgA1qFGvVnzl6UJS0gQmYAf0AApxbGbpT9Fdx41xtKiop96 +# eiL6SJUfq/tHI4D1nvi/a7dLl+LrdXga7Oo3mXkYS//WsyNodeav+vyL6wuA6mk7 +# r/ww7QRMjt/fdW1jkT3RnVZOT7+AVyKheBEyIXrvQQqxP/uozKRdwaGIm1dxVk5I +# RcBCyZt2WwqASGv9eZ/BvW1taslScxMNelDNMYIZjzCCGYsCAQEwgZUwfjELMAkG +# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEoMCYGA1UEAxMfTWljcm9z +# b2Z0IENvZGUgU2lnbmluZyBQQ0EgMjAxMQITMwAAAlKLM6r4lfM52wAAAAACUjAN +# BglghkgBZQMEAgEFAKCBrjAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgor +# BgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQgLwxfLTEa +# f5cZ43nGFJSGxV1AZMu24c5Ln5TdSBDWTncwQgYKKwYBBAGCNwIBDDE0MDKgFIAS +# AE0AaQBjAHIAbwBzAG8AZgB0oRqAGGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbTAN +# BgkqhkiG9w0BAQEFAASCAQCH+MB7uS3RlpbV8q8Nvg9aa0UmWWYCFOT/3n7V09Q6 +# p3v/uFdZ8AXCe8zdAeWFwLOQg9974QcDbIbvXm1V96+Z7zEEimU/Zr1ou5Cv0knI +# riaKdejplgnDt1EnBE9JlSyVsV7aOYr4EueMCb1Xn1dfGabKcgVlJUlP0JyZPQfs +# YqsyxEznkgNE769m8ozUwCx33jJN1Llcs3FYEe5irzu8UthSkFQ8vpG3YABhlk6M +# 4jPeb38LKbkEE0jclq6sfdmT+JL8j7Z05KfgaD076LnpSaqkcu9+2RH3TARosqhq +# I/N3nhDQclKIl1kYSXFG1E4/6ea3rAa98adIaR0YNcpFoYIXGTCCFxUGCisGAQQB +# gjcDAwExghcFMIIXAQYJKoZIhvcNAQcCoIIW8jCCFu4CAQMxDzANBglghkgBZQME +# AgEFADCCAVkGCyqGSIb3DQEJEAEEoIIBSASCAUQwggFAAgEBBgorBgEEAYRZCgMB +# MDEwDQYJYIZIAWUDBAIBBQAEIDsI/xX4lqk74CTV97lUQ0iyAOiIu4ggTwVzbGvl +# +HKeAgZiMTFcH0UYEzIwMjIwMzMxMTAwMDA5LjQ1OVowBIACAfSggdikgdUwgdIx +# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt +# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xLTArBgNVBAsTJE1p +# Y3Jvc29mdCBJcmVsYW5kIE9wZXJhdGlvbnMgTGltaXRlZDEmMCQGA1UECxMdVGhh +# bGVzIFRTUyBFU046QTI0MC00QjgyLTEzMEUxJTAjBgNVBAMTHE1pY3Jvc29mdCBU +# aW1lLVN0YW1wIFNlcnZpY2WgghFoMIIHFDCCBPygAwIBAgITMwAAAY16VS54dJkq +# twABAAABjTANBgkqhkiG9w0BAQsFADB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMK +# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0 +# IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0Eg +# MjAxMDAeFw0yMTEwMjgxOTI3NDVaFw0yMzAxMjYxOTI3NDVaMIHSMQswCQYDVQQG +# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG +# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQg +# SXJlbGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAkBgNVBAsTHVRoYWxlcyBUU1Mg +# RVNOOkEyNDAtNEI4Mi0xMzBFMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFt +# cCBTZXJ2aWNlMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA2jRILZg+ +# O6U7dLcuwBPMB+0tJUz0wHLqJ5f7KJXQsTzWToADUMYV4xVZnp9mPTWojUJ/l3O4 +# XqegLDNduFAObcitrLyY5HDsxAfUG1/2YilcSkSP6CcMqWfsSwULGX5zlsVKHJ7t +# vwg26y6eLklUdFMpiq294T4uJQdXd5O7mFy0vVkaGPGxNWLbZxKNzqKtFnWQ7jMt +# Z05XvafkIWZrNTFv8GGpAlHtRsZ1A8KDo6IDSGVNZZXbQs+fOwMOGp/Bzod8f1YI +# 8Gb2oN/mx2ccvdGr9la55QZeVsM7LfTaEPQxbgAcLgWDlIPcmTzcBksEzLOQsSpB +# zsqPaWI9ykVw5ofmrkFKMbpQT5EMki2suJoVM5xGgdZWnt/tz00xubPSKFi4B4IM +# FUB9mcANUq9cHaLsHbDJ+AUsVO0qnVjwzXPYJeR7C/B8X0Ul6UkIdplZmncQZSBK +# 3yZQy+oGsuJKXFAq3BlxT6kDuhYYvO7itLrPeY0knut1rKkxom+ui6vCdthCfnAi +# yknyRC2lknqzz8x1mDkQ5Q6Ox9p6/lduFupSJMtgsCPN9fIvrfppMDFIvRoULsHO +# dLJjrRli8co5M+vZmf20oTxYuXzM0tbRurEJycB5ZMbwznsFHymOkgyx8OeFnXV3 +# car45uejI1B1iqUDbeSNxnvczuOhcpzwackCAwEAAaOCATYwggEyMB0GA1UdDgQW +# BBR4zJFuh59GwpTuSju4STcflihmkzAfBgNVHSMEGDAWgBSfpxVdAF5iXYP05dJl +# pxtTNRnpcjBfBgNVHR8EWDBWMFSgUqBQhk5odHRwOi8vd3d3Lm1pY3Jvc29mdC5j +# b20vcGtpb3BzL2NybC9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIwMjAx +# MCgxKS5jcmwwbAYIKwYBBQUHAQEEYDBeMFwGCCsGAQUFBzAChlBodHRwOi8vd3d3 +# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMFRpbWUtU3Rh +# bXAlMjBQQ0ElMjAyMDEwKDEpLmNydDAMBgNVHRMBAf8EAjAAMBMGA1UdJQQMMAoG +# CCsGAQUFBwMIMA0GCSqGSIb3DQEBCwUAA4ICAQA1r3Oz0lEq3VvpdFlh3YBxc4hn +# YkALyYPDa9FO4XgqwkBm8Lsb+lK3tbGGgpi6QJbK3iM3BK0ObBcwRaJVCxGLGtr6 +# Jz9hRumRyF8o4n2y3YiKv4olBxNjFShSGc9E29JmVjBmLgmfjRqPc/2rD25q4ow4 +# uA3rc9ekiaufgGhcSAdek/l+kASbzohOt/5z2+IlgT4e3auSUzt2GAKfKZB02ZDG +# WKKeCY3pELj1tuh6yfrOJPPInO4ZZLW3vgKavtL8e6FJZyJoDFMewJ59oEL+AK3e +# 2M2I4IFE9n6LVS8bS9UbMUMvrAlXN5ZM2I8GdHB9TbfI17Wm/9Uf4qu588PJN7vC +# Jj9s+KxZqXc5sGScLgqiPqIbbNTE+/AEZ/eTixc9YLgTyMqakZI59wGqjrONQSY7 +# u0VEDkEE6ikz+FSFRKKzpySb0WTgMvWxsLvbnN8ACmISPnBHYZoGssPAL7foGGKF +# LdABTQC2PX19WjrfyrshHdiqSlCspqIGBTxRaHtyPMro3B/26gPfCl3MC3rC3NGq +# 4xGnIHDZGSizUmGg8TkQAloVdU5dJ1v910gjxaxaUraGhP8IttE0RWnU5XRp/sGa +# NmDcMwbyHuSpaFsn3Q21OzitP4BnN5tprHangAC7joe4zmLnmRnAiUc9sRqQ2bms +# MAvUpsO8nlOFmiM1LzCCB3EwggVZoAMCAQICEzMAAAAVxedrngKbSZkAAAAAABUw +# DQYJKoZIhvcNAQELBQAwgYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5n +# dG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9y +# YXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBSb290IENlcnRpZmljYXRlIEF1dGhv +# cml0eSAyMDEwMB4XDTIxMDkzMDE4MjIyNVoXDTMwMDkzMDE4MzIyNVowfDELMAkG +# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9z +# b2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw +# ggIKAoICAQDk4aZM57RyIQt5osvXJHm9DtWC0/3unAcH0qlsTnXIyjVX9gF/bErg +# 4r25PhdgM/9cT8dm95VTcVrifkpa/rg2Z4VGIwy1jRPPdzLAEBjoYH1qUoNEt6aO +# RmsHFPPFdvWGUNzBRMhxXFExN6AKOG6N7dcP2CZTfDlhAnrEqv1yaa8dq6z2Nr41 +# JmTamDu6GnszrYBbfowQHJ1S/rboYiXcag/PXfT+jlPP1uyFVk3v3byNpOORj7I5 +# LFGc6XBpDco2LXCOMcg1KL3jtIckw+DJj361VI/c+gVVmG1oO5pGve2krnopN6zL +# 64NF50ZuyjLVwIYwXE8s4mKyzbnijYjklqwBSru+cakXW2dg3viSkR4dPf0gz3N9 +# QZpGdc3EXzTdEonW/aUgfX782Z5F37ZyL9t9X4C626p+Nuw2TPYrbqgSUei/BQOj +# 0XOmTTd0lBw0gg/wEPK3Rxjtp+iZfD9M269ewvPV2HM9Q07BMzlMjgK8QmguEOqE +# UUbi0b1qGFphAXPKZ6Je1yh2AuIzGHLXpyDwwvoSCtdjbwzJNmSLW6CmgyFdXzB0 +# kZSU2LlQ+QuJYfM2BjUYhEfb3BvR/bLUHMVr9lxSUV0S2yW6r1AFemzFER1y7435 +# UsSFF5PAPBXbGjfHCBUYP3irRbb1Hode2o+eFnJpxq57t7c+auIurQIDAQABo4IB +# 3TCCAdkwEgYJKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUKqdS/mTE +# mr6CkTxGNSnPEP8vBO4wHQYDVR0OBBYEFJ+nFV0AXmJdg/Tl0mWnG1M1GelyMFwG +# A1UdIARVMFMwUQYMKwYBBAGCN0yDfQEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly93 +# d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvRG9jcy9SZXBvc2l0b3J5Lmh0bTATBgNV +# HSUEDDAKBggrBgEFBQcDCDAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV +# HQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBTV9lbLj+iiXGJo +# 0T2UkFvXzpoYxDBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8vY3JsLm1pY3Jvc29m +# dC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5j +# cmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5odHRwOi8vd3d3Lm1pY3Jv +# c29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNydDAN +# BgkqhkiG9w0BAQsFAAOCAgEAnVV9/Cqt4SwfZwExJFvhnnJL/Klv6lwUtj5OR2R4 +# sQaTlz0xM7U518JxNj/aZGx80HU5bbsPMeTCj/ts0aGUGCLu6WZnOlNN3Zi6th54 +# 2DYunKmCVgADsAW+iehp4LoJ7nvfam++Kctu2D9IdQHZGN5tggz1bSNU5HhTdSRX +# ud2f8449xvNo32X2pFaq95W2KFUn0CS9QKC/GbYSEhFdPSfgQJY4rPf5KYnDvBew +# VIVCs/wMnosZiefwC2qBwoEZQhlSdYo2wh3DYXMuLGt7bj8sCXgU6ZGyqVvfSaN0 +# DLzskYDSPeZKPmY7T7uG+jIa2Zb0j/aRAfbOxnT99kxybxCrdTDFNLB62FD+Cljd +# QDzHVG2dY3RILLFORy3BFARxv2T5JL5zbcqOCb2zAVdJVGTZc9d/HltEAY5aGZFr +# DZ+kKNxnGSgkujhLmm77IVRrakURR6nxt67I6IleT53S0Ex2tVdUCbFpAUR+fKFh +# bHP+CrvsQWY9af3LwUFJfn6Tvsv4O+S3Fb+0zj6lMVGEvL8CwYKiexcdFYmNcP7n +# tdAoGokLjzbaukz5m/8K6TT4JDVnK+ANuOaMmdbhIurwJ0I9JZTmdHRbatGePu1+ +# oDEzfbzL6Xu/OHBE0ZDxyKs6ijoIYn/ZcGNTTY3ugm2lBRDBcQZqELQdVTNYs6Fw +# ZvKhggLXMIICQAIBATCCAQChgdikgdUwgdIxCzAJBgNVBAYTAlVTMRMwEQYDVQQI +# EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv +# ZnQgQ29ycG9yYXRpb24xLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh +# dGlvbnMgTGltaXRlZDEmMCQGA1UECxMdVGhhbGVzIFRTUyBFU046QTI0MC00Qjgy +# LTEzMEUxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WiIwoB +# ATAHBgUrDgMCGgMVAIBzlZM9TRND4PgtpLWQZkSPYVcJoIGDMIGApH4wfDELMAkG +# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9z +# b2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwDQYJKoZIhvcNAQEFBQACBQDl73XWMCIY +# DzIwMjIwMzMxMDgzNTM0WhgPMjAyMjA0MDEwODM1MzRaMHcwPQYKKwYBBAGEWQoE +# ATEvMC0wCgIFAOXvddYCAQAwCgIBAAICF6kCAf8wBwIBAAICER8wCgIFAOXwx1YC +# AQAwNgYKKwYBBAGEWQoEAjEoMCYwDAYKKwYBBAGEWQoDAqAKMAgCAQACAwehIKEK +# MAgCAQACAwGGoDANBgkqhkiG9w0BAQUFAAOBgQAY60kde7HWABLbM75dgVqLPwu2 +# UX3qQDaoStTqkS7953pYHKc6GEqRd/nLCCeYBqC+XJRMTMNbd4ZDkkCzsxlr5HFi +# GE6eT7+KvwqQf+djK59ZAts0no9RPZcdCJwQfvqU3RK91gp/Sg2bCMvAfTN4LRGp +# qQ4tYYP2GrJJNqVbkDGCBA0wggQJAgEBMIGTMHwxCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1w +# IFBDQSAyMDEwAhMzAAABjXpVLnh0mSq3AAEAAAGNMA0GCWCGSAFlAwQCAQUAoIIB +# SjAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwLwYJKoZIhvcNAQkEMSIEIOQz +# W64DlGXuO2zRgqB/n+gyoReL9ldfVdiKRVTSCDK+MIH6BgsqhkiG9w0BCRACLzGB +# 6jCB5zCB5DCBvQQgnpYRM/odXkDAnzf2udL569W8cfGTgwVuenQ8ttIYzX8wgZgw +# gYCkfjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE +# BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYD +# VQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMAITMwAAAY16VS54dJkq +# twABAAABjTAiBCCgvCueU3dRfCsOKSpG5oksOx2/8SHFEjSLBygedl9oUzANBgkq +# hkiG9w0BAQsFAASCAgASDKu2OAv74hH075B2jN90FtXMtuST3zF61GC5OXm38b4j +# NSjLjbMslJJqeXiyODEQFNxmdE9AgPguQK13CeNnqsx2krlMfIC4o+M2pN7lqWCk +# gWfp5QemsmucuotA2dXLF98jGlQ1JShvFVOvUyxs0QKejf323B/mYdoUzvKurP1M +# k+FUjq/w3mgN9oj5oHoCIkdg1gDWNh80zEa0/YxEE7YYzg8bPLsGpK+f7B75Q51Y +# Sz7Gp/LGpQiG/LjytNQmsHwy/bl3FCr5/2WxBkAs8BneisPIfNLW0gfEo5Azkjo9 +# KEm5l8ILkJ3/4Qx9HiGjqwrdto8kGWAlGoIELtsO0BGT4onF4ynlKQgw82JK+4RD +# tWXCnPqjojkl+/4tfbeEdUoPvNgYpvS6ZRRYJIWg5s7XViroohZCCSkqt8aMjTZF +# HJBsKzmdHvVvAGELQ7TKaN3mOMUXb/o4vIK0TYrYN6FUn5iVnA7X2LIbJj0j3Mef +# BwEeOFhSjxz2Ob1oihNBoR1v5y+XfkbT7igIVQqwM27ujcOooOsDkpgizs0FajJV +# jeRsqEsXgfpaKCAq5czpOTutrvvwEn/cINrR3JW1TRSGt3VUvSWkmBs1T+7Oj6H6 +# ewWQaQIDYdEiDUL8OJhl+GzebujxPo//NXTY0MZCxK3DXhXi5okwsImzh5010w== +# SIG # End signature block diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Azure.Core.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Azure.Core.dll new file mode 100644 index 000000000000..67edb79248ca Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Azure.Core.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Azure.Identity.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Azure.Identity.dll new file mode 100644 index 000000000000..0d214db71cad Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Azure.Identity.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Microsoft.Azure.PowerShell.Authenticators.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Microsoft.Azure.PowerShell.Authenticators.dll new file mode 100644 index 000000000000..2b2e59f4a657 Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Microsoft.Azure.PowerShell.Authenticators.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Microsoft.Bcl.AsyncInterfaces.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Microsoft.Bcl.AsyncInterfaces.dll new file mode 100644 index 000000000000..869ac1b86c57 Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Microsoft.Bcl.AsyncInterfaces.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Microsoft.Identity.Client.Extensions.Msal.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Microsoft.Identity.Client.Extensions.Msal.dll new file mode 100644 index 000000000000..d22ddefa2339 Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Microsoft.Identity.Client.Extensions.Msal.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Microsoft.Identity.Client.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Microsoft.Identity.Client.dll new file mode 100644 index 000000000000..7f392562319f Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Microsoft.Identity.Client.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Newtonsoft.Json.12.0.3.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Newtonsoft.Json.12.0.3.dll new file mode 100644 index 000000000000..6344999edbb3 Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Newtonsoft.Json.12.0.3.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Newtonsoft.Json.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Newtonsoft.Json.dll new file mode 100644 index 000000000000..9b0ae142146e Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/Newtonsoft.Json.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Buffers.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Buffers.dll new file mode 100644 index 000000000000..c517a3b62cc7 Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Buffers.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Diagnostics.DiagnosticSource.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Diagnostics.DiagnosticSource.dll new file mode 100644 index 000000000000..a2b54fb042de Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Diagnostics.DiagnosticSource.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Memory.Data.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Memory.Data.dll new file mode 100644 index 000000000000..5aa381018c00 Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Memory.Data.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Memory.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Memory.dll new file mode 100644 index 000000000000..bdfc501e9647 Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Memory.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Net.Http.WinHttpHandler.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Net.Http.WinHttpHandler.dll new file mode 100644 index 000000000000..8bd471e74c6e Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Net.Http.WinHttpHandler.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Numerics.Vectors.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Numerics.Vectors.dll new file mode 100644 index 000000000000..08659724d4f8 Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Numerics.Vectors.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Private.ServiceModel.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Private.ServiceModel.dll new file mode 100644 index 000000000000..3f9f84edf0ed Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Private.ServiceModel.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Reflection.DispatchProxy.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Reflection.DispatchProxy.dll new file mode 100644 index 000000000000..64a57cbbecce Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Reflection.DispatchProxy.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Runtime.CompilerServices.Unsafe.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Runtime.CompilerServices.Unsafe.dll new file mode 100644 index 000000000000..0c27a0e21c7e Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Runtime.CompilerServices.Unsafe.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Security.AccessControl.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Security.AccessControl.dll new file mode 100644 index 000000000000..e8074324cd13 Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Security.AccessControl.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Security.Cryptography.Cng.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Security.Cryptography.Cng.dll new file mode 100644 index 000000000000..4f4c30e080bd Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Security.Cryptography.Cng.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Security.Permissions.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Security.Permissions.dll new file mode 100644 index 000000000000..d1af38f0f8b7 Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Security.Permissions.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Security.Principal.Windows.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Security.Principal.Windows.dll new file mode 100644 index 000000000000..afd187c14918 Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Security.Principal.Windows.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.ServiceModel.Primitives.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.ServiceModel.Primitives.dll new file mode 100644 index 000000000000..c1aa0a64f8f9 Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.ServiceModel.Primitives.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Text.Encodings.Web.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Text.Encodings.Web.dll new file mode 100644 index 000000000000..6d2b207854ac Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Text.Encodings.Web.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Text.Json.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Text.Json.dll new file mode 100644 index 000000000000..a3a85c2b7255 Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Text.Json.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Threading.Tasks.Extensions.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Threading.Tasks.Extensions.dll new file mode 100644 index 000000000000..dfab23478ab4 Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Threading.Tasks.Extensions.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Xml.ReaderWriter.dll b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Xml.ReaderWriter.dll new file mode 100644 index 000000000000..022e63a21a86 Binary files /dev/null and b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/PreloadAssemblies/System.Xml.ReaderWriter.dll differ diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/StartupScripts/AzError.ps1 b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/StartupScripts/AzError.ps1 new file mode 100644 index 000000000000..f234bd2dd7e5 --- /dev/null +++ b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/StartupScripts/AzError.ps1 @@ -0,0 +1,278 @@ +function Write-InstallationCheckToFile +{ + Param($installationchecks) + if (Get-Module AzureRM.Profile -ListAvailable -ErrorAction Ignore) + { + Write-Warning ("Both Az and AzureRM modules were detected on this machine. Az and AzureRM modules cannot be imported in the same session or used in the same script or runbook. If you are running PowerShell in an environment you control you can use the 'Uninstall-AzureRm' cmdlet to remove all AzureRm modules from your machine. " + + "If you are running in Azure Automation, take care that none of your runbooks import both Az and AzureRM modules. More information can be found here: https://aka.ms/azps-migration-guide") + } + + $installationchecks.Add("AzSideBySideCheck","true") + try + { + if (Test-Path $pathToInstallationChecks -ErrorAction Ignore) + { + Remove-Item -Path $pathToInstallationChecks -ErrorAction Stop + } + + $pathToInstallDir = Split-Path -Path $pathToInstallationChecks -Parent -ErrorAction Stop + if (Test-Path $pathToInstallDir -ErrorAction Ignore) + { + New-Item -Path $pathToInstallationChecks -ErrorAction Stop -ItemType File -Value ($installationchecks | ConvertTo-Json -ErrorAction Stop) + } + } + catch + { + Write-Verbose "Installation checks failed to write to file." + } +} + +if (!($env:SkipAzInstallationChecks -eq "true")) +{ + $pathToInstallationChecks = Join-Path (Join-Path $HOME ".Azure") "AzInstallationChecks.json" + $installationchecks = @{} + if (!(Test-Path $pathToInstallationChecks -ErrorAction Ignore)) + { + Write-InstallationCheckToFile $installationchecks + } + else + { + try + { + ((Get-Content $pathToInstallationChecks -ErrorAction Stop) | ConvertFrom-Json -ErrorAction Stop).PSObject.Properties | Foreach { $installationchecks[$_.Name] = $_.Value } + } + catch + { + Write-InstallationCheckToFile $installationchecks + } + + if (!$installationchecks.ContainsKey("AzSideBySideCheck")) + { + Write-InstallationCheckToFile $installationchecks + } + } +} + +if (Get-Module AzureRM.profile -ErrorAction Ignore) +{ + Write-Warning ("AzureRM.Profile already loaded. Az and AzureRM modules cannot be imported in the same session or used in the same script or runbook. If you are running PowerShell in an environment you control you can use the 'Uninstall-AzureRm' cmdlet to remove all AzureRm modules from your machine. " + + "If you are running in Azure Automation, take care that none of your runbooks import both Az and AzureRM modules. More information can be found here: https://aka.ms/azps-migration-guide.") + throw ("AzureRM.Profile already loaded. Az and AzureRM modules cannot be imported in the same session or used in the same script or runbook. If you are running PowerShell in an environment you control you can use the 'Uninstall-AzureRm' cmdlet to remove all AzureRm modules from your machine. " + + "If you are running in Azure Automation, take care that none of your runbooks import both Az and AzureRM modules. More information can be found here: https://aka.ms/azps-migration-guide.") +} + +Update-TypeData -AppendPath (Join-Path (Get-Item $PSScriptRoot).Parent.FullName Accounts.types.ps1xml) -ErrorAction Ignore +# SIG # Begin signature block +# MIInuQYJKoZIhvcNAQcCoIInqjCCJ6YCAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCDT3s8rOGw0kP8l +# AbYXJ7G9hr2fOKBRtW5xO6fWVEOZvqCCDYEwggX/MIID56ADAgECAhMzAAACUosz +# qviV8znbAAAAAAJSMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p +# bmcgUENBIDIwMTEwHhcNMjEwOTAyMTgzMjU5WhcNMjIwOTAxMTgzMjU5WjB0MQsw +# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u +# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +# AQDQ5M+Ps/X7BNuv5B/0I6uoDwj0NJOo1KrVQqO7ggRXccklyTrWL4xMShjIou2I +# sbYnF67wXzVAq5Om4oe+LfzSDOzjcb6ms00gBo0OQaqwQ1BijyJ7NvDf80I1fW9O +# L76Kt0Wpc2zrGhzcHdb7upPrvxvSNNUvxK3sgw7YTt31410vpEp8yfBEl/hd8ZzA +# v47DCgJ5j1zm295s1RVZHNp6MoiQFVOECm4AwK2l28i+YER1JO4IplTH44uvzX9o +# RnJHaMvWzZEpozPy4jNO2DDqbcNs4zh7AWMhE1PWFVA+CHI/En5nASvCvLmuR/t8 +# q4bc8XR8QIZJQSp+2U6m2ldNAgMBAAGjggF+MIIBejAfBgNVHSUEGDAWBgorBgEE +# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUNZJaEUGL2Guwt7ZOAu4efEYXedEw +# UAYDVR0RBEkwR6RFMEMxKTAnBgNVBAsTIE1pY3Jvc29mdCBPcGVyYXRpb25zIFB1 +# ZXJ0byBSaWNvMRYwFAYDVQQFEw0yMzAwMTIrNDY3NTk3MB8GA1UdIwQYMBaAFEhu +# ZOVQBdOCqhc3NyK1bajKdQKVMFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly93d3cu +# bWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY0NvZFNpZ1BDQTIwMTFfMjAxMS0w +# Ny0wOC5jcmwwYQYIKwYBBQUHAQEEVTBTMFEGCCsGAQUFBzAChkVodHRwOi8vd3d3 +# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY0NvZFNpZ1BDQTIwMTFfMjAx +# MS0wNy0wOC5jcnQwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAgEAFkk3 +# uSxkTEBh1NtAl7BivIEsAWdgX1qZ+EdZMYbQKasY6IhSLXRMxF1B3OKdR9K/kccp +# kvNcGl8D7YyYS4mhCUMBR+VLrg3f8PUj38A9V5aiY2/Jok7WZFOAmjPRNNGnyeg7 +# l0lTiThFqE+2aOs6+heegqAdelGgNJKRHLWRuhGKuLIw5lkgx9Ky+QvZrn/Ddi8u +# TIgWKp+MGG8xY6PBvvjgt9jQShlnPrZ3UY8Bvwy6rynhXBaV0V0TTL0gEx7eh/K1 +# o8Miaru6s/7FyqOLeUS4vTHh9TgBL5DtxCYurXbSBVtL1Fj44+Od/6cmC9mmvrti +# yG709Y3Rd3YdJj2f3GJq7Y7KdWq0QYhatKhBeg4fxjhg0yut2g6aM1mxjNPrE48z +# 6HWCNGu9gMK5ZudldRw4a45Z06Aoktof0CqOyTErvq0YjoE4Xpa0+87T/PVUXNqf +# 7Y+qSU7+9LtLQuMYR4w3cSPjuNusvLf9gBnch5RqM7kaDtYWDgLyB42EfsxeMqwK +# WwA+TVi0HrWRqfSx2olbE56hJcEkMjOSKz3sRuupFCX3UroyYf52L+2iVTrda8XW +# esPG62Mnn3T8AuLfzeJFuAbfOSERx7IFZO92UPoXE1uEjL5skl1yTZB3MubgOA4F +# 8KoRNhviFAEST+nG8c8uIsbZeb08SeYQMqjVEmkwggd6MIIFYqADAgECAgphDpDS +# AAAAAAADMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMK +# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0 +# IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0 +# ZSBBdXRob3JpdHkgMjAxMTAeFw0xMTA3MDgyMDU5MDlaFw0yNjA3MDgyMTA5MDla +# MH4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS +# ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMT +# H01pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTEwggIiMA0GCSqGSIb3DQEB +# AQUAA4ICDwAwggIKAoICAQCr8PpyEBwurdhuqoIQTTS68rZYIZ9CGypr6VpQqrgG +# OBoESbp/wwwe3TdrxhLYC/A4wpkGsMg51QEUMULTiQ15ZId+lGAkbK+eSZzpaF7S +# 35tTsgosw6/ZqSuuegmv15ZZymAaBelmdugyUiYSL+erCFDPs0S3XdjELgN1q2jz +# y23zOlyhFvRGuuA4ZKxuZDV4pqBjDy3TQJP4494HDdVceaVJKecNvqATd76UPe/7 +# 4ytaEB9NViiienLgEjq3SV7Y7e1DkYPZe7J7hhvZPrGMXeiJT4Qa8qEvWeSQOy2u +# M1jFtz7+MtOzAz2xsq+SOH7SnYAs9U5WkSE1JcM5bmR/U7qcD60ZI4TL9LoDho33 +# X/DQUr+MlIe8wCF0JV8YKLbMJyg4JZg5SjbPfLGSrhwjp6lm7GEfauEoSZ1fiOIl +# XdMhSz5SxLVXPyQD8NF6Wy/VI+NwXQ9RRnez+ADhvKwCgl/bwBWzvRvUVUvnOaEP +# 6SNJvBi4RHxF5MHDcnrgcuck379GmcXvwhxX24ON7E1JMKerjt/sW5+v/N2wZuLB +# l4F77dbtS+dJKacTKKanfWeA5opieF+yL4TXV5xcv3coKPHtbcMojyyPQDdPweGF +# RInECUzF1KVDL3SV9274eCBYLBNdYJWaPk8zhNqwiBfenk70lrC8RqBsmNLg1oiM +# CwIDAQABo4IB7TCCAekwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFEhuZOVQ +# BdOCqhc3NyK1bajKdQKVMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1Ud +# DwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFHItOgIxkEO5FAVO +# 4eqnxzHRI4k0MFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwubWljcm9zb2Z0 +# LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y +# Mi5jcmwwXgYIKwYBBQUHAQEEUjBQME4GCCsGAQUFBzAChkJodHRwOi8vd3d3Lm1p +# Y3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y +# Mi5jcnQwgZ8GA1UdIASBlzCBlDCBkQYJKwYBBAGCNy4DMIGDMD8GCCsGAQUFBwIB +# FjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2RvY3MvcHJpbWFyeWNw +# cy5odG0wQAYIKwYBBQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AcABvAGwAaQBjAHkA +# XwBzAHQAYQB0AGUAbQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQADggIBAGfyhqWY +# 4FR5Gi7T2HRnIpsLlhHhY5KZQpZ90nkMkMFlXy4sPvjDctFtg/6+P+gKyju/R6mj +# 82nbY78iNaWXXWWEkH2LRlBV2AySfNIaSxzzPEKLUtCw/WvjPgcuKZvmPRul1LUd +# d5Q54ulkyUQ9eHoj8xN9ppB0g430yyYCRirCihC7pKkFDJvtaPpoLpWgKj8qa1hJ +# Yx8JaW5amJbkg/TAj/NGK978O9C9Ne9uJa7lryft0N3zDq+ZKJeYTQ49C/IIidYf +# wzIY4vDFLc5bnrRJOQrGCsLGra7lstnbFYhRRVg4MnEnGn+x9Cf43iw6IGmYslmJ +# aG5vp7d0w0AFBqYBKig+gj8TTWYLwLNN9eGPfxxvFX1Fp3blQCplo8NdUmKGwx1j +# NpeG39rz+PIWoZon4c2ll9DuXWNB41sHnIc+BncG0QaxdR8UvmFhtfDcxhsEvt9B +# xw4o7t5lL+yX9qFcltgA1qFGvVnzl6UJS0gQmYAf0AApxbGbpT9Fdx41xtKiop96 +# eiL6SJUfq/tHI4D1nvi/a7dLl+LrdXga7Oo3mXkYS//WsyNodeav+vyL6wuA6mk7 +# r/ww7QRMjt/fdW1jkT3RnVZOT7+AVyKheBEyIXrvQQqxP/uozKRdwaGIm1dxVk5I +# RcBCyZt2WwqASGv9eZ/BvW1taslScxMNelDNMYIZjjCCGYoCAQEwgZUwfjELMAkG +# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEoMCYGA1UEAxMfTWljcm9z +# b2Z0IENvZGUgU2lnbmluZyBQQ0EgMjAxMQITMwAAAlKLM6r4lfM52wAAAAACUjAN +# BglghkgBZQMEAgEFAKCBrjAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgor +# BgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQgpH7D8Not +# WnytrY9dBBVdkjoPJbp/Jb5/OaJtNH+9PHMwQgYKKwYBBAGCNwIBDDE0MDKgFIAS +# AE0AaQBjAHIAbwBzAG8AZgB0oRqAGGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbTAN +# BgkqhkiG9w0BAQEFAASCAQBeESsu04jkAEIOu00+XAL5Cw3b4lPK1+Y/A63nt7uC +# g0IvVE66lSl52+b6CVBX/G72fi7HlOIYoCyVKEIasUVN+dqAtdM2ib0RLRPrWxH9 +# 2axBlgxQg9nBAZkklffNIZjmkC+gZN37i3g0DHSwmb1ej9OwHDD0MYQpF8oIa81e +# oj07j6dAzRwVM0TaHEJj9kPXA81HN6CAYBJ/V3p0wYRbp3c2L9j2R9MtVVvnx/7z +# sbKvHJV+l3b/xCT5T0/J5l5QoLzzNyfWB7Zvaz0DbKX1bln/rcb8uPYKVEz4wsKW +# 5zAm12WLQ87vxiIGLA6tv4lXxggEAUm68Nwjfw6vqkHRoYIXGDCCFxQGCisGAQQB +# gjcDAwExghcEMIIXAAYJKoZIhvcNAQcCoIIW8TCCFu0CAQMxDzANBglghkgBZQME +# AgEFADCCAVgGCyqGSIb3DQEJEAEEoIIBRwSCAUMwggE/AgEBBgorBgEEAYRZCgMB +# MDEwDQYJYIZIAWUDBAIBBQAEIEbwTnYvqLH2wAcLSr8ZwikKunQnLTH8PEiqd0Vr +# sTtWAgZiMTFcHxoYEjIwMjIwMzMxMTAwMDA4Ljg4WjAEgAIB9KCB2KSB1TCB0jEL +# MAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1v +# bmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWlj +# cm9zb2Z0IElyZWxhbmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFs +# ZXMgVFNTIEVTTjpBMjQwLTRCODItMTMwRTElMCMGA1UEAxMcTWljcm9zb2Z0IFRp +# bWUtU3RhbXAgU2VydmljZaCCEWgwggcUMIIE/KADAgECAhMzAAABjXpVLnh0mSq3 +# AAEAAAGNMA0GCSqGSIb3DQEBCwUAMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpX +# YXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQg +# Q29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAy +# MDEwMB4XDTIxMTAyODE5Mjc0NVoXDTIzMDEyNjE5Mjc0NVowgdIxCzAJBgNVBAYT +# AlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYD +# VQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xLTArBgNVBAsTJE1pY3Jvc29mdCBJ +# cmVsYW5kIE9wZXJhdGlvbnMgTGltaXRlZDEmMCQGA1UECxMdVGhhbGVzIFRTUyBF +# U046QTI0MC00QjgyLTEzMEUxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1w +# IFNlcnZpY2UwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDaNEgtmD47 +# pTt0ty7AE8wH7S0lTPTAcuonl/soldCxPNZOgANQxhXjFVmen2Y9NaiNQn+Xc7he +# p6AsM124UA5tyK2svJjkcOzEB9QbX/ZiKVxKRI/oJwypZ+xLBQsZfnOWxUocnu2/ +# CDbrLp4uSVR0UymKrb3hPi4lB1d3k7uYXLS9WRoY8bE1YttnEo3Ooq0WdZDuMy1n +# Tle9p+QhZms1MW/wYakCUe1GxnUDwoOjogNIZU1lldtCz587Aw4an8HOh3x/Vgjw +# Zvag3+bHZxy90av2VrnlBl5Wwzst9NoQ9DFuABwuBYOUg9yZPNwGSwTMs5CxKkHO +# yo9pYj3KRXDmh+auQUoxulBPkQySLay4mhUznEaB1lae3+3PTTG5s9IoWLgHggwV +# QH2ZwA1Sr1wdouwdsMn4BSxU7SqdWPDNc9gl5HsL8HxfRSXpSQh2mVmadxBlIErf +# JlDL6gay4kpcUCrcGXFPqQO6Fhi87uK0us95jSSe63WsqTGib66Lq8J22EJ+cCLK +# SfJELaWSerPPzHWYORDlDo7H2nr+V24W6lIky2CwI8318i+t+mkwMUi9GhQuwc50 +# smOtGWLxyjkz69mZ/bShPFi5fMzS1tG6sQnJwHlkxvDOewUfKY6SDLHw54WddXdx +# qvjm56MjUHWKpQNt5I3Ge9zO46FynPBpyQIDAQABo4IBNjCCATIwHQYDVR0OBBYE +# FHjMkW6Hn0bClO5KO7hJNx+WKGaTMB8GA1UdIwQYMBaAFJ+nFV0AXmJdg/Tl0mWn +# G1M1GelyMF8GA1UdHwRYMFYwVKBSoFCGTmh0dHA6Ly93d3cubWljcm9zb2Z0LmNv +# bS9wa2lvcHMvY3JsL01pY3Jvc29mdCUyMFRpbWUtU3RhbXAlMjBQQ0ElMjAyMDEw +# KDEpLmNybDBsBggrBgEFBQcBAQRgMF4wXAYIKwYBBQUHMAKGUGh0dHA6Ly93d3cu +# bWljcm9zb2Z0LmNvbS9wa2lvcHMvY2VydHMvTWljcm9zb2Z0JTIwVGltZS1TdGFt +# cCUyMFBDQSUyMDIwMTAoMSkuY3J0MAwGA1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYI +# KwYBBQUHAwgwDQYJKoZIhvcNAQELBQADggIBADWvc7PSUSrdW+l0WWHdgHFziGdi +# QAvJg8Nr0U7heCrCQGbwuxv6Ure1sYaCmLpAlsreIzcErQ5sFzBFolULEYsa2von +# P2FG6ZHIXyjifbLdiIq/iiUHE2MVKFIZz0Tb0mZWMGYuCZ+NGo9z/asPbmrijDi4 +# Detz16SJq5+AaFxIB16T+X6QBJvOiE63/nPb4iWBPh7dq5JTO3YYAp8pkHTZkMZY +# op4JjekQuPW26HrJ+s4k88ic7hlktbe+Apq+0vx7oUlnImgMUx7Ann2gQv4Ard7Y +# zYjggUT2fotVLxtL1RsxQy+sCVc3lkzYjwZ0cH1Nt8jXtab/1R/iq7nzw8k3u8Im +# P2z4rFmpdzmwZJwuCqI+ohts1MT78ARn95OLFz1guBPIypqRkjn3AaqOs41BJju7 +# RUQOQQTqKTP4VIVEorOnJJvRZOAy9bGwu9uc3wAKYhI+cEdhmgayw8Avt+gYYoUt +# 0AFNALY9fX1aOt/KuyEd2KpKUKymogYFPFFoe3I8yujcH/bqA98KXcwLesLc0arj +# EacgcNkZKLNSYaDxORACWhV1Tl0nW/3XSCPFrFpStoaE/wi20TRFadTldGn+wZo2 +# YNwzBvIe5KloWyfdDbU7OK0/gGc3m2msdqeAALuOh7jOYueZGcCJRz2xGpDZuaww +# C9Smw7yeU4WaIzUvMIIHcTCCBVmgAwIBAgITMwAAABXF52ueAptJmQAAAAAAFTAN +# BgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0 +# b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh +# dGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9y +# aXR5IDIwMTAwHhcNMjEwOTMwMTgyMjI1WhcNMzAwOTMwMTgzMjI1WjB8MQswCQYD +# VQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEe +# MBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3Nv +# ZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCC +# AgoCggIBAOThpkzntHIhC3miy9ckeb0O1YLT/e6cBwfSqWxOdcjKNVf2AX9sSuDi +# vbk+F2Az/1xPx2b3lVNxWuJ+Slr+uDZnhUYjDLWNE893MsAQGOhgfWpSg0S3po5G +# awcU88V29YZQ3MFEyHFcUTE3oAo4bo3t1w/YJlN8OWECesSq/XJprx2rrPY2vjUm +# ZNqYO7oaezOtgFt+jBAcnVL+tuhiJdxqD89d9P6OU8/W7IVWTe/dvI2k45GPsjks +# UZzpcGkNyjYtcI4xyDUoveO0hyTD4MmPfrVUj9z6BVWYbWg7mka97aSueik3rMvr +# g0XnRm7KMtXAhjBcTyziYrLNueKNiOSWrAFKu75xqRdbZ2De+JKRHh09/SDPc31B +# mkZ1zcRfNN0Sidb9pSB9fvzZnkXftnIv231fgLrbqn427DZM9ituqBJR6L8FA6PR +# c6ZNN3SUHDSCD/AQ8rdHGO2n6Jl8P0zbr17C89XYcz1DTsEzOUyOArxCaC4Q6oRR +# RuLRvWoYWmEBc8pnol7XKHYC4jMYctenIPDC+hIK12NvDMk2ZItboKaDIV1fMHSR +# lJTYuVD5C4lh8zYGNRiER9vcG9H9stQcxWv2XFJRXRLbJbqvUAV6bMURHXLvjflS +# xIUXk8A8FdsaN8cIFRg/eKtFtvUeh17aj54WcmnGrnu3tz5q4i6tAgMBAAGjggHd +# MIIB2TASBgkrBgEEAYI3FQEEBQIDAQABMCMGCSsGAQQBgjcVAgQWBBQqp1L+ZMSa +# voKRPEY1Kc8Q/y8E7jAdBgNVHQ4EFgQUn6cVXQBeYl2D9OXSZacbUzUZ6XIwXAYD +# VR0gBFUwUzBRBgwrBgEEAYI3TIN9AQEwQTA/BggrBgEFBQcCARYzaHR0cDovL3d3 +# dy5taWNyb3NvZnQuY29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnkuaHRtMBMGA1Ud +# JQQMMAoGCCsGAQUFBwMIMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1Ud +# DwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNX2VsuP6KJcYmjR +# PZSQW9fOmhjEMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwubWljcm9zb2Z0 +# LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNy +# bDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93d3cubWljcm9z +# b2Z0LmNvbS9wa2kvY2VydHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYtMjMuY3J0MA0G +# CSqGSIb3DQEBCwUAA4ICAQCdVX38Kq3hLB9nATEkW+Geckv8qW/qXBS2Pk5HZHix +# BpOXPTEztTnXwnE2P9pkbHzQdTltuw8x5MKP+2zRoZQYIu7pZmc6U03dmLq2HnjY +# Ni6cqYJWAAOwBb6J6Gngugnue99qb74py27YP0h1AdkY3m2CDPVtI1TkeFN1JFe5 +# 3Z/zjj3G82jfZfakVqr3lbYoVSfQJL1AoL8ZthISEV09J+BAljis9/kpicO8F7BU +# hUKz/AyeixmJ5/ALaoHCgRlCGVJ1ijbCHcNhcy4sa3tuPywJeBTpkbKpW99Jo3QM +# vOyRgNI95ko+ZjtPu4b6MhrZlvSP9pEB9s7GdP32THJvEKt1MMU0sHrYUP4KWN1A +# PMdUbZ1jdEgssU5HLcEUBHG/ZPkkvnNtyo4JvbMBV0lUZNlz138eW0QBjloZkWsN +# n6Qo3GcZKCS6OEuabvshVGtqRRFHqfG3rsjoiV5PndLQTHa1V1QJsWkBRH58oWFs +# c/4Ku+xBZj1p/cvBQUl+fpO+y/g75LcVv7TOPqUxUYS8vwLBgqJ7Fx0ViY1w/ue1 +# 0CgaiQuPNtq6TPmb/wrpNPgkNWcr4A245oyZ1uEi6vAnQj0llOZ0dFtq0Z4+7X6g +# MTN9vMvpe784cETRkPHIqzqKOghif9lwY1NNje6CbaUFEMFxBmoQtB1VM1izoXBm +# 8qGCAtcwggJAAgEBMIIBAKGB2KSB1TCB0jELMAkGA1UEBhMCVVMxEzARBgNVBAgT +# Cldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m +# dCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxhbmQgT3BlcmF0 +# aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjpBMjQwLTRCODIt +# MTMwRTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZaIjCgEB +# MAcGBSsOAwIaAxUAgHOVkz1NE0Pg+C2ktZBmRI9hVwmggYMwgYCkfjB8MQswCQYD +# VQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEe +# MBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3Nv +# ZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDANBgkqhkiG9w0BAQUFAAIFAOXvddYwIhgP +# MjAyMjAzMzEwODM1MzRaGA8yMDIyMDQwMTA4MzUzNFowdzA9BgorBgEEAYRZCgQB +# MS8wLTAKAgUA5e911gIBADAKAgEAAgIXqQIB/zAHAgEAAgIRHzAKAgUA5fDHVgIB +# ADA2BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZCgMCoAowCAIBAAIDB6EgoQow +# CAIBAAIDAYagMA0GCSqGSIb3DQEBBQUAA4GBABjrSR17sdYAEtszvl2BWos/C7ZR +# fepANqhK1OqRLv3nelgcpzoYSpF3+csIJ5gGoL5clExMw1t3hkOSQLOzGWvkcWIY +# Tp5Pv4q/CpB/52Mrn1kC2zSej1E9lx0InBB++pTdEr3WCn9KDZsIy8B9M3gtEamp +# Di1hg/Yaskk2pVuQMYIEDTCCBAkCAQEwgZMwfDELMAkGA1UEBhMCVVMxEzARBgNV +# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv +# c29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAg +# UENBIDIwMTACEzMAAAGNelUueHSZKrcAAQAAAY0wDQYJYIZIAWUDBAIBBQCgggFK +# MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0BCQQxIgQgv72G +# 0X2zWUJuJvjSqtgMZ02BVYmEgLTkIUsRp8UHvXIwgfoGCyqGSIb3DQEJEAIvMYHq +# MIHnMIHkMIG9BCCelhEz+h1eQMCfN/a50vnr1bxx8ZODBW56dDy20hjNfzCBmDCB +# gKR+MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQH +# EwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNV +# BAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAABjXpVLnh0mSq3 +# AAEAAAGNMCIEIKC8K55Td1F8Kw4pKkbmiSw7Hb/xIcUSNIsHKB52X2hTMA0GCSqG +# SIb3DQEBCwUABIICAMsOXK3vJQX7Jt2lDwVppNTdiboPDVwXRfezsK8NLGK7wZhp +# e/fEsGp3kFdqmeiDT/QGZV+ixnGjOTyJSaq6+wtvZyqKLUoEkhD9g+hFk23Hn3ui +# RiAp6LSf263zzgNQ9SbNssjiOChkILaTpt+GeV+lHAH6N412gYM7pbVyw9v7jvx+ +# Mp+iFKUVQAqZZDGm55MyTqfVdPeb8YpN9pqPSYG4ruCTwZBYGI+p7LFuKgQqF+FB +# 2KTqsTuxoHI6HAV3OibJcIFKQLFxaHjD0/YjYeZSoMUMD/ojZpdEoFrLtTXmIZ2e +# yOFKcX1LMzwwHhEpOpc9m9g4/B2kYTHUl1hFupXEu9PZnNa0IweqtM/GdX/Ji/// +# JRcDe8vtLNQz7z8ZQF28k1ufRDGfm5YIQDHu9Zx33gbpsWIyGZMmlbU4UMJDvAbM +# +sCYtGGLcMEObyiurnDOF4dix7QAdLWqGG2YiyZ9u0T/hRLi3THXhLGK5Xt4dgBk +# aeyJv7T3ZPfsbu8a10lgFkyVbmJt6up2OZbaqW1PjmvgtcsNmRyhD9oSZzOXdTiW +# iIGeLtHEkiSvZnWbaDqpx7ahcaHsmS5QvwWkYGGx1uHMOwJHuFq7jKPo3SYMxAwq +# GQW+QTZroDYL+UTfaUobfPyrS3bDw3L7xVqOOBwGidlOwx3ZYU4mNlSbfCN3 +# SIG # End signature block diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/StartupScripts/InitializeAssemblyResolver.ps1 b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/StartupScripts/InitializeAssemblyResolver.ps1 new file mode 100644 index 000000000000..4e557723dc33 --- /dev/null +++ b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/StartupScripts/InitializeAssemblyResolver.ps1 @@ -0,0 +1,234 @@ +if ($PSEdition -eq 'Desktop') { + try { + [Microsoft.Azure.Commands.Profile.Utilities.CustomAssemblyResolver]::Initialize() + } + catch { + Write-Warning $_ + } +} +else { + try { + Add-Type -Path ([System.IO.Path]::Combine($PSScriptRoot, "..", "Microsoft.Azure.PowerShell.AuthenticationAssemblyLoadContext.dll")) | Out-Null + $assemblyLoadContextFolder = [System.IO.Path]::Combine($PSScriptRoot, "..", "AzSharedAlcAssemblies") + Write-Debug "Registering Az shared AssemblyLoadContext for path: '$assemblyLoadContextFolder'." + [Microsoft.Azure.PowerShell.AuthenticationAssemblyLoadContext.AzAssemblyLoadContextInitializer]::RegisterAzSharedAssemblyLoadContext($assemblyLoadContextFolder) + Write-Debug "AssemblyLoadContext registered." + } + catch { + Write-Warning $_ + } +} +# SIG # Begin signature block +# MIInrQYJKoZIhvcNAQcCoIInnjCCJ5oCAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCCfno9x0LEd5gPe +# 4cvAg6ULJtMLR6g+Xis+I4rbSZlHZqCCDYEwggX/MIID56ADAgECAhMzAAACUosz +# qviV8znbAAAAAAJSMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p +# bmcgUENBIDIwMTEwHhcNMjEwOTAyMTgzMjU5WhcNMjIwOTAxMTgzMjU5WjB0MQsw +# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u +# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +# AQDQ5M+Ps/X7BNuv5B/0I6uoDwj0NJOo1KrVQqO7ggRXccklyTrWL4xMShjIou2I +# sbYnF67wXzVAq5Om4oe+LfzSDOzjcb6ms00gBo0OQaqwQ1BijyJ7NvDf80I1fW9O +# L76Kt0Wpc2zrGhzcHdb7upPrvxvSNNUvxK3sgw7YTt31410vpEp8yfBEl/hd8ZzA +# v47DCgJ5j1zm295s1RVZHNp6MoiQFVOECm4AwK2l28i+YER1JO4IplTH44uvzX9o +# RnJHaMvWzZEpozPy4jNO2DDqbcNs4zh7AWMhE1PWFVA+CHI/En5nASvCvLmuR/t8 +# q4bc8XR8QIZJQSp+2U6m2ldNAgMBAAGjggF+MIIBejAfBgNVHSUEGDAWBgorBgEE +# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUNZJaEUGL2Guwt7ZOAu4efEYXedEw +# UAYDVR0RBEkwR6RFMEMxKTAnBgNVBAsTIE1pY3Jvc29mdCBPcGVyYXRpb25zIFB1 +# ZXJ0byBSaWNvMRYwFAYDVQQFEw0yMzAwMTIrNDY3NTk3MB8GA1UdIwQYMBaAFEhu +# ZOVQBdOCqhc3NyK1bajKdQKVMFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly93d3cu +# bWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY0NvZFNpZ1BDQTIwMTFfMjAxMS0w +# Ny0wOC5jcmwwYQYIKwYBBQUHAQEEVTBTMFEGCCsGAQUFBzAChkVodHRwOi8vd3d3 +# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY0NvZFNpZ1BDQTIwMTFfMjAx +# MS0wNy0wOC5jcnQwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAgEAFkk3 +# uSxkTEBh1NtAl7BivIEsAWdgX1qZ+EdZMYbQKasY6IhSLXRMxF1B3OKdR9K/kccp +# kvNcGl8D7YyYS4mhCUMBR+VLrg3f8PUj38A9V5aiY2/Jok7WZFOAmjPRNNGnyeg7 +# l0lTiThFqE+2aOs6+heegqAdelGgNJKRHLWRuhGKuLIw5lkgx9Ky+QvZrn/Ddi8u +# TIgWKp+MGG8xY6PBvvjgt9jQShlnPrZ3UY8Bvwy6rynhXBaV0V0TTL0gEx7eh/K1 +# o8Miaru6s/7FyqOLeUS4vTHh9TgBL5DtxCYurXbSBVtL1Fj44+Od/6cmC9mmvrti +# yG709Y3Rd3YdJj2f3GJq7Y7KdWq0QYhatKhBeg4fxjhg0yut2g6aM1mxjNPrE48z +# 6HWCNGu9gMK5ZudldRw4a45Z06Aoktof0CqOyTErvq0YjoE4Xpa0+87T/PVUXNqf +# 7Y+qSU7+9LtLQuMYR4w3cSPjuNusvLf9gBnch5RqM7kaDtYWDgLyB42EfsxeMqwK +# WwA+TVi0HrWRqfSx2olbE56hJcEkMjOSKz3sRuupFCX3UroyYf52L+2iVTrda8XW +# esPG62Mnn3T8AuLfzeJFuAbfOSERx7IFZO92UPoXE1uEjL5skl1yTZB3MubgOA4F +# 8KoRNhviFAEST+nG8c8uIsbZeb08SeYQMqjVEmkwggd6MIIFYqADAgECAgphDpDS +# AAAAAAADMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMK +# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0 +# IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0 +# ZSBBdXRob3JpdHkgMjAxMTAeFw0xMTA3MDgyMDU5MDlaFw0yNjA3MDgyMTA5MDla +# MH4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS +# ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMT +# H01pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTEwggIiMA0GCSqGSIb3DQEB +# AQUAA4ICDwAwggIKAoICAQCr8PpyEBwurdhuqoIQTTS68rZYIZ9CGypr6VpQqrgG +# OBoESbp/wwwe3TdrxhLYC/A4wpkGsMg51QEUMULTiQ15ZId+lGAkbK+eSZzpaF7S +# 35tTsgosw6/ZqSuuegmv15ZZymAaBelmdugyUiYSL+erCFDPs0S3XdjELgN1q2jz +# y23zOlyhFvRGuuA4ZKxuZDV4pqBjDy3TQJP4494HDdVceaVJKecNvqATd76UPe/7 +# 4ytaEB9NViiienLgEjq3SV7Y7e1DkYPZe7J7hhvZPrGMXeiJT4Qa8qEvWeSQOy2u +# M1jFtz7+MtOzAz2xsq+SOH7SnYAs9U5WkSE1JcM5bmR/U7qcD60ZI4TL9LoDho33 +# X/DQUr+MlIe8wCF0JV8YKLbMJyg4JZg5SjbPfLGSrhwjp6lm7GEfauEoSZ1fiOIl +# XdMhSz5SxLVXPyQD8NF6Wy/VI+NwXQ9RRnez+ADhvKwCgl/bwBWzvRvUVUvnOaEP +# 6SNJvBi4RHxF5MHDcnrgcuck379GmcXvwhxX24ON7E1JMKerjt/sW5+v/N2wZuLB +# l4F77dbtS+dJKacTKKanfWeA5opieF+yL4TXV5xcv3coKPHtbcMojyyPQDdPweGF +# RInECUzF1KVDL3SV9274eCBYLBNdYJWaPk8zhNqwiBfenk70lrC8RqBsmNLg1oiM +# CwIDAQABo4IB7TCCAekwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFEhuZOVQ +# BdOCqhc3NyK1bajKdQKVMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1Ud +# DwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFHItOgIxkEO5FAVO +# 4eqnxzHRI4k0MFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwubWljcm9zb2Z0 +# LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y +# Mi5jcmwwXgYIKwYBBQUHAQEEUjBQME4GCCsGAQUFBzAChkJodHRwOi8vd3d3Lm1p +# Y3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y +# Mi5jcnQwgZ8GA1UdIASBlzCBlDCBkQYJKwYBBAGCNy4DMIGDMD8GCCsGAQUFBwIB +# FjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2RvY3MvcHJpbWFyeWNw +# cy5odG0wQAYIKwYBBQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AcABvAGwAaQBjAHkA +# XwBzAHQAYQB0AGUAbQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQADggIBAGfyhqWY +# 4FR5Gi7T2HRnIpsLlhHhY5KZQpZ90nkMkMFlXy4sPvjDctFtg/6+P+gKyju/R6mj +# 82nbY78iNaWXXWWEkH2LRlBV2AySfNIaSxzzPEKLUtCw/WvjPgcuKZvmPRul1LUd +# d5Q54ulkyUQ9eHoj8xN9ppB0g430yyYCRirCihC7pKkFDJvtaPpoLpWgKj8qa1hJ +# Yx8JaW5amJbkg/TAj/NGK978O9C9Ne9uJa7lryft0N3zDq+ZKJeYTQ49C/IIidYf +# wzIY4vDFLc5bnrRJOQrGCsLGra7lstnbFYhRRVg4MnEnGn+x9Cf43iw6IGmYslmJ +# aG5vp7d0w0AFBqYBKig+gj8TTWYLwLNN9eGPfxxvFX1Fp3blQCplo8NdUmKGwx1j +# NpeG39rz+PIWoZon4c2ll9DuXWNB41sHnIc+BncG0QaxdR8UvmFhtfDcxhsEvt9B +# xw4o7t5lL+yX9qFcltgA1qFGvVnzl6UJS0gQmYAf0AApxbGbpT9Fdx41xtKiop96 +# eiL6SJUfq/tHI4D1nvi/a7dLl+LrdXga7Oo3mXkYS//WsyNodeav+vyL6wuA6mk7 +# r/ww7QRMjt/fdW1jkT3RnVZOT7+AVyKheBEyIXrvQQqxP/uozKRdwaGIm1dxVk5I +# RcBCyZt2WwqASGv9eZ/BvW1taslScxMNelDNMYIZgjCCGX4CAQEwgZUwfjELMAkG +# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEoMCYGA1UEAxMfTWljcm9z +# b2Z0IENvZGUgU2lnbmluZyBQQ0EgMjAxMQITMwAAAlKLM6r4lfM52wAAAAACUjAN +# BglghkgBZQMEAgEFAKCBrjAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgor +# BgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQgyFkgUqEG +# ohT1KbDw544Hgmj3zWoOXkAlMHIwAyFcowAwQgYKKwYBBAGCNwIBDDE0MDKgFIAS +# AE0AaQBjAHIAbwBzAG8AZgB0oRqAGGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbTAN +# BgkqhkiG9w0BAQEFAASCAQCa0t0uHrS1Z8rXJEETxc2oe78Dv4Qo198ub5+3zLvP +# Uwb+RkVmouToXjo3dapicrrP8ELcphopBonxGcVJFdu9HT8uuwL9KEp0yDpjUxKA +# 0yPVc1pc+f5vmlLY1kyUHMb9Deahzp5oJnL6NLyupJ8w6DLb21SCiIWl71l5vf2B +# i8Nx+jIjxGEC5Emqk6GLFAjR4TR6KO1j6gkHutOu3k0Q/+CgvgEwPbwtBXjcE9jV +# u7AZ6Iu5mE8q7NQ01GwWUMs13xpWLxE8HgvWtu3ozXjFeFaG3u9NEyx/zlkEB1cS +# Ntqh/F34ovkTvJxnIBPSRZfGubCV0fp9Qm0gXxrz3y/roYIXDDCCFwgGCisGAQQB +# gjcDAwExghb4MIIW9AYJKoZIhvcNAQcCoIIW5TCCFuECAQMxDzANBglghkgBZQME +# AgEFADCCAVUGCyqGSIb3DQEJEAEEoIIBRASCAUAwggE8AgEBBgorBgEEAYRZCgMB +# MDEwDQYJYIZIAWUDBAIBBQAEIBvIyrpwHucEdb9YUkDCNmUPQk1ErTyZteMy3AB+ +# P++VAgZiL7Y+PNcYEzIwMjIwMzMxMTAwMDA5LjE3NlowBIACAfSggdSkgdEwgc4x +# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt +# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKTAnBgNVBAsTIE1p +# Y3Jvc29mdCBPcGVyYXRpb25zIFB1ZXJ0byBSaWNvMSYwJAYDVQQLEx1UaGFsZXMg +# VFNTIEVTTjo2MEJDLUUzODMtMjYzNTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUt +# U3RhbXAgU2VydmljZaCCEV8wggcQMIIE+KADAgECAhMzAAABpllFgzlNnutLAAEA +# AAGmMA0GCSqGSIb3DQEBCwUAMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNo +# aW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29y +# cG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEw +# MB4XDTIyMDMwMjE4NTEyMVoXDTIzMDUxMTE4NTEyMVowgc4xCzAJBgNVBAYTAlVT +# MRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQK +# ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKTAnBgNVBAsTIE1pY3Jvc29mdCBPcGVy +# YXRpb25zIFB1ZXJ0byBSaWNvMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjo2MEJD +# LUUzODMtMjYzNTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2Vydmlj +# ZTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANmYv3tSI+fJ/NQJnjz7 +# JvCnc+Xm0rKoe9YKD4MvMYCul7egdrT/zv5vFbQgjNQ74672fNweaztkR65V8y29 +# u5PL2sf01p+uche0Zu4tSig+GsQ6ZQl9tjPRAY/3ITBHDeIYyvq8Wne9+7NoPLhx +# DSO6dtX7YCuQ4zcTP3SE6MvB4b5NighdtvoZVaYk1lXpjUTfdmKoX1ABq1sJbULS +# nSi0Qd4vvl3mZ9jxwv9dR/nlZP62lrZYZq7LPtHD6BlmclB5PT89DnSm1sjaZnFH +# rKzOsmq5GlmL5SFugCCZOoKz133FJeQaFMcXBZSCQjNABWBbHIRCE1ysHHG83Ddo +# nRmnC8EOlYeRwTWz/QCz6q0riOIbYyC/A2BgUEpu9/9EymrTsyMr2/zS8GdEybQ5 +# W7f0WrcrmKB/Y62+g6TmfOS8NtU+L1jGoKNG6Q5RlfJwZu8J/Q9dl4OxyHKuy78+ +# wm6HsF7uAizpsWh63UUaoK/OGQiBG3NJ+kef5eWpnva4ZJfhAnqYTAZD1uHgf8Vf +# Qjnl0BB2YXzK9WaTqde8d+8qCxVKr5hJYvbO+X3+2k5PCirUK/SboreX+xUhVaQE +# hVDYqlatyPttI7Z2IrkhMzwFvc+p0QeyMiNmo2cBZejx8icDOcUidwymDUYqGPE7 +# MA8vtKW3feeSSYJsCEkuUO/vAgMBAAGjggE2MIIBMjAdBgNVHQ4EFgQUOlQhO/zG +# lqK99UkNL/Gu/AryN9gwHwYDVR0jBBgwFoAUn6cVXQBeYl2D9OXSZacbUzUZ6XIw +# XwYDVR0fBFgwVjBUoFKgUIZOaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9w +# cy9jcmwvTWljcm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUyMDIwMTAoMSkuY3Js +# MGwGCCsGAQUFBwEBBGAwXjBcBggrBgEFBQcwAoZQaHR0cDovL3d3dy5taWNyb3Nv +# ZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENB +# JTIwMjAxMCgxKS5jcnQwDAYDVR0TAQH/BAIwADATBgNVHSUEDDAKBggrBgEFBQcD +# CDANBgkqhkiG9w0BAQsFAAOCAgEAgMDxWDTpGqLnFoPhm/iDfwHGF8xr2NbrJl8e +# gEg2ThTJsTf0wBE+ZQsnYfrRmXBbe6sCXLVN70qPuI+OEbN5MOai7Bue1/4j5VTk +# WquH5GZeVat2N+dD7lSUWp0dU8j+uBhBL5GFSmoDVVm+zW2GR2juPI1v254AJTb2 +# l458anlkJjGvmYn2BtRS13h/wDR7hrQaI7BgdyHWAV5+HEj5UhrIrrvtwJiivSaU +# EA3qK6ZK/rZIQv/uORDkONw+2pHHIE1SXm/WIlhrVS2HIogfr3JjqvZion6LJSD7 +# 41j8xVDLiClwAbspHoVFjxtxBcMjqPx6aWCJS8vjSoTnhkV4PO55mqsM7Q8XQRGQ +# hA7w4zNQOJu9kD4xFdYpPUmLN/daIcEElofBjGz+sEd1B4yqqIk3u2G4VygTXFmt +# hL8chSo7r+GIvTqWKhSA/sanS4N3jCgCCe3FTSJsp4g5nwavLvWAtzcOIvSRorGm +# AeN0m2wgzBK95T/qgrGGDXSos1JNDWRVBnP0qsw1Qoq5G0D8hxvQPs3X43KBv1GJ +# l0wo5rcC+9OMWxJlB63gtToQsA1CErYoYLMZtUzJL74jwZk/grpHEQhIhB3sneC8 +# wzGKJuft7YO/HWCpuwdChIjynTnBh+yFGMdg3wRrIbOcw/iKmXZopMTQMOcmIeIw +# JAezA7AwggdxMIIFWaADAgECAhMzAAAAFcXna54Cm0mZAAAAAAAVMA0GCSqGSIb3 +# DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4G +# A1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTIw +# MAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgMjAx +# MDAeFw0yMTA5MzAxODIyMjVaFw0zMDA5MzAxODMyMjVaMHwxCzAJBgNVBAYTAlVT +# MRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQK +# ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1l +# LVN0YW1wIFBDQSAyMDEwMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA +# 5OGmTOe0ciELeaLL1yR5vQ7VgtP97pwHB9KpbE51yMo1V/YBf2xK4OK9uT4XYDP/ +# XE/HZveVU3Fa4n5KWv64NmeFRiMMtY0Tz3cywBAY6GB9alKDRLemjkZrBxTzxXb1 +# hlDcwUTIcVxRMTegCjhuje3XD9gmU3w5YQJ6xKr9cmmvHaus9ja+NSZk2pg7uhp7 +# M62AW36MEBydUv626GIl3GoPz130/o5Tz9bshVZN7928jaTjkY+yOSxRnOlwaQ3K +# Ni1wjjHINSi947SHJMPgyY9+tVSP3PoFVZhtaDuaRr3tpK56KTesy+uDRedGbsoy +# 1cCGMFxPLOJiss254o2I5JasAUq7vnGpF1tnYN74kpEeHT39IM9zfUGaRnXNxF80 +# 3RKJ1v2lIH1+/NmeRd+2ci/bfV+AutuqfjbsNkz2K26oElHovwUDo9Fzpk03dJQc +# NIIP8BDyt0cY7afomXw/TNuvXsLz1dhzPUNOwTM5TI4CvEJoLhDqhFFG4tG9ahha +# YQFzymeiXtcodgLiMxhy16cg8ML6EgrXY28MyTZki1ugpoMhXV8wdJGUlNi5UPkL +# iWHzNgY1GIRH29wb0f2y1BzFa/ZcUlFdEtsluq9QBXpsxREdcu+N+VLEhReTwDwV +# 2xo3xwgVGD94q0W29R6HXtqPnhZyacaue7e3PmriLq0CAwEAAaOCAd0wggHZMBIG +# CSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFCqnUv5kxJq+gpE8RjUp +# zxD/LwTuMB0GA1UdDgQWBBSfpxVdAF5iXYP05dJlpxtTNRnpcjBcBgNVHSAEVTBT +# MFEGDCsGAQQBgjdMg30BATBBMD8GCCsGAQUFBwIBFjNodHRwOi8vd3d3Lm1pY3Jv +# c29mdC5jb20vcGtpb3BzL0RvY3MvUmVwb3NpdG9yeS5odG0wEwYDVR0lBAwwCgYI +# KwYBBQUHAwgwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGG +# MA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAU1fZWy4/oolxiaNE9lJBb186a +# GMQwVgYDVR0fBE8wTTBLoEmgR4ZFaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br +# aS9jcmwvcHJvZHVjdHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYtMjMuY3JsMFoGCCsG +# AQUFBwEBBE4wTDBKBggrBgEFBQcwAoY+aHR0cDovL3d3dy5taWNyb3NvZnQuY29t +# L3BraS9jZXJ0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5jcnQwDQYJKoZIhvcN +# AQELBQADggIBAJ1VffwqreEsH2cBMSRb4Z5yS/ypb+pcFLY+TkdkeLEGk5c9MTO1 +# OdfCcTY/2mRsfNB1OW27DzHkwo/7bNGhlBgi7ulmZzpTTd2YurYeeNg2LpypglYA +# A7AFvonoaeC6Ce5732pvvinLbtg/SHUB2RjebYIM9W0jVOR4U3UkV7ndn/OOPcbz +# aN9l9qRWqveVtihVJ9AkvUCgvxm2EhIRXT0n4ECWOKz3+SmJw7wXsFSFQrP8DJ6L +# GYnn8AtqgcKBGUIZUnWKNsIdw2FzLixre24/LAl4FOmRsqlb30mjdAy87JGA0j3m +# Sj5mO0+7hvoyGtmW9I/2kQH2zsZ0/fZMcm8Qq3UwxTSwethQ/gpY3UA8x1RtnWN0 +# SCyxTkctwRQEcb9k+SS+c23Kjgm9swFXSVRk2XPXfx5bRAGOWhmRaw2fpCjcZxko +# JLo4S5pu+yFUa2pFEUep8beuyOiJXk+d0tBMdrVXVAmxaQFEfnyhYWxz/gq77EFm +# PWn9y8FBSX5+k77L+DvktxW/tM4+pTFRhLy/AsGConsXHRWJjXD+57XQKBqJC482 +# 2rpM+Zv/Cuk0+CQ1ZyvgDbjmjJnW4SLq8CdCPSWU5nR0W2rRnj7tfqAxM328y+l7 +# vzhwRNGQ8cirOoo6CGJ/2XBjU02N7oJtpQUQwXEGahC0HVUzWLOhcGbyoYIC0jCC +# AjsCAQEwgfyhgdSkgdEwgc4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5n +# dG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9y +# YXRpb24xKTAnBgNVBAsTIE1pY3Jvc29mdCBPcGVyYXRpb25zIFB1ZXJ0byBSaWNv +# MSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjo2MEJDLUUzODMtMjYzNTElMCMGA1UE +# AxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZaIjCgEBMAcGBSsOAwIaAxUA +# anQzrZW9TB93Ve7Pa4UPao2ffK2ggYMwgYCkfjB8MQswCQYDVQQGEwJVUzETMBEG +# A1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWlj +# cm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFt +# cCBQQ0EgMjAxMDANBgkqhkiG9w0BAQUFAAIFAOXv9TcwIhgPMjAyMjAzMzExMzM5 +# MDNaGA8yMDIyMDQwMTEzMzkwM1owdzA9BgorBgEEAYRZCgQBMS8wLTAKAgUA5e/1 +# NwIBADAKAgEAAgIlMAIB/zAHAgEAAgIRCDAKAgUA5fFGtwIBADA2BgorBgEEAYRZ +# CgQCMSgwJjAMBgorBgEEAYRZCgMCoAowCAIBAAIDB6EgoQowCAIBAAIDAYagMA0G +# CSqGSIb3DQEBBQUAA4GBALD1RzDUwq+H9m0MSYjCz5wQ1OtK2kysUfWmpMU4m/5I +# had8kbNZdJ3KIrx0YGBUzNZ+Lq0oh2bND8oZcOvd2Hp24j+V7qoE3si8uVWGudxS +# modF1/mMXXk9ekKyQlZEjz3BMuu37KSyigsrBtFsCP8HOYXKBGcDbc6qn5XH4yKD +# MYIEDTCCBAkCAQEwgZMwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0 +# b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh +# dGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTACEzMA +# AAGmWUWDOU2e60sAAQAAAaYwDQYJYIZIAWUDBAIBBQCgggFKMBoGCSqGSIb3DQEJ +# AzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0BCQQxIgQgBSF4kR8GItz8rwRGC1l8 +# k8ybbSy8clYGHzCOxkaX3MUwgfoGCyqGSIb3DQEJEAIvMYHqMIHnMIHkMIG9BCCD +# CxmLwz90fWvhMKbJTAQaKt3DoXeiAhfp8TD9tgSrDTCBmDCBgKR+MHwxCzAJBgNV +# BAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4w +# HAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29m +# dCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAABpllFgzlNnutLAAEAAAGmMCIEIBah +# XRJ2u8MV3DcxWnj3RsKu1063lhZi+mCg8CTJsOXVMA0GCSqGSIb3DQEBCwUABIIC +# AKwjzxsDe/9a9+S3w9P62SVFf6qdfGVu9TFSVozXaesncRAk2r5PYVIzQBLXEctH +# uMjKgizzU+OOxm1sxXQFxUa56d7W+W0Jg7ULtoKBKPQtEUN5uAo4j2bxZGMLqPMd +# DR5oFeKvtuIUk4DiXx02gUT6GITVUnFkkHt4y9j9PwZb7TNlan8/wTeTHO0kH2QZ +# xSt9oLx0jSb5/nBUCAE7G38h6P29oMvljU4xleVaSon0n73QlTg/hMAedxBVDol7 +# ZFh6Q93jDq/8l4XsA4y1UIObDo/8NxDvISc2tYeybT++wrtwkOLw6jpWXezk4uA3 +# cPi5rfOQhiBPG8dLCT9SWelaQWFq6wDL/wWQWWohrMVGaRoIp+p7TrRTUl3eoGIW +# lvUbTuUotQzzmQY1Zf8S4g430lulVYqdenhq6E3mzdU9VjueouAji4yYyJ8jeZmz +# c2e2W3goWOO5UWBujRETmFekpuj1cPiQ1en4QlRDeDHIgUa8OQcFbhof3cXZ0+CM +# mFYy5NofggR5oWN1IO6TAGc5w4tn+6i5RrR+C464W7R39A8peRCPXpZHMX5Nfinl +# McxNzvCRdwxdwMcfAl5fbvKiHAMFVaJlU8YkDHxtshVTBTAdB5scvBwEfVBqTRgN +# Y3evpxNmLhQ49mbUo+IsGdgKb4wU3AOkvXBDIVg0/Ll+ +# SIG # End signature block diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/[Content_Types].xml b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/[Content_Types].xml new file mode 100644 index 000000000000..95d6227f2ef8 --- /dev/null +++ b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/[Content_Types].xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/_rels/.rels b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/_rels/.rels new file mode 100644 index 000000000000..95479a0e6d24 --- /dev/null +++ b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/_rels/.rels @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/en-US/about_az.help.txt b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/en-US/about_az.help.txt new file mode 100644 index 000000000000..7e294d272854 --- /dev/null +++ b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/en-US/about_az.help.txt @@ -0,0 +1,50 @@ +About topic for Azure PowerShell - about_az + +TOPIC + +about_Az + +SHORT DESCRIPTION + +The Azure Az PowerShell module is a set of cmdlets for managing Azure +resources directly from the PowerShell command line and in PowerShell +scripts. + +LONG DESCRIPTION + +Azure PowerShell provides cross-platform cmdlets for managing Azure +services. All Azure PowerShell cmdlets work on Windows PowerShell 5.1 and +supported versions of PowerShell 7. + +The Azure PowerShell cmdlets follow the naming convention {verb}-Az{noun}. + +- {verb} is an approved PowerShell verb reflecting the corresponding HTTP + operation. + +- {noun} matches or has a close equivalent to the name of the resource. + +The cmdlets produce .NET objects that can be piped between commands +simplifying the sequencing of commands making Azure PowerShell a powerful +solution for scripting and automation purposes. + +A PowerShell module is available for each Azure service. For convenience, +we provide a wrapper module named "Az" that comprises the stable modules. +Modules in preview must be installed independently or via the "AzPreview" +wrapper module. + +Azure PowerShell is frequently updated to include bug fixes and service +updates. It is recommended to plan to update to the most recent version +regularly (a minimum of twice a year). + +GETTING STARTED + +1. Connect to Azure using Connect-AzAccount + +2. Run your first command. For example, create a resource group in the + east US region. + + New-AzResourceGroup -Name "MyResoureGroup" -location "eastus" + +SEE ALSO + +Azure PowerShell documentation: https://docs.microsoft.com/powershell/azure diff --git a/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/package/services/metadata/core-properties/1aa0749a068a4238881858013f1a5b7f.psmdcp b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/package/services/metadata/core-properties/1aa0749a068a4238881858013f1a5b7f.psmdcp new file mode 100644 index 000000000000..5c37526de859 --- /dev/null +++ b/swaggerci/billing/generated/modules/Az.Accounts/2.7.5/package/services/metadata/core-properties/1aa0749a068a4238881858013f1a5b7f.psmdcp @@ -0,0 +1,11 @@ + + + Microsoft Corporation + Microsoft Azure PowerShell - Accounts credential management cmdlets for Azure Resource Manager in Windows PowerShell and PowerShell Core. + +For more information on account credential management, please visit the following: https://docs.microsoft.com/powershell/azure/authenticate-azureps + Az.Accounts + 2.7.5 + Azure ResourceManager ARM Accounts Authentication Environment Subscription PSModule PSIncludes_Cmdlet PSCmdlet_Disable-AzDataCollection PSCmdlet_Disable-AzContextAutosave PSCmdlet_Enable-AzDataCollection PSCmdlet_Enable-AzContextAutosave PSCmdlet_Remove-AzEnvironment PSCmdlet_Get-AzEnvironment PSCmdlet_Set-AzEnvironment PSCmdlet_Add-AzEnvironment PSCmdlet_Get-AzSubscription PSCmdlet_Connect-AzAccount PSCmdlet_Get-AzContext PSCmdlet_Set-AzContext PSCmdlet_Import-AzContext PSCmdlet_Save-AzContext PSCmdlet_Get-AzTenant PSCmdlet_Send-Feedback PSCmdlet_Resolve-AzError PSCmdlet_Select-AzContext PSCmdlet_Rename-AzContext PSCmdlet_Remove-AzContext PSCmdlet_Clear-AzContext PSCmdlet_Disconnect-AzAccount PSCmdlet_Get-AzContextAutosaveSetting PSCmdlet_Set-AzDefault PSCmdlet_Get-AzDefault PSCmdlet_Clear-AzDefault PSCmdlet_Register-AzModule PSCmdlet_Enable-AzureRmAlias PSCmdlet_Disable-AzureRmAlias PSCmdlet_Uninstall-AzureRm PSCmdlet_Invoke-AzRestMethod PSCmdlet_Get-AzAccessToken PSCmdlet_Open-AzSurveyLink PSCommand_Disable-AzDataCollection PSCommand_Disable-AzContextAutosave PSCommand_Enable-AzDataCollection PSCommand_Enable-AzContextAutosave PSCommand_Remove-AzEnvironment PSCommand_Get-AzEnvironment PSCommand_Set-AzEnvironment PSCommand_Add-AzEnvironment PSCommand_Get-AzSubscription PSCommand_Connect-AzAccount PSCommand_Get-AzContext PSCommand_Set-AzContext PSCommand_Import-AzContext PSCommand_Save-AzContext PSCommand_Get-AzTenant PSCommand_Send-Feedback PSCommand_Resolve-AzError PSCommand_Select-AzContext PSCommand_Rename-AzContext PSCommand_Remove-AzContext PSCommand_Clear-AzContext PSCommand_Disconnect-AzAccount PSCommand_Get-AzContextAutosaveSetting PSCommand_Set-AzDefault PSCommand_Get-AzDefault PSCommand_Clear-AzDefault PSCommand_Register-AzModule PSCommand_Enable-AzureRmAlias PSCommand_Disable-AzureRmAlias PSCommand_Uninstall-AzureRm PSCommand_Invoke-AzRestMethod PSCommand_Get-AzAccessToken PSCommand_Open-AzSurveyLink PSCommand_Add-AzAccount PSCommand_Login-AzAccount PSCommand_Remove-AzAccount PSCommand_Logout-AzAccount PSCommand_Select-AzSubscription PSCommand_Resolve-Error PSCommand_Save-AzProfile PSCommand_Get-AzDomain PSCommand_Invoke-AzRest + NuGet, Version=3.4.4.1321, Culture=neutral, PublicKeyToken=31bf3856ad364e35;Microsoft Windows NT 6.2.9200.0;.NET Framework 4.5 + \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/AsyncCommandRuntime.cs b/swaggerci/billing/generated/runtime/AsyncCommandRuntime.cs new file mode 100644 index 000000000000..67ff89f28a6f --- /dev/null +++ b/swaggerci/billing/generated/runtime/AsyncCommandRuntime.cs @@ -0,0 +1,832 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell +{ + using System.Management.Automation; + using System.Management.Automation.Host; + using System.Threading; + using System.Linq; + + internal interface IAsyncCommandRuntimeExtensions + { + Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep Wrap(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep func); + System.Collections.Generic.IEnumerable Wrap(System.Collections.Generic.IEnumerable funcs); + + T ExecuteSync(System.Func step); + } + + public class AsyncCommandRuntime : System.Management.Automation.ICommandRuntime2, IAsyncCommandRuntimeExtensions, System.IDisposable + { + private ICommandRuntime2 originalCommandRuntime; + private System.Threading.Thread originalThread; + public bool AllowInteractive { get; set; } = false; + + public CancellationToken cancellationToken; + SemaphoreSlim semaphore = new SemaphoreSlim(1, 1); + ManualResetEventSlim readyToRun = new ManualResetEventSlim(false); + ManualResetEventSlim completed = new ManualResetEventSlim(false); + + System.Action runOnMainThread; + + private System.Management.Automation.PSCmdlet cmdlet; + + internal AsyncCommandRuntime(System.Management.Automation.PSCmdlet cmdlet, CancellationToken cancellationToken) + { + this.originalCommandRuntime = cmdlet.CommandRuntime as ICommandRuntime2; + this.originalThread = System.Threading.Thread.CurrentThread; + this.cancellationToken = cancellationToken; + this.cmdlet = cmdlet; + if (cmdlet.PagingParameters != null) + { + WriteDebug("Client side pagination is enabled for this cmdlet"); + } + cmdlet.CommandRuntime = this; + } + + public PSHost Host => this.originalCommandRuntime.Host; + + public PSTransactionContext CurrentPSTransaction => this.originalCommandRuntime.CurrentPSTransaction; + + private void CheckForInteractive() + { + // This is an interactive call -- if we are not on the original thread, this will only work if this was done at ACR creation time; + if (!AllowInteractive) + { + throw new System.Exception("AsyncCommandRuntime is not configured for interactive calls"); + } + } + private void WaitOurTurn() + { + // wait for our turn to play + semaphore?.Wait(cancellationToken); + + // ensure that completed is not set + completed.Reset(); + } + + private void WaitForCompletion() + { + // wait for the result (or cancellation!) + WaitHandle.WaitAny(new[] { cancellationToken.WaitHandle, completed?.WaitHandle }); + + // let go of the semaphore + semaphore?.Release(); + + } + + public bool ShouldContinue(string query, string caption, bool hasSecurityImpact, ref bool yesToAll, ref bool noToAll) + { + // if we are on the original thread, just call straight thru. + if (this.originalThread == System.Threading.Thread.CurrentThread) + { + return originalCommandRuntime.ShouldContinue(query, caption, hasSecurityImpact, ref yesToAll, ref noToAll); + } + + CheckForInteractive(); + + // otherwise, queue up the request and wait for the main thread to do the right thing. + try + { + // wait for our turn to talk to the main thread + WaitOurTurn(); + + bool yta = yesToAll; + bool nta = noToAll; + bool result = false; + + // set the function to run + runOnMainThread = () => result = originalCommandRuntime.ShouldContinue(query, caption, hasSecurityImpact, ref yta, ref nta); + + // tell the main thread to go ahead + readyToRun.Set(); + + // wait for the result (or cancellation!) + WaitForCompletion(); + + // set the output variables + yesToAll = yta; + noToAll = nta; + return result; + } + catch (System.OperationCanceledException exception) + { + // maybe don't even worry? + throw exception; + } + } + + public bool ShouldContinue(string query, string caption) + { + // if we are on the original thread, just call straight thru. + if (this.originalThread == System.Threading.Thread.CurrentThread) + { + return originalCommandRuntime.ShouldContinue(query, caption); + } + + CheckForInteractive(); + + // otherwise, queue up the request and wait for the main thread to do the right thing. + try + { + // wait for our turn to talk to the main thread + WaitOurTurn(); + + bool result = false; + + // set the function to run + runOnMainThread = () => result = originalCommandRuntime.ShouldContinue(query, caption); + + // tell the main thread to go ahead + readyToRun.Set(); + + // wait for the result (or cancellation!) + WaitForCompletion(); + + // set the output variables + return result; + } + catch (System.OperationCanceledException exception) + { + // maybe don't even worry? + throw exception; + } + } + + public bool ShouldContinue(string query, string caption, ref bool yesToAll, ref bool noToAll) + { + // if we are on the original thread, just call straight thru. + if (this.originalThread == System.Threading.Thread.CurrentThread) + { + return originalCommandRuntime.ShouldContinue(query, caption, ref yesToAll, ref noToAll); + } + + CheckForInteractive(); + + // otherwise, queue up the request and wait for the main thread to do the right thing. + try + { + // wait for our turn to talk to the main thread + WaitOurTurn(); + + bool yta = yesToAll; + bool nta = noToAll; + bool result = false; + + // set the function to run + runOnMainThread = () => result = originalCommandRuntime.ShouldContinue(query, caption, ref yta, ref nta); + + // tell the main thread to go ahead + readyToRun.Set(); + + // wait for the result (or cancellation!) + WaitForCompletion(); + + // set the output variables + yesToAll = yta; + noToAll = nta; + return result; + } + catch (System.OperationCanceledException exception) + { + // maybe don't even worry? + throw exception; + } + } + + public bool ShouldProcess(string target) + { + // if we are on the original thread, just call straight thru. + if (this.originalThread == System.Threading.Thread.CurrentThread) + { + return originalCommandRuntime.ShouldProcess(target); + } + + CheckForInteractive(); + + // otherwise, queue up the request and wait for the main thread to do the right thing. + try + { + // wait for our turn to talk to the main thread + WaitOurTurn(); + + bool result = false; + + // set the function to run + runOnMainThread = () => result = originalCommandRuntime.ShouldProcess(target); + + // tell the main thread to go ahead + readyToRun.Set(); + + // wait for the result (or cancellation!) + WaitForCompletion(); + + // set the output variables + return result; + } + catch (System.OperationCanceledException exception) + { + // maybe don't even worry? + throw exception; + } + } + + public bool ShouldProcess(string target, string action) + { + // if we are on the original thread, just call straight thru. + if (this.originalThread == System.Threading.Thread.CurrentThread) + { + return originalCommandRuntime.ShouldProcess(target, action); + } + + CheckForInteractive(); + + // otherwise, queue up the request and wait for the main thread to do the right thing. + try + { + // wait for our turn to talk to the main thread + WaitOurTurn(); + + bool result = false; + + // set the function to run + runOnMainThread = () => result = originalCommandRuntime.ShouldProcess(target, action); + + // tell the main thread to go ahead + readyToRun.Set(); + + // wait for the result (or cancellation!) + WaitForCompletion(); + + // set the output variables + return result; + } + catch (System.OperationCanceledException exception) + { + // maybe don't even worry? + throw exception; + } + } + + public bool ShouldProcess(string verboseDescription, string verboseWarning, string caption) + { + // if we are on the original thread, just call straight thru. + if (this.originalThread == System.Threading.Thread.CurrentThread) + { + return originalCommandRuntime.ShouldProcess(verboseDescription, verboseWarning, caption); + } + + CheckForInteractive(); + + // otherwise, queue up the request and wait for the main thread to do the right thing. + try + { + // wait for our turn to talk to the main thread + WaitOurTurn(); + + bool result = false; + + // set the function to run + runOnMainThread = () => result = originalCommandRuntime.ShouldProcess(verboseDescription, verboseWarning, caption); + + // tell the main thread to go ahead + readyToRun.Set(); + + // wait for the result (or cancellation!) + WaitForCompletion(); + + // set the output variables + return result; + } + catch (System.OperationCanceledException exception) + { + // maybe don't even worry? + throw exception; + } + } + + public bool ShouldProcess(string verboseDescription, string verboseWarning, string caption, out ShouldProcessReason shouldProcessReason) + { + // if we are on the original thread, just call straight thru. + if (this.originalThread == System.Threading.Thread.CurrentThread) + { + return originalCommandRuntime.ShouldProcess(verboseDescription, verboseWarning, caption, out shouldProcessReason); + } + + CheckForInteractive(); + + // otherwise, queue up the request and wait for the main thread to do the right thing. + try + { + // wait for our turn to talk to the main thread + WaitOurTurn(); + + bool result = false; + ShouldProcessReason reason = ShouldProcessReason.None; + + // set the function to run + runOnMainThread = () => result = originalCommandRuntime.ShouldProcess(verboseDescription, verboseWarning, caption, out reason); + + // tell the main thread to go ahead + readyToRun.Set(); + + // wait for the result (or cancellation!) + WaitForCompletion(); + + // set the output variables + shouldProcessReason = reason; + return result; + } + catch (System.OperationCanceledException exception) + { + // maybe don't even worry? + throw exception; + } + } + + public void ThrowTerminatingError(ErrorRecord errorRecord) + { + // if we are on the original thread, just call straight thru. + if (this.originalThread == System.Threading.Thread.CurrentThread) + { + originalCommandRuntime.ThrowTerminatingError(errorRecord); + return; + } + + // otherwise, queue up the request and wait for the main thread to do the right thing. + try + { + // wait for our turn to talk to the main thread + WaitOurTurn(); + + // set the function to run + runOnMainThread = () => originalCommandRuntime.ThrowTerminatingError(errorRecord); + + // tell the main thread to go ahead + readyToRun.Set(); + + // wait for the result (or cancellation!) + WaitForCompletion(); + + // return + return; + } + catch (System.OperationCanceledException exception) + { + // maybe don't even worry? + throw exception; + } + } + + public bool TransactionAvailable() + { + // if we are on the original thread, just call straight thru. + if (this.originalThread == System.Threading.Thread.CurrentThread) + { + return originalCommandRuntime.TransactionAvailable(); + } + + // otherwise, queue up the request and wait for the main thread to do the right thing. + try + { + // wait for our turn to talk to the main thread + WaitOurTurn(); + + bool result = false; + + // set the function to run + runOnMainThread = () => result = originalCommandRuntime.TransactionAvailable(); + + // tell the main thread to go ahead + readyToRun.Set(); + + // wait for the result (or cancellation!) + WaitForCompletion(); + + // set the output variables + return result; + } + catch (System.OperationCanceledException exception) + { + // maybe don't even worry? + throw exception; + } + } + + public void WriteCommandDetail(string text) + { + // if we are on the original thread, just call straight thru. + if (this.originalThread == System.Threading.Thread.CurrentThread) + { + originalCommandRuntime.WriteCommandDetail(text); + return; + } + + // otherwise, queue up the request and wait for the main thread to do the right thing. + try + { + // wait for our turn to talk to the main thread + WaitOurTurn(); + + // set the function to run + runOnMainThread = () => originalCommandRuntime.WriteCommandDetail(text); + + // tell the main thread to go ahead + readyToRun.Set(); + + // wait for the result (or cancellation!) + WaitForCompletion(); + + // return + return; + } + catch (System.OperationCanceledException exception) + { + // maybe don't even worry? + throw exception; + } + } + + public void WriteDebug(string text) + { + // if we are on the original thread, just call straight thru. + if (this.originalThread == System.Threading.Thread.CurrentThread) + { + originalCommandRuntime.WriteDebug(text); + return; + } + + // otherwise, queue up the request and wait for the main thread to do the right thing. + try + { + // wait for our turn to talk to the main thread + WaitOurTurn(); + + // set the function to run + runOnMainThread = () => originalCommandRuntime.WriteDebug(text); + + // tell the main thread to go ahead + readyToRun.Set(); + + // wait for the result (or cancellation!) + WaitForCompletion(); + + // return + return; + } + catch (System.OperationCanceledException exception) + { + // maybe don't even worry? + throw exception; + } + } + + public void WriteError(ErrorRecord errorRecord) + { + // if we are on the original thread, just call straight thru. + if (this.originalThread == System.Threading.Thread.CurrentThread) + { + originalCommandRuntime.WriteError(errorRecord); + return; + } + + // otherwise, queue up the request and wait for the main thread to do the right thing. + try + { + // wait for our turn to talk to the main thread + WaitOurTurn(); + + // set the function to run + runOnMainThread = () => originalCommandRuntime.WriteError(errorRecord); + + // tell the main thread to go ahead + readyToRun.Set(); + + // wait for the result (or cancellation!) + WaitForCompletion(); + + // return + return; + } + catch (System.OperationCanceledException exception) + { + // maybe don't even worry? + throw exception; + } + } + + public void WriteInformation(InformationRecord informationRecord) + { + // if we are on the original thread, just call straight thru. + if (this.originalThread == System.Threading.Thread.CurrentThread) + { + originalCommandRuntime.WriteInformation(informationRecord); + return; + } + + // otherwise, queue up the request and wait for the main thread to do the right thing. + try + { + // wait for our turn to talk to the main thread + WaitOurTurn(); + + // set the function to run + runOnMainThread = () => originalCommandRuntime.WriteInformation(informationRecord); + + // tell the main thread to go ahead + readyToRun.Set(); + + // wait for the result (or cancellation!) + WaitForCompletion(); + + // return + return; + } + catch (System.OperationCanceledException exception) + { + // maybe don't even worry? + throw exception; + } + } + + public void WriteObject(object sendToPipeline) + { + // if we are on the original thread, just call straight thru. + if (this.originalThread == System.Threading.Thread.CurrentThread) + { + originalCommandRuntime.WriteObject(sendToPipeline); + return; + } + + // otherwise, queue up the request and wait for the main thread to do the right thing. + try + { + // wait for our turn to talk to the main thread + WaitOurTurn(); + + // set the function to run + runOnMainThread = () => originalCommandRuntime.WriteObject(sendToPipeline); + + // tell the main thread to go ahead + readyToRun.Set(); + + // wait for the result (or cancellation!) + WaitForCompletion(); + + // return + return; + } + catch (System.OperationCanceledException exception) + { + // maybe don't even worry? + throw exception; + } + } + + public void WriteObject(object sendToPipeline, bool enumerateCollection) + { + // if we are on the original thread, just call straight thru. + if (this.originalThread == System.Threading.Thread.CurrentThread) + { + originalCommandRuntime.WriteObject(sendToPipeline, enumerateCollection); + return; + } + + // otherwise, queue up the request and wait for the main thread to do the right thing. + try + { + // wait for our turn to talk to the main thread + WaitOurTurn(); + + // set the function to run + runOnMainThread = () => originalCommandRuntime.WriteObject(sendToPipeline, enumerateCollection); + + // tell the main thread to go ahead + readyToRun.Set(); + + // wait for the result (or cancellation!) + WaitForCompletion(); + + // return + return; + } + catch (System.OperationCanceledException exception) + { + // maybe don't even worry? + throw exception; + } + } + + public void WriteProgress(ProgressRecord progressRecord) + { + // if we are on the original thread, just call straight thru. + if (this.originalThread == System.Threading.Thread.CurrentThread) + { + originalCommandRuntime.WriteProgress(progressRecord); + return; + } + + // otherwise, queue up the request and wait for the main thread to do the right thing. + try + { + // wait for our turn to talk to the main thread + WaitOurTurn(); + + // set the function to run + runOnMainThread = () => originalCommandRuntime.WriteProgress(progressRecord); + + // tell the main thread to go ahead + readyToRun.Set(); + + // wait for the result (or cancellation!) + WaitForCompletion(); + + // return + return; + } + catch (System.OperationCanceledException exception) + { + // maybe don't even worry? + throw exception; + } + } + + public void WriteProgress(long sourceId, ProgressRecord progressRecord) + { + // if we are on the original thread, just call straight thru. + if (this.originalThread == System.Threading.Thread.CurrentThread) + { + originalCommandRuntime.WriteProgress(sourceId, progressRecord); + return; + } + + // otherwise, queue up the request and wait for the main thread to do the right thing. + try + { + // wait for our turn to talk to the main thread + WaitOurTurn(); + + // set the function to run + runOnMainThread = () => originalCommandRuntime.WriteProgress(sourceId, progressRecord); + + // tell the main thread to go ahead + readyToRun.Set(); + + // wait for the result (or cancellation!) + WaitForCompletion(); + + // return + return; + } + catch (System.OperationCanceledException exception) + { + // maybe don't even worry? + throw exception; + } + } + + public void WriteVerbose(string text) + { + // if we are on the original thread, just call straight thru. + if (this.originalThread == System.Threading.Thread.CurrentThread) + { + originalCommandRuntime.WriteVerbose(text); + return; + } + + // otherwise, queue up the request and wait for the main thread to do the right thing. + try + { + // wait for our turn to talk to the main thread + WaitOurTurn(); + + // set the function to run + runOnMainThread = () => originalCommandRuntime.WriteVerbose(text); + + // tell the main thread to go ahead + readyToRun.Set(); + + // wait for the result (or cancellation!) + WaitForCompletion(); + + // return + return; + } + catch (System.OperationCanceledException exception) + { + // maybe don't even worry? + throw exception; + } + } + + public void WriteWarning(string text) + { + // if we are on the original thread, just call straight thru. + if (this.originalThread == System.Threading.Thread.CurrentThread) + { + originalCommandRuntime.WriteWarning(text); + return; + } + + // otherwise, queue up the request and wait for the main thread to do the right thing. + try + { + // wait for our turn to talk to the main thread + WaitOurTurn(); + + // set the function to run + runOnMainThread = () => originalCommandRuntime.WriteWarning(text); + + // tell the main thread to go ahead + readyToRun.Set(); + + // wait for the result (or cancellation!) + WaitForCompletion(); + + // return + return; + } + catch (System.OperationCanceledException exception) + { + // maybe don't even worry? + throw exception; + } + } + + public void Wait(System.Threading.Tasks.Task ProcessRecordAsyncTask, System.Threading.CancellationToken cancellationToken) + { + do + { + WaitHandle.WaitAny(new[] { readyToRun.WaitHandle, ((System.IAsyncResult)ProcessRecordAsyncTask).AsyncWaitHandle }); + if (readyToRun.IsSet) + { + // reset the request for the next time + readyToRun.Reset(); + + // run the delegate on this thread + runOnMainThread(); + + // tell the originator everything is complete + completed.Set(); + } + } + while (!ProcessRecordAsyncTask.IsCompleted); + if (ProcessRecordAsyncTask.IsFaulted) + { + // don't unwrap a Aggregate Exception -- we'll lose the stack trace of the actual exception. + // if( ProcessRecordAsyncTask.Exception is System.AggregateException aggregate ) { + // throw aggregate.InnerException; + // } + throw ProcessRecordAsyncTask.Exception; + } + } + public Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep Wrap(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep func) => func.Target.GetType().Name != "Closure" ? func : (p1, p2, p3) => ExecuteSync>(() => func(p1, p2, p3)); + public System.Collections.Generic.IEnumerable Wrap(System.Collections.Generic.IEnumerable funcs) => funcs?.Select(Wrap); + + public T ExecuteSync(System.Func step) + { + // if we are on the original thread, just call straight thru. + if (this.originalThread == System.Threading.Thread.CurrentThread) + { + return step(); + } + + T result = default(T); + try + { + // wait for our turn to talk to the main thread + WaitOurTurn(); + // set the function to run + runOnMainThread = () => { result = step(); }; + // tell the main thread to go ahead + readyToRun.Set(); + // wait for the result (or cancellation!) + WaitForCompletion(); + // return + return result; + } + catch (System.OperationCanceledException exception) + { + // maybe don't even worry? + throw exception; + } + } + + public void Dispose() + { + if (cmdlet != null) + { + cmdlet.CommandRuntime = this.originalCommandRuntime; + cmdlet = null; + } + + semaphore?.Dispose(); + semaphore = null; + readyToRun?.Dispose(); + readyToRun = null; + completed?.Dispose(); + completed = null; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/AsyncJob.cs b/swaggerci/billing/generated/runtime/AsyncJob.cs new file mode 100644 index 000000000000..8bc8c3ac3912 --- /dev/null +++ b/swaggerci/billing/generated/runtime/AsyncJob.cs @@ -0,0 +1,270 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell +{ + using System.Management.Automation; + using System.Management.Automation.Host; + using System.Threading; + + using System.Threading.Tasks; + + public class LongRunningJobCancelledException : System.Exception + { + public LongRunningJobCancelledException(string message) : base(message) + { + + } + } + + public class AsyncJob : Job, System.Management.Automation.ICommandRuntime2 + { + const int MaxRecords = 1000; + + private string _statusMessage = string.Empty; + + public override string StatusMessage => _statusMessage; + + public override bool HasMoreData => Output.Count > 0 || Progress.Count > 0 || Error.Count > 0 || Warning.Count > 0 || Verbose.Count > 0 || Debug.Count > 0; + + public override string Location => "localhost"; + + public PSHost Host => originalCommandRuntime.Host; + + public PSTransactionContext CurrentPSTransaction => originalCommandRuntime.CurrentPSTransaction; + + public override void StopJob() + { + Cancel(); + } + + private readonly PSCmdlet cmdlet; + private readonly ICommandRuntime2 originalCommandRuntime; + private readonly System.Threading.Thread originalThread; + + private void CheckForInteractive() + { + // This is an interactive call -- We should never allow interactivity in AsnycJob cmdlets. + throw new System.Exception("Cmdlets in AsyncJob; interactive calls are not permitted."); + } + private bool IsJobDone => CancellationToken.IsCancellationRequested || this.JobStateInfo.State == JobState.Failed || this.JobStateInfo.State == JobState.Stopped || this.JobStateInfo.State == JobState.Stopping || this.JobStateInfo.State == JobState.Completed; + + private readonly System.Action Cancel; + private readonly CancellationToken CancellationToken; + + internal AsyncJob(PSCmdlet cmdlet, string line, string name, CancellationToken cancellationToken, System.Action cancelMethod) : base(line, name) + { + SetJobState(JobState.NotStarted); + // know how to cancel/check for cancelation + this.CancellationToken = cancellationToken; + this.Cancel = cancelMethod; + + // we might need these. + this.originalCommandRuntime = cmdlet.CommandRuntime as ICommandRuntime2; + this.originalThread = System.Threading.Thread.CurrentThread; + + // the instance of the cmdlet we're going to run + this.cmdlet = cmdlet; + + // set the command runtime to the AsyncJob + cmdlet.CommandRuntime = this; + } + + /// + /// Monitors the task (which should be ProcessRecordAsync) to control + /// the lifetime of the job itself + /// + /// + public void Monitor(Task task) + { + SetJobState(JobState.Running); + task.ContinueWith(antecedent => + { + if (antecedent.IsCanceled) + { + // if the task was canceled, we're just going to call it completed. + SetJobState(JobState.Completed); + } + else if (antecedent.IsFaulted) + { + foreach (var innerException in antecedent.Exception.Flatten().InnerExceptions) + { + WriteError(new System.Management.Automation.ErrorRecord(innerException, string.Empty, System.Management.Automation.ErrorCategory.NotSpecified, null)); + } + + // a fault indicates an actual failure + SetJobState(JobState.Failed); + } + else + { + // otherwiser it's a completed state. + SetJobState(JobState.Completed); + } + }, CancellationToken); + } + + private void CheckForCancellation() + { + if (IsJobDone) + { + throw new LongRunningJobCancelledException("Long running job is canceled or stopping, continuation of the cmdlet is not permitted."); + } + } + + public void WriteInformation(InformationRecord informationRecord) + { + CheckForCancellation(); + + this.Information.Add(informationRecord); + } + + public bool ShouldContinue(string query, string caption, bool hasSecurityImpact, ref bool yesToAll, ref bool noToAll) + { + CheckForInteractive(); + return false; + } + + public void WriteDebug(string text) + { + _statusMessage = text; + CheckForCancellation(); + + if (Debug.IsOpen && Debug.Count < MaxRecords) + { + Debug.Add(new DebugRecord(text)); + } + } + + public void WriteError(ErrorRecord errorRecord) + { + if (Error.IsOpen) + { + Error.Add(errorRecord); + } + } + + public void WriteObject(object sendToPipeline) + { + CheckForCancellation(); + + if (Output.IsOpen) + { + Output.Add(new PSObject(sendToPipeline)); + } + } + + public void WriteObject(object sendToPipeline, bool enumerateCollection) + { + CheckForCancellation(); + + if (enumerateCollection && sendToPipeline is System.Collections.IEnumerable enumerable) + { + foreach (var item in enumerable) + { + WriteObject(item); + } + } + else + { + WriteObject(sendToPipeline); + } + } + + public void WriteProgress(ProgressRecord progressRecord) + { + CheckForCancellation(); + + if (Progress.IsOpen && Progress.Count < MaxRecords) + { + Progress.Add(progressRecord); + } + } + + public void WriteProgress(long sourceId, ProgressRecord progressRecord) + { + CheckForCancellation(); + + if (Progress.IsOpen && Progress.Count < MaxRecords) + { + Progress.Add(progressRecord); + } + } + + public void WriteVerbose(string text) + { + CheckForCancellation(); + + if (Verbose.IsOpen && Verbose.Count < MaxRecords) + { + Verbose.Add(new VerboseRecord(text)); + } + } + + public void WriteWarning(string text) + { + CheckForCancellation(); + + if (Warning.IsOpen && Warning.Count < MaxRecords) + { + Warning.Add(new WarningRecord(text)); + } + } + + public void WriteCommandDetail(string text) + { + WriteVerbose(text); + } + + public bool ShouldProcess(string target) + { + CheckForInteractive(); + return false; + } + + public bool ShouldProcess(string target, string action) + { + CheckForInteractive(); + return false; + } + + public bool ShouldProcess(string verboseDescription, string verboseWarning, string caption) + { + CheckForInteractive(); + return false; + } + + public bool ShouldProcess(string verboseDescription, string verboseWarning, string caption, out ShouldProcessReason shouldProcessReason) + { + CheckForInteractive(); + shouldProcessReason = ShouldProcessReason.None; + return false; + } + + public bool ShouldContinue(string query, string caption) + { + CheckForInteractive(); + return false; + } + + public bool ShouldContinue(string query, string caption, ref bool yesToAll, ref bool noToAll) + { + CheckForInteractive(); + return false; + } + + public bool TransactionAvailable() + { + // interactivity required? + return false; + } + + public void ThrowTerminatingError(ErrorRecord errorRecord) + { + if (Error.IsOpen) + { + Error.Add(errorRecord); + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/AsyncOperationResponse.cs b/swaggerci/billing/generated/runtime/AsyncOperationResponse.cs new file mode 100644 index 000000000000..abf8aa5c9c64 --- /dev/null +++ b/swaggerci/billing/generated/runtime/AsyncOperationResponse.cs @@ -0,0 +1,176 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell +{ + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + [System.ComponentModel.TypeConverter(typeof(AsyncOperationResponseTypeConverter))] + public class AsyncOperationResponse + { + private string _target; + public string Target { get => _target; set => _target = value; } + public AsyncOperationResponse() + { + } + internal AsyncOperationResponse(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json) + { + // pull target + { Target = If(json?.PropertyT("target"), out var _v) ? (string)_v : (string)Target; } + } + public string ToJsonString() + { + return $"{{ \"target\" : \"{this.Target}\" }}"; + } + + public static AsyncOperationResponse FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode node) + { + return node is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject json ? new AsyncOperationResponse(json) : null; + } + + + /// + /// Creates a new instance of , deserializing the content from a json string. + /// + /// a string containing a JSON serialized instance of this model. + /// an instance of the model class. + public static AsyncOperationResponse FromJsonString(string jsonText) => FromJson(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(jsonText)); + + } + + public partial class AsyncOperationResponseTypeConverter : System.Management.Automation.PSTypeConverter + { + + /// + /// Determines if the converter can convert the parameter to the + /// parameter. + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the + /// parameter, otherwise false. + /// + public override bool CanConvertFrom(object sourceValue, global::System.Type destinationType) => CanConvertFrom(sourceValue); + + /// + /// Determines if the converter can convert the parameter to a type + /// parameter. + /// + /// the instance to check if it can be converted to the type. + /// + /// true if the instance could be converted to a type, otherwise false + /// + public static bool CanConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return true; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + // we say yest to PSObjects + return true; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + // we say yest to Hashtables/dictionaries + return true; + } + try + { + if (null != sourceValue.ToJsonString()) + { + return true; + } + } + catch + { + // Not one of our objects + } + try + { + string text = sourceValue.ToString()?.Trim(); + return true == text?.StartsWith("{") && true == text?.EndsWith("}") && Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(text).Type == Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonType.Object; + } + catch + { + // Doesn't look like it can be treated as JSON + } + return false; + } + + /// + /// Determines if the parameter can be converted to the parameter + /// + /// the to convert from + /// the to convert to + /// + /// true if the converter can convert the parameter to the + /// parameter, otherwise false + /// + public override bool CanConvertTo(object sourceValue, global::System.Type destinationType) => false; + + /// + /// Converts the parameter to the parameter using and + /// + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// + /// an instance of , or null if there is no suitable conversion. + /// + public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Converts the parameter into an instance of + /// + /// the value to convert into an instance of . + /// + /// an instance of , or null if there is no suitable conversion. + /// + public static object ConvertFrom(dynamic sourceValue) + { + if (null == sourceValue) + { + return null; + } + global::System.Type type = sourceValue.GetType(); + if (typeof(AsyncOperationResponse).IsAssignableFrom(type)) + { + return sourceValue; + } + try + { + return AsyncOperationResponse.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString()); ; + } + catch + { + // Unable to use JSON pattern + } + + if (typeof(System.Management.Automation.PSObject).IsAssignableFrom(type)) + { + return new AsyncOperationResponse { Target = (sourceValue as System.Management.Automation.PSObject).GetValueForProperty("target", "", global::System.Convert.ToString) }; + } + if (typeof(global::System.Collections.IDictionary).IsAssignableFrom(type)) + { + return new AsyncOperationResponse { Target = (sourceValue as global::System.Collections.IDictionary).GetValueForProperty("target", "", global::System.Convert.ToString) }; + } + return null; + } + + /// NotImplemented -- this will return null + /// the to convert from + /// the to convert to + /// not used by this TypeConverter. + /// when set to true, will ignore the case when converting. + /// will always return null. + public override object ConvertTo(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/BuildTime/Cmdlets/ExportCmdletSurface.cs b/swaggerci/billing/generated/runtime/BuildTime/Cmdlets/ExportCmdletSurface.cs new file mode 100644 index 000000000000..37e4408748e3 --- /dev/null +++ b/swaggerci/billing/generated/runtime/BuildTime/Cmdlets/ExportCmdletSurface.cs @@ -0,0 +1,113 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Management.Automation; +using System.Text; +using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.PsHelpers; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell +{ + [Cmdlet(VerbsData.Export, "CmdletSurface")] + [DoNotExport] + public class ExportCmdletSurface : PSCmdlet + { + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string ModuleName { get; set; } + + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string CmdletFolder { get; set; } + + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string OutputFolder { get; set; } + + [Parameter] + public bool IncludeGeneralParameters { get; set; } + + [Parameter] + public bool UseExpandedFormat { get; set; } + + protected override void ProcessRecord() + { + try + { + var variants = GetScriptCmdlets(this, CmdletFolder) + .SelectMany(fi => fi.ToVariants()) + .Where(v => !v.IsDoNotExport) + .ToArray(); + var allProfiles = variants.SelectMany(v => v.Profiles).Distinct().ToArray(); + var profileGroups = allProfiles.Any() + ? variants + .SelectMany(v => (v.Profiles.Any() ? v.Profiles : allProfiles).Select(p => (profile: p, variant: v))) + .GroupBy(pv => pv.profile) + .Select(pvg => new ProfileGroup(pvg.Select(pv => pv.variant).ToArray(), pvg.Key)) + : new[] { new ProfileGroup(variants) }; + foreach (var profileGroup in profileGroups) + { + var variantGroups = profileGroup.Variants + .GroupBy(v => new { v.CmdletName }) + .Select(vg => new VariantGroup(ModuleName, vg.Key.CmdletName, vg.Select(v => v).ToArray(), String.Empty, profileGroup.ProfileName)); + var sb = UseExpandedFormat ? ExpandedFormat(variantGroups) : CondensedFormat(variantGroups); + Directory.CreateDirectory(OutputFolder); + File.WriteAllText(Path.Combine(OutputFolder, $"CmdletSurface-{profileGroup.ProfileName}.md"), sb.ToString()); + } + } + catch (Exception ee) + { + Console.WriteLine($"${ee.GetType().Name}/{ee.StackTrace}"); + throw ee; + } + } + + private StringBuilder ExpandedFormat(IEnumerable variantGroups) + { + var sb = new StringBuilder(); + foreach (var variantGroup in variantGroups.OrderBy(vg => vg.CmdletName)) + { + sb.Append($"### {variantGroup.CmdletName}{Environment.NewLine}"); + var parameterGroups = variantGroup.ParameterGroups + .Where(pg => !pg.DontShow && (IncludeGeneralParameters || (pg.OrderCategory != ParameterCategory.Azure && pg.OrderCategory != ParameterCategory.Runtime))); + foreach (var parameterGroup in parameterGroups) + { + sb.Append($" - {parameterGroup.ParameterName} `{parameterGroup.ParameterType.ToSyntaxTypeName()}`{Environment.NewLine}"); + } + sb.AppendLine(); + } + + return sb; + } + + private StringBuilder CondensedFormat(IEnumerable variantGroups) + { + var sb = new StringBuilder(); + var condensedGroups = variantGroups + .GroupBy(vg => vg.CmdletNoun) + .Select(vgg => ( + CmdletNoun: vgg.Key, + CmdletVerbs: vgg.Select(vg => vg.CmdletVerb).OrderBy(cv => cv).ToArray(), + ParameterGroups: vgg.SelectMany(vg => vg.ParameterGroups).DistinctBy(p => p.ParameterName).ToArray(), + OutputTypes: vgg.SelectMany(vg => vg.OutputTypes).Select(ot => ot.Type).DistinctBy(t => t.Name).Select(t => t.ToSyntaxTypeName()).ToArray())) + .OrderBy(vg => vg.CmdletNoun); + foreach (var condensedGroup in condensedGroups) + { + sb.Append($"### {condensedGroup.CmdletNoun} [{String.Join(", ", condensedGroup.CmdletVerbs)}] `{String.Join(", ", condensedGroup.OutputTypes)}`{Environment.NewLine}"); + var parameterGroups = condensedGroup.ParameterGroups + .Where(pg => !pg.DontShow && (IncludeGeneralParameters || (pg.OrderCategory != ParameterCategory.Azure && pg.OrderCategory != ParameterCategory.Runtime))); + foreach (var parameterGroup in parameterGroups) + { + sb.Append($" - {parameterGroup.ParameterName} `{parameterGroup.ParameterType.ToSyntaxTypeName()}`{Environment.NewLine}"); + } + sb.AppendLine(); + } + + return sb; + } + } +} diff --git a/swaggerci/billing/generated/runtime/BuildTime/Cmdlets/ExportExampleStub.cs b/swaggerci/billing/generated/runtime/BuildTime/Cmdlets/ExportExampleStub.cs new file mode 100644 index 000000000000..8b20c3636357 --- /dev/null +++ b/swaggerci/billing/generated/runtime/BuildTime/Cmdlets/ExportExampleStub.cs @@ -0,0 +1,74 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.IO; +using System.Linq; +using System.Management.Automation; +using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.MarkdownTypesExtensions; +using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.PsHelpers; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell +{ + [Cmdlet(VerbsData.Export, "ExampleStub")] + [DoNotExport] + public class ExportExampleStub : PSCmdlet + { + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string ExportsFolder { get; set; } + + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string OutputFolder { get; set; } + + protected override void ProcessRecord() + { + try + { + if (!Directory.Exists(ExportsFolder)) + { + throw new ArgumentException($"Exports folder '{ExportsFolder}' does not exist"); + } + + var exportDirectories = Directory.GetDirectories(ExportsFolder); + if (!exportDirectories.Any()) + { + exportDirectories = new[] { ExportsFolder }; + } + + var exampleText = String.Join(String.Empty, DefaultExampleHelpInfos.Select(ehi => ehi.ToHelpExampleOutput())); + foreach (var exportDirectory in exportDirectories) + { + var outputFolder = OutputFolder; + if (exportDirectory != ExportsFolder) + { + outputFolder = Path.Combine(OutputFolder, Path.GetFileName(exportDirectory)); + Directory.CreateDirectory(outputFolder); + } + + var cmdletFilePaths = GetScriptCmdlets(exportDirectory).Select(fi => Path.Combine(outputFolder, $"{fi.Name}.md")).ToArray(); + var currentExamplesFilePaths = Directory.GetFiles(outputFolder).ToArray(); + // Remove examples of non-existing cmdlets + var removedCmdletFilePaths = currentExamplesFilePaths.Except(cmdletFilePaths); + foreach (var removedCmdletFilePath in removedCmdletFilePaths) + { + File.Delete(removedCmdletFilePath); + } + + // Only create example stubs if they don't exist + foreach (var cmdletFilePath in cmdletFilePaths.Except(currentExamplesFilePaths)) + { + File.WriteAllText(cmdletFilePath, exampleText); + } + } + } + catch (Exception ee) + { + Console.WriteLine($"${ee.GetType().Name}/{ee.StackTrace}"); + throw ee; + } + } + } +} diff --git a/swaggerci/billing/generated/runtime/BuildTime/Cmdlets/ExportFormatPs1xml.cs b/swaggerci/billing/generated/runtime/BuildTime/Cmdlets/ExportFormatPs1xml.cs new file mode 100644 index 000000000000..56bff8183a4f --- /dev/null +++ b/swaggerci/billing/generated/runtime/BuildTime/Cmdlets/ExportFormatPs1xml.cs @@ -0,0 +1,101 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Management.Automation; +using System.Reflection; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell +{ + [Cmdlet(VerbsData.Export, "FormatPs1xml")] + [DoNotExport] + public class ExportFormatPs1xml : PSCmdlet + { + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string FilePath { get; set; } + + private const string ModelNamespace = @"Microsoft.Azure.PowerShell.Cmdlets.Billing.Models"; + private const string SupportNamespace = @"Microsoft.Azure.PowerShell.Cmdlets.Billing.Support"; + private const string PropertiesExcludedForTableview = @""; + + private static readonly bool IsAzure = Convert.ToBoolean(@"true"); + + protected override void ProcessRecord() + { + try + { + var viewModels = GetFilteredViewParameters().Select(CreateViewModel).ToList(); + var ps1xml = new Configuration + { + ViewDefinitions = new ViewDefinitions + { + Views = viewModels + } + }; + File.WriteAllText(FilePath, ps1xml.ToXmlString()); + } + catch (Exception ee) + { + Console.WriteLine($"${ee.GetType().Name}/{ee.StackTrace}"); + throw ee; + } + } + + private static IEnumerable GetFilteredViewParameters() + { + //https://stackoverflow.com/a/79738/294804 + //https://stackoverflow.com/a/949285/294804 + var types = Assembly.GetExecutingAssembly().GetExportedTypes() + .Where(t => t.IsClass + && (t.Namespace.StartsWith(ModelNamespace) || t.Namespace.StartsWith(SupportNamespace)) + && !t.GetCustomAttributes().Any()); + return types.Select(t => new ViewParameters(t, t.GetProperties() + .Select(p => new PropertyFormat(p)) + .Where(pf => !pf.Property.GetCustomAttributes().Any() + && (!PropertiesExcludedForTableview.Split(',').Contains(pf.Property.Name)) + && (pf.FormatTable != null || (pf.Origin != PropertyOrigin.Inlined && pf.Property.PropertyType.IsPsSimple()))) + .OrderByDescending(pf => pf.Index.HasValue) + .ThenBy(pf => pf.Index) + .ThenByDescending(pf => pf.Origin.HasValue) + .ThenBy(pf => pf.Origin))).Where(vp => vp.Properties.Any()); + } + + private static View CreateViewModel(ViewParameters viewParameters) + { + var entries = viewParameters.Properties.Select(pf => + (TableColumnHeader: new TableColumnHeader { Label = pf.Label, Width = pf.Width }, + TableColumnItem: new TableColumnItem { PropertyName = pf.Property.Name })).ToArray(); + + return new View + { + Name = viewParameters.Type.FullName, + ViewSelectedBy = new ViewSelectedBy + { + TypeName = viewParameters.Type.FullName + }, + TableControl = new TableControl + { + TableHeaders = new TableHeaders + { + TableColumnHeaders = entries.Select(e => e.TableColumnHeader).ToList() + }, + TableRowEntries = new TableRowEntries + { + TableRowEntry = new TableRowEntry + { + TableColumnItems = new TableColumnItems + { + TableItems = entries.Select(e => e.TableColumnItem).ToList() + } + } + } + } + }; + } + } +} diff --git a/swaggerci/billing/generated/runtime/BuildTime/Cmdlets/ExportHelpMarkdown.cs b/swaggerci/billing/generated/runtime/BuildTime/Cmdlets/ExportHelpMarkdown.cs new file mode 100644 index 000000000000..6ac01c488ea2 --- /dev/null +++ b/swaggerci/billing/generated/runtime/BuildTime/Cmdlets/ExportHelpMarkdown.cs @@ -0,0 +1,53 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Linq; +using System.Management.Automation; +using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.MarkdownRenderer; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell +{ + [Cmdlet(VerbsData.Export, "HelpMarkdown")] + [DoNotExport] + public class ExportHelpMarkdown : PSCmdlet + { + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public PSModuleInfo ModuleInfo { get; set; } + + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public PSObject[] FunctionInfo { get; set; } + + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public PSObject[] HelpInfo { get; set; } + + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string DocsFolder { get; set; } + + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string ExamplesFolder { get; set; } + + protected override void ProcessRecord() + { + try + { + var helpInfos = HelpInfo.Select(hi => hi.ToPsHelpInfo()); + var variantGroups = FunctionInfo.Select(fi => fi.BaseObject).Cast() + .Join(helpInfos, fi => fi.Name, phi => phi.CmdletName, (fi, phi) => fi.ToVariants(phi)) + .Select(va => new VariantGroup(ModuleInfo.Name, va.First().CmdletName, va, String.Empty)); + WriteMarkdowns(variantGroups, ModuleInfo.ToModuleInfo(), DocsFolder, ExamplesFolder); + } + catch (Exception ee) + { + Console.WriteLine($"${ee.GetType().Name}/{ee.StackTrace}"); + throw ee; + } + } + } +} diff --git a/swaggerci/billing/generated/runtime/BuildTime/Cmdlets/ExportModelSurface.cs b/swaggerci/billing/generated/runtime/BuildTime/Cmdlets/ExportModelSurface.cs new file mode 100644 index 000000000000..79e254259bc5 --- /dev/null +++ b/swaggerci/billing/generated/runtime/BuildTime/Cmdlets/ExportModelSurface.cs @@ -0,0 +1,117 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Management.Automation; +using System.Reflection; +using System.Text; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell +{ + [Cmdlet(VerbsData.Export, "ModelSurface")] + [DoNotExport] + public class ExportModelSurface : PSCmdlet + { + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string OutputFolder { get; set; } + + [Parameter] + public bool UseExpandedFormat { get; set; } + + private const string ModelNamespace = @"Microsoft.Azure.PowerShell.Cmdlets.Billing.Models"; + private const string SupportNamespace = @"Microsoft.Azure.PowerShell.Cmdlets.Billing.Support"; + + protected override void ProcessRecord() + { + try + { + var types = Assembly.GetExecutingAssembly().GetExportedTypes() + .Where(t => t.IsClass && (t.Namespace.StartsWith(ModelNamespace) || t.Namespace.StartsWith(SupportNamespace))); + var typeInfos = types.Select(t => new ModelTypeInfo + { + Type = t, + TypeName = t.Name, + Properties = t.GetProperties(BindingFlags.Public | BindingFlags.Instance).Where(p => !p.GetIndexParameters().Any()).OrderBy(p => p.Name).ToArray(), + NamespaceGroup = t.Namespace.Split('.').LastOrDefault().EmptyIfNull() + }).Where(mti => mti.Properties.Any()); + var sb = UseExpandedFormat ? ExpandedFormat(typeInfos) : CondensedFormat(typeInfos); + Directory.CreateDirectory(OutputFolder); + File.WriteAllText(Path.Combine(OutputFolder, "ModelSurface.md"), sb.ToString()); + } + catch (Exception ee) + { + Console.WriteLine($"${ee.GetType().Name}/{ee.StackTrace}"); + throw ee; + } + } + + private static StringBuilder ExpandedFormat(IEnumerable typeInfos) + { + var sb = new StringBuilder(); + foreach (var typeInfo in typeInfos.OrderBy(mti => mti.TypeName).ThenBy(mti => mti.NamespaceGroup)) + { + sb.Append($"### {typeInfo.TypeName} [{typeInfo.NamespaceGroup}]{Environment.NewLine}"); + foreach (var property in typeInfo.Properties) + { + sb.Append($" - {property.Name} `{property.PropertyType.ToSyntaxTypeName()}`{Environment.NewLine}"); + } + sb.AppendLine(); + } + + return sb; + } + + private static StringBuilder CondensedFormat(IEnumerable typeInfos) + { + var sb = new StringBuilder(); + var typeGroups = typeInfos + .GroupBy(mti => mti.TypeName) + .Select(tig => ( + Types: tig.Select(mti => mti.Type).ToArray(), + TypeName: tig.Key, + Properties: tig.SelectMany(mti => mti.Properties).DistinctBy(p => p.Name).OrderBy(p => p.Name).ToArray(), + NamespaceGroups: tig.Select(mti => mti.NamespaceGroup).OrderBy(ng => ng).ToArray() + )) + .OrderBy(tg => tg.TypeName); + foreach (var typeGroup in typeGroups) + { + var aType = typeGroup.Types.Select(GetAssociativeType).FirstOrDefault(t => t != null); + var aText = aType != null ? $@" \<{aType.ToSyntaxTypeName()}\>" : String.Empty; + sb.Append($"### {typeGroup.TypeName}{aText} [{String.Join(", ", typeGroup.NamespaceGroups)}]{Environment.NewLine}"); + foreach (var property in typeGroup.Properties) + { + var propertyAType = GetAssociativeType(property.PropertyType); + var propertyAText = propertyAType != null ? $" <{propertyAType.ToSyntaxTypeName()}>" : String.Empty; + var enumNames = GetEnumFieldNames(property.PropertyType.Unwrap()); + var enumNamesText = enumNames.Any() ? $" **{{{String.Join(", ", enumNames)}}}**" : String.Empty; + sb.Append($" - {property.Name} `{property.PropertyType.ToSyntaxTypeName()}{propertyAText}`{enumNamesText}{Environment.NewLine}"); + } + sb.AppendLine(); + } + + return sb; + } + + //https://stackoverflow.com/a/4963190/294804 + private static Type GetAssociativeType(Type type) => + type.GetInterfaces().FirstOrDefault(i => i.IsGenericType && i.GetGenericTypeDefinition() == typeof(IAssociativeArray<>))?.GetGenericArguments().First(); + + private static string[] GetEnumFieldNames(Type type) => + type.IsValueType && !type.IsPrimitive && type != typeof(decimal) && type != typeof(DateTime) + ? type.GetFields(BindingFlags.Public | BindingFlags.Static).Where(f => f.FieldType == type).Select(p => p.Name).ToArray() + : new string[] { }; + + private class ModelTypeInfo + { + public Type Type { get; set; } + public string TypeName { get; set; } + public PropertyInfo[] Properties { get; set; } + public string NamespaceGroup { get; set; } + } + } +} diff --git a/swaggerci/billing/generated/runtime/BuildTime/Cmdlets/ExportProxyCmdlet.cs b/swaggerci/billing/generated/runtime/BuildTime/Cmdlets/ExportProxyCmdlet.cs new file mode 100644 index 000000000000..b50d095c215b --- /dev/null +++ b/swaggerci/billing/generated/runtime/BuildTime/Cmdlets/ExportProxyCmdlet.cs @@ -0,0 +1,169 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.IO; +using System.Linq; +using System.Management.Automation; +using System.Text; +using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.PsHelpers; +using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.MarkdownRenderer; +using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.PsProxyTypeExtensions; +using System.Collections.Generic; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell +{ + [Cmdlet(VerbsData.Export, "ProxyCmdlet", DefaultParameterSetName = "Docs")] + [DoNotExport] + public class ExportProxyCmdlet : PSCmdlet + { + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string ModuleName { get; set; } + + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string[] ModulePath { get; set; } + + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string ExportsFolder { get; set; } + + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string InternalFolder { get; set; } + + [Parameter(Mandatory = true, ParameterSetName = "Docs")] + [AllowEmptyString] + public string ModuleDescription { get; set; } + + [Parameter(Mandatory = true, ParameterSetName = "Docs")] + [ValidateNotNullOrEmpty] + public string DocsFolder { get; set; } + + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string ExamplesFolder { get; set; } + + [Parameter(Mandatory = true, ParameterSetName = "Docs")] + public Guid ModuleGuid { get; set; } + + [Parameter(Mandatory = true, ParameterSetName = "NoDocs")] + public SwitchParameter ExcludeDocs { get; set; } + + protected override void ProcessRecord() + { + try + { + var variants = GetModuleCmdletsAndHelpInfo(this, ModulePath).SelectMany(ci => ci.ToVariants()).Where(v => !v.IsDoNotExport).ToArray(); + var allProfiles = variants.SelectMany(v => v.Profiles).Distinct().ToArray(); + var profileGroups = allProfiles.Any() + ? variants + .SelectMany(v => (v.Profiles.Any() ? v.Profiles : allProfiles).Select(p => (profile: p, variant: v))) + .GroupBy(pv => pv.profile) + .Select(pvg => new ProfileGroup(pvg.Select(pv => pv.variant).ToArray(), pvg.Key)) + : new[] { new ProfileGroup(variants) }; + var variantGroups = profileGroups.SelectMany(pg => pg.Variants + .GroupBy(v => new { v.CmdletName, v.IsInternal }) + .Select(vg => new VariantGroup(ModuleName, vg.Key.CmdletName, vg.Select(v => v).ToArray(), + Path.Combine(vg.Key.IsInternal ? InternalFolder : ExportsFolder, pg.ProfileFolder), pg.ProfileName, isInternal: vg.Key.IsInternal))) + .ToArray(); + + var license = new StringBuilder(); + license.Append(@" +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- +"); + HashSet LicenseSet = new HashSet(); + foreach (var variantGroup in variantGroups) + { + var parameterGroups = variantGroup.ParameterGroups.ToList(); + var isValidProfile = !String.IsNullOrEmpty(variantGroup.ProfileName) && variantGroup.ProfileName != NoProfiles; + var examplesFolder = isValidProfile ? Path.Combine(ExamplesFolder, variantGroup.ProfileName) : ExamplesFolder; + var markdownInfo = new MarkdownHelpInfo(variantGroup, examplesFolder); + List examples = new List(); + foreach (var it in markdownInfo.Examples) + { + examples.Add(it); + } + variantGroup.HelpInfo.Examples = examples.ToArray(); + var sb = new StringBuilder(); + sb.Append($"{Environment.NewLine}"); + sb.Append(variantGroup.ToHelpCommentOutput()); + sb.Append($"function {variantGroup.CmdletName} {{{Environment.NewLine}"); + sb.Append(variantGroup.Aliases.ToAliasOutput()); + sb.Append(variantGroup.OutputTypes.ToOutputTypeOutput()); + sb.Append(variantGroup.ToCmdletBindingOutput()); + sb.Append(variantGroup.ProfileName.ToProfileOutput()); + + sb.Append("param("); + sb.Append($"{(parameterGroups.Any() ? Environment.NewLine : String.Empty)}"); + foreach (var parameterGroup in parameterGroups) + { + var parameters = parameterGroup.HasAllVariants ? parameterGroup.Parameters.Take(1) : parameterGroup.Parameters; + parameters = parameters.Where(p => !p.IsHidden()); + if (!parameters.Any()) + { + continue; + } + foreach (var parameter in parameters) + { + sb.Append(parameter.ToParameterOutput(variantGroup.HasMultipleVariants, parameterGroup.HasAllVariants)); + } + sb.Append(parameterGroup.Aliases.ToAliasOutput(true)); + sb.Append(parameterGroup.HasValidateNotNull.ToValidateNotNullOutput()); + sb.Append(parameterGroup.HasAllowEmptyArray.ToAllowEmptyArray()); + sb.Append(parameterGroup.CompleterInfo.ToArgumentCompleterOutput()); + sb.Append(parameterGroup.OrderCategory.ToParameterCategoryOutput()); + sb.Append(parameterGroup.InfoAttribute.ToInfoOutput(parameterGroup.ParameterType)); + sb.Append(parameterGroup.ToDefaultInfoOutput()); + sb.Append(parameterGroup.ParameterType.ToParameterTypeOutput()); + sb.Append(parameterGroup.Description.ToParameterDescriptionOutput()); + sb.Append(parameterGroup.ParameterName.ToParameterNameOutput(parameterGroups.IndexOf(parameterGroup) == parameterGroups.Count - 1)); + } + sb.Append($"){Environment.NewLine}{Environment.NewLine}"); + + sb.Append(variantGroup.ToBeginOutput()); + sb.Append(variantGroup.ToProcessOutput()); + sb.Append(variantGroup.ToEndOutput()); + + sb.Append($"}}{Environment.NewLine}"); + + Directory.CreateDirectory(variantGroup.OutputFolder); + File.WriteAllText(variantGroup.FilePath, license.ToString()); + File.AppendAllText(variantGroup.FilePath, sb.ToString()); + if (!LicenseSet.Contains(Path.Combine(variantGroup.OutputFolder, "ProxyCmdletDefinitions.ps1"))) + { + // only add license in the header + File.AppendAllText(Path.Combine(variantGroup.OutputFolder, "ProxyCmdletDefinitions.ps1"), license.ToString()); + LicenseSet.Add(Path.Combine(variantGroup.OutputFolder, "ProxyCmdletDefinitions.ps1")); + } + File.AppendAllText(Path.Combine(variantGroup.OutputFolder, "ProxyCmdletDefinitions.ps1"), sb.ToString()); + } + + if (!ExcludeDocs) + { + var moduleInfo = new PsModuleHelpInfo(ModuleName, ModuleGuid, ModuleDescription); + foreach (var variantGroupsByProfile in variantGroups.GroupBy(vg => vg.ProfileName)) + { + var profileName = variantGroupsByProfile.Key; + var isValidProfile = !String.IsNullOrEmpty(profileName) && profileName != NoProfiles; + var docsFolder = isValidProfile ? Path.Combine(DocsFolder, profileName) : DocsFolder; + var examplesFolder = isValidProfile ? Path.Combine(ExamplesFolder, profileName) : ExamplesFolder; + WriteMarkdowns(variantGroupsByProfile, moduleInfo, docsFolder, examplesFolder); + } + } + } + catch (Exception ee) + { + Console.WriteLine($"${ee.GetType().Name}/{ee.StackTrace}"); + throw ee; + } + } + } +} diff --git a/swaggerci/billing/generated/runtime/BuildTime/Cmdlets/ExportPsd1.cs b/swaggerci/billing/generated/runtime/BuildTime/Cmdlets/ExportPsd1.cs new file mode 100644 index 000000000000..e1d3adb72fc8 --- /dev/null +++ b/swaggerci/billing/generated/runtime/BuildTime/Cmdlets/ExportPsd1.cs @@ -0,0 +1,191 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.IO; +using System.Linq; +using System.Management.Automation; +using System.Text; +using System.Text.RegularExpressions; +using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.PsHelpers; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell +{ + [Cmdlet(VerbsData.Export, "Psd1")] + [DoNotExport] + public class ExportPsd1 : PSCmdlet + { + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string ExportsFolder { get; set; } + + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string CustomFolder { get; set; } + + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string Psd1Path { get; set; } + + [Parameter(Mandatory = true)] + public Guid ModuleGuid { get; set; } + + private static readonly bool IsAzure = Convert.ToBoolean(@"true"); + private const string CustomFolderRelative = "./custom"; + private const string Indent = Psd1Indent; + private const string Undefined = "undefined"; + private bool IsUndefined(string value) => string.Equals(Undefined, value, StringComparison.OrdinalIgnoreCase); + + protected override void ProcessRecord() + { + try + { + if (!Directory.Exists(ExportsFolder)) + { + throw new ArgumentException($"Exports folder '{ExportsFolder}' does not exist"); + } + + if (!Directory.Exists(CustomFolder)) + { + throw new ArgumentException($"Custom folder '{CustomFolder}' does not exist"); + } + + string version = Convert.ToString(@"0.1.0"); + // Validate the module version should be semantic version + // Following regex is official from https://semver.org/ + Regex rx = new Regex(@"^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$", RegexOptions.Compiled); + if (rx.Matches(version).Count != 1) + { + throw new ArgumentException("Module-version is not a valid Semantic Version"); + } + + string previewVersion = null; + if (version.Contains('-')) + { + string[] versions = version.Split("-".ToCharArray(), 2); + version = versions[0]; + previewVersion = versions[1]; + } + + var sb = new StringBuilder(); + sb.AppendLine("@{"); + sb.AppendLine($@"{GuidStart} = '{ModuleGuid}'"); + sb.AppendLine($@"{Indent}RootModule = '{"./Az.Billing.psm1"}'"); + sb.AppendLine($@"{Indent}ModuleVersion = '{version}'"); + sb.AppendLine($@"{Indent}CompatiblePSEditions = 'Core', 'Desktop'"); + sb.AppendLine($@"{Indent}Author = '{"Microsoft Corporation"}'"); + sb.AppendLine($@"{Indent}CompanyName = '{"Microsoft Corporation"}'"); + sb.AppendLine($@"{Indent}Copyright = '{"Microsoft Corporation. All rights reserved."}'"); + sb.AppendLine($@"{Indent}Description = '{"Microsoft Azure PowerShell: Billing cmdlets"}'"); + sb.AppendLine($@"{Indent}PowerShellVersion = '5.1'"); + sb.AppendLine($@"{Indent}DotNetFrameworkVersion = '4.7.2'"); + + // RequiredModules + if (!IsUndefined("undefined")) + { + sb.AppendLine($@"{Indent}RequiredModules = @({"undefined"})"); + } + + // RequiredAssemblies + if (!IsUndefined("undefined")) + { + sb.AppendLine($@"{Indent}RequiredAssemblies = @({"undefined"})"); + } + else + { + sb.AppendLine($@"{Indent}RequiredAssemblies = '{"./bin/Az.Billing.private.dll"}'"); + } + + // NestedModules + if (!IsUndefined("undefined")) + { + sb.AppendLine($@"{Indent}NestedModules = @({"undefined"})"); + } + + // FormatsToProcess + if (!IsUndefined("undefined")) + { + sb.AppendLine($@"{Indent}FormatsToProcess = @({"undefined"})"); + } + else + { + var customFormatPs1xmlFiles = Directory.GetFiles(CustomFolder) + .Where(f => f.EndsWith(".format.ps1xml")) + .Select(f => $"{CustomFolderRelative}/{Path.GetFileName(f)}"); + var formatList = customFormatPs1xmlFiles.Prepend("./Az.Billing.format.ps1xml").ToPsList(); + sb.AppendLine($@"{Indent}FormatsToProcess = {formatList}"); + } + + // TypesToProcess + if (!IsUndefined("undefined")) + { + sb.AppendLine($@"{Indent}TypesToProcess = @({"undefined"})"); + } + + // ScriptsToProcess + if (!IsUndefined("undefined")) + { + sb.AppendLine($@"{Indent}ScriptsToProcess = @({"undefined"})"); + } + + var functionInfos = GetScriptCmdlets(ExportsFolder).ToArray(); + // FunctionsToExport + if (!IsUndefined("undefined")) + { + sb.AppendLine($@"{Indent}FunctionsToExport = @({"undefined"})"); + } + else + { + var cmdletsList = functionInfos.Select(fi => fi.Name).Distinct().Append("*").ToPsList(); + sb.AppendLine($@"{Indent}FunctionsToExport = {cmdletsList}"); + } + + // AliasesToExport + if (!IsUndefined("undefined")) + { + sb.AppendLine($@"{Indent}AliasesToExport = @({"undefined"})"); + } + else + { + var aliasesList = functionInfos.SelectMany(fi => fi.ScriptBlock.Attributes).ToAliasNames().Append("*").ToPsList(); + sb.AppendLine($@"{Indent}AliasesToExport = {aliasesList}"); + } + + // CmdletsToExport + if (!IsUndefined("undefined")) + { + sb.AppendLine($@"{Indent}CmdletsToExport = @({"undefined"})"); + } + + sb.AppendLine($@"{Indent}PrivateData = @{{"); + sb.AppendLine($@"{Indent}{Indent}PSData = @{{"); + + if (previewVersion != null) + { + sb.AppendLine($@"{Indent}{Indent}{Indent}Prerelease = '{previewVersion}'"); + } + sb.AppendLine($@"{Indent}{Indent}{Indent}Tags = {"Azure ResourceManager ARM PSModule Billing".Split(' ').ToPsList().NullIfEmpty() ?? "''"}"); + sb.AppendLine($@"{Indent}{Indent}{Indent}LicenseUri = '{"https://aka.ms/azps-license"}'"); + sb.AppendLine($@"{Indent}{Indent}{Indent}ProjectUri = '{"https://github.com/Azure/azure-powershell"}'"); + sb.AppendLine($@"{Indent}{Indent}{Indent}ReleaseNotes = ''"); + var profilesList = ""; + if (IsAzure && !String.IsNullOrEmpty(profilesList)) + { + sb.AppendLine($@"{Indent}{Indent}{Indent}Profiles = {profilesList}"); + } + + sb.AppendLine($@"{Indent}{Indent}}}"); + sb.AppendLine($@"{Indent}}}"); + sb.AppendLine(@"}"); + + File.WriteAllText(Psd1Path, sb.ToString()); + } + catch (Exception ee) + { + Console.WriteLine($"${ee.GetType().Name}/{ee.StackTrace}"); + throw ee; + } + } + } +} diff --git a/swaggerci/billing/generated/runtime/BuildTime/Cmdlets/ExportTestStub.cs b/swaggerci/billing/generated/runtime/BuildTime/Cmdlets/ExportTestStub.cs new file mode 100644 index 000000000000..bccfc8599152 --- /dev/null +++ b/swaggerci/billing/generated/runtime/BuildTime/Cmdlets/ExportTestStub.cs @@ -0,0 +1,148 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.IO; +using System.Linq; +using System.Management.Automation; +using System.Text; +using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.PsProxyOutputExtensions; +using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.PsHelpers; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell +{ + [Cmdlet(VerbsData.Export, "TestStub")] + [DoNotExport] + public class ExportTestStub : PSCmdlet + { + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string ModuleName { get; set; } + + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string ExportsFolder { get; set; } + + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string OutputFolder { get; set; } + + [Parameter] + public SwitchParameter IncludeGenerated { get; set; } + + protected override void ProcessRecord() + { + try + { + if (!Directory.Exists(ExportsFolder)) + { + throw new ArgumentException($"Exports folder '{ExportsFolder}' does not exist"); + } + + var exportDirectories = Directory.GetDirectories(ExportsFolder); + if (!exportDirectories.Any()) + { + exportDirectories = new[] { ExportsFolder }; + } + var utilFile = Path.Combine(OutputFolder, "utils.ps1"); + if (!File.Exists(utilFile)) + { + var sc = new StringBuilder(); + sc.AppendLine(@"function RandomString([bool]$allChars, [int32]$len) { + if ($allChars) { + return -join ((33..126) | Get-Random -Count $len | % {[char]$_}) + } else { + return -join ((48..57) + (97..122) | Get-Random -Count $len | % {[char]$_}) + } +} +$env = @{} +if ($UsePreviousConfigForRecord) { + $previousEnv = Get-Content (Join-Path $PSScriptRoot 'env.json') | ConvertFrom-Json + $previousEnv.psobject.properties | Foreach-Object { $env[$_.Name] = $_.Value } +} +# Add script method called AddWithCache to $env, when useCache is set true, it will try to get the value from the $env first. +# example: $val = $env.AddWithCache('key', $val, $true) +$env | Add-Member -Type ScriptMethod -Value { param( [string]$key, [object]$val, [bool]$useCache) if ($this.Contains($key) -and $useCache) { return $this[$key] } else { $this[$key] = $val; return $val } } -Name 'AddWithCache' +function setupEnv() { + # Preload subscriptionId and tenant from context, which will be used in test + # as default. You could change them if needed. + $env.SubscriptionId = (Get-AzContext).Subscription.Id + $env.Tenant = (Get-AzContext).Tenant.Id + # For any resources you created for test, you should add it to $env here. + $envFile = 'env.json' + if ($TestMode -eq 'live') { + $envFile = 'localEnv.json' + } + set-content -Path (Join-Path $PSScriptRoot $envFile) -Value (ConvertTo-Json $env) +} +function cleanupEnv() { + # Clean resources you create for testing +} +"); + File.WriteAllText(utilFile, sc.ToString()); + } + foreach (var exportDirectory in exportDirectories) + { + var outputFolder = OutputFolder; + if (exportDirectory != ExportsFolder) + { + outputFolder = Path.Combine(OutputFolder, Path.GetFileName(exportDirectory)); + Directory.CreateDirectory(outputFolder); + } + + var variantGroups = GetScriptCmdlets(exportDirectory) + .SelectMany(fi => fi.ToVariants()) + .Where(v => !v.IsDoNotExport) + .GroupBy(v => v.CmdletName) + .Select(vg => new VariantGroup(ModuleName, vg.Key, vg.Select(v => v).ToArray(), outputFolder, isTest: true)) + .Where(vtg => !File.Exists(vtg.FilePath) && (IncludeGenerated || !vtg.IsGenerated)); + + foreach (var variantGroup in variantGroups) + { + var sb = new StringBuilder(); + sb.AppendLine($"if(($null -eq $TestName) -or ($TestName -contains '{variantGroup.CmdletName}'))"); + sb.AppendLine(@"{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath)" +); + sb.AppendLine($@" $TestRecordingFile = Join-Path $PSScriptRoot '{variantGroup.CmdletName}.Recording.json'"); + sb.AppendLine(@" $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} +"); + + + sb.AppendLine($"Describe '{variantGroup.CmdletName}' {{"); + var variants = variantGroup.Variants + .Where(v => IncludeGenerated || !v.Attributes.OfType().Any()) + .ToList(); + + foreach (var variant in variants) + { + sb.AppendLine($"{Indent}It '{variant.VariantName}' -skip {{"); + sb.AppendLine($"{Indent}{Indent}{{ throw [System.NotImplementedException] }} | Should -Not -Throw"); + var variantSeparator = variants.IndexOf(variant) == variants.Count - 1 ? String.Empty : Environment.NewLine; + sb.AppendLine($"{Indent}}}{variantSeparator}"); + } + sb.AppendLine("}"); + + File.WriteAllText(variantGroup.FilePath, sb.ToString()); + } + } + } + catch (Exception ee) + { + Console.WriteLine($"${ee.GetType().Name}/{ee.StackTrace}"); + throw ee; + } + } + } +} diff --git a/swaggerci/billing/generated/runtime/BuildTime/Cmdlets/GetCommonParameter.cs b/swaggerci/billing/generated/runtime/BuildTime/Cmdlets/GetCommonParameter.cs new file mode 100644 index 000000000000..7561ee17ef47 --- /dev/null +++ b/swaggerci/billing/generated/runtime/BuildTime/Cmdlets/GetCommonParameter.cs @@ -0,0 +1,52 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell +{ + [Cmdlet(VerbsCommon.Get, "CommonParameter")] + [OutputType(typeof(Dictionary))] + [DoNotExport] + public class GetCommonParameter : PSCmdlet + { + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public PSCmdlet PSCmdlet { get; set; } + + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public Dictionary PSBoundParameter { get; set; } + + protected override void ProcessRecord() + { + try + { + var variants = PSCmdlet.MyInvocation.MyCommand.ToVariants(); + var commonParameterNames = variants.ToParameterGroups() + .Where(pg => pg.OrderCategory == ParameterCategory.Azure || pg.OrderCategory == ParameterCategory.Runtime) + .Select(pg => pg.ParameterName); + if (variants.Any(v => v.SupportsShouldProcess)) + { + commonParameterNames = commonParameterNames.Append("Confirm").Append("WhatIf"); + } + if (variants.Any(v => v.SupportsPaging)) + { + commonParameterNames = commonParameterNames.Append("First").Append("Skip").Append("IncludeTotalCount"); + } + + var names = commonParameterNames.ToArray(); + var keys = PSBoundParameter.Keys.Where(k => names.Contains(k)); + WriteObject(keys.ToDictionary(key => key, key => PSBoundParameter[key]), true); + } + catch (System.Exception ee) + { + System.Console.WriteLine($"${ee.GetType().Name}/{ee.StackTrace}"); + throw ee; + } + } + } +} diff --git a/swaggerci/billing/generated/runtime/BuildTime/Cmdlets/GetModuleGuid.cs b/swaggerci/billing/generated/runtime/BuildTime/Cmdlets/GetModuleGuid.cs new file mode 100644 index 000000000000..e67a96dc0795 --- /dev/null +++ b/swaggerci/billing/generated/runtime/BuildTime/Cmdlets/GetModuleGuid.cs @@ -0,0 +1,31 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System.Management.Automation; +using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.PsHelpers; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell +{ + [Cmdlet(VerbsCommon.Get, "ModuleGuid")] + [DoNotExport] + public class GetModuleGuid : PSCmdlet + { + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string Psd1Path { get; set; } + + protected override void ProcessRecord() + { + try + { + WriteObject(ReadGuidFromPsd1(Psd1Path)); + } + catch (System.Exception ee) + { + System.Console.WriteLine($"${ee.GetType().Name}/{ee.StackTrace}"); + throw ee; + } + } + } +} diff --git a/swaggerci/billing/generated/runtime/BuildTime/Cmdlets/GetScriptCmdlet.cs b/swaggerci/billing/generated/runtime/BuildTime/Cmdlets/GetScriptCmdlet.cs new file mode 100644 index 000000000000..5bcdb9e610fc --- /dev/null +++ b/swaggerci/billing/generated/runtime/BuildTime/Cmdlets/GetScriptCmdlet.cs @@ -0,0 +1,54 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System.Linq; +using System.Management.Automation; +using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.PsHelpers; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell +{ + [Cmdlet(VerbsCommon.Get, "ScriptCmdlet")] + [OutputType(typeof(string[]))] + [DoNotExport] + public class GetScriptCmdlet : PSCmdlet + { + [Parameter(Mandatory = true)] + [ValidateNotNullOrEmpty] + public string ScriptFolder { get; set; } + + [Parameter] + public SwitchParameter IncludeDoNotExport { get; set; } + + [Parameter] + public SwitchParameter AsAlias { get; set; } + + [Parameter] + public SwitchParameter AsFunctionInfo { get; set; } + + protected override void ProcessRecord() + { + try + { + var functionInfos = GetScriptCmdlets(this, ScriptFolder) + .Where(fi => IncludeDoNotExport || !fi.ScriptBlock.Attributes.OfType().Any()) + .ToArray(); + if (AsFunctionInfo) + { + WriteObject(functionInfos, true); + return; + } + var aliases = functionInfos.SelectMany(i => i.ScriptBlock.Attributes).ToAliasNames(); + var names = functionInfos.Select(fi => fi.Name).Distinct(); + var output = (AsAlias ? aliases : names).DefaultIfEmpty("''").ToArray(); + WriteObject(output, true); + } + catch (System.Exception ee) + { + System.Console.Error.WriteLine($"{ee.GetType().Name}: {ee.Message}"); + System.Console.Error.WriteLine(ee.StackTrace); + throw ee; + } + } + } +} diff --git a/swaggerci/billing/generated/runtime/BuildTime/CollectionExtensions.cs b/swaggerci/billing/generated/runtime/BuildTime/CollectionExtensions.cs new file mode 100644 index 000000000000..71b6ab3d2d1f --- /dev/null +++ b/swaggerci/billing/generated/runtime/BuildTime/CollectionExtensions.cs @@ -0,0 +1,20 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections.Generic; +using System.Linq; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell +{ + internal static class CollectionExtensions + { + public static T[] NullIfEmpty(this T[] collection) => (collection?.Any() ?? false) ? collection : null; + public static IEnumerable EmptyIfNull(this IEnumerable collection) => collection ?? Enumerable.Empty(); + + // https://stackoverflow.com/a/4158364/294804 + public static IEnumerable DistinctBy(this IEnumerable collection, Func selector) => + collection.GroupBy(selector).Select(group => group.First()); + } +} diff --git a/swaggerci/billing/generated/runtime/BuildTime/MarkdownRenderer.cs b/swaggerci/billing/generated/runtime/BuildTime/MarkdownRenderer.cs new file mode 100644 index 000000000000..30e4b15afa3b --- /dev/null +++ b/swaggerci/billing/generated/runtime/BuildTime/MarkdownRenderer.cs @@ -0,0 +1,114 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.MarkdownTypesExtensions; +using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.PsProxyOutputExtensions; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell +{ + internal static class MarkdownRenderer + { + public static void WriteMarkdowns(IEnumerable variantGroups, PsModuleHelpInfo moduleHelpInfo, string docsFolder, string examplesFolder) + { + Directory.CreateDirectory(docsFolder); + var markdownInfos = variantGroups.Where(vg => !vg.IsInternal).Select(vg => new MarkdownHelpInfo(vg, examplesFolder)).OrderBy(mhi => mhi.CmdletName).ToArray(); + + foreach (var markdownInfo in markdownInfos) + { + var sb = new StringBuilder(); + sb.Append(markdownInfo.ToHelpMetadataOutput()); + sb.Append($"# {markdownInfo.CmdletName}{Environment.NewLine}{Environment.NewLine}"); + sb.Append($"## SYNOPSIS{Environment.NewLine}{markdownInfo.Synopsis.ToDescriptionFormat()}{Environment.NewLine}{Environment.NewLine}"); + + sb.Append($"## SYNTAX{Environment.NewLine}{Environment.NewLine}"); + var hasMultipleParameterSets = markdownInfo.SyntaxInfos.Length > 1; + foreach (var syntaxInfo in markdownInfo.SyntaxInfos) + { + sb.Append(syntaxInfo.ToHelpSyntaxOutput(hasMultipleParameterSets)); + } + + sb.Append($"## DESCRIPTION{Environment.NewLine}{markdownInfo.Description.ToDescriptionFormat()}{Environment.NewLine}{Environment.NewLine}"); + + sb.Append($"## EXAMPLES{Environment.NewLine}{Environment.NewLine}"); + foreach (var exampleInfo in markdownInfo.Examples) + { + sb.Append(exampleInfo.ToHelpExampleOutput()); + } + + sb.Append($"## PARAMETERS{Environment.NewLine}{Environment.NewLine}"); + foreach (var parameter in markdownInfo.Parameters) + { + sb.Append(parameter.ToHelpParameterOutput()); + } + if (markdownInfo.SupportsShouldProcess) + { + foreach (var parameter in SupportsShouldProcessParameters) + { + sb.Append(parameter.ToHelpParameterOutput()); + } + } + + sb.Append($"### CommonParameters{Environment.NewLine}This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216).{Environment.NewLine}{Environment.NewLine}"); + + sb.Append($"## INPUTS{Environment.NewLine}{Environment.NewLine}"); + foreach (var input in markdownInfo.Inputs) + { + sb.Append($"### {input}{Environment.NewLine}{Environment.NewLine}"); + } + + sb.Append($"## OUTPUTS{Environment.NewLine}{Environment.NewLine}"); + foreach (var output in markdownInfo.Outputs) + { + sb.Append($"### {output}{Environment.NewLine}{Environment.NewLine}"); + } + + sb.Append($"## NOTES{Environment.NewLine}{Environment.NewLine}"); + sb.Append($"ALIASES{Environment.NewLine}{Environment.NewLine}"); + foreach (var alias in markdownInfo.Aliases) + { + sb.Append($"{alias}{Environment.NewLine}{Environment.NewLine}"); + } + if (markdownInfo.ComplexInterfaceInfos.Any()) + { + sb.Append($"{ComplexParameterHeader}{Environment.NewLine}"); + } + foreach (var complexInterfaceInfo in markdownInfo.ComplexInterfaceInfos) + { + sb.Append($"{complexInterfaceInfo.ToNoteOutput(includeDashes: true, includeBackticks: true)}{Environment.NewLine}{Environment.NewLine}"); + } + + sb.Append($"## RELATED LINKS{Environment.NewLine}{Environment.NewLine}"); + foreach (var relatedLink in markdownInfo.RelatedLinks) + { + sb.Append($"{relatedLink}{Environment.NewLine}{Environment.NewLine}"); + } + + File.WriteAllText(Path.Combine(docsFolder, $"{markdownInfo.CmdletName}.md"), sb.ToString()); + } + + WriteModulePage(moduleHelpInfo, markdownInfos, docsFolder); + } + + private static void WriteModulePage(PsModuleHelpInfo moduleInfo, MarkdownHelpInfo[] markdownInfos, string docsFolder) + { + var sb = new StringBuilder(); + sb.Append(moduleInfo.ToModulePageMetadataOutput()); + sb.Append($"# {moduleInfo.Name} Module{Environment.NewLine}"); + sb.Append($"## Description{Environment.NewLine}{moduleInfo.Description.ToDescriptionFormat()}{Environment.NewLine}{Environment.NewLine}"); + + sb.Append($"## {moduleInfo.Name} Cmdlets{Environment.NewLine}"); + foreach (var markdownInfo in markdownInfos) + { + sb.Append(markdownInfo.ToModulePageCmdletOutput()); + } + + File.WriteAllText(Path.Combine(docsFolder, $"{moduleInfo.Name}.md"), sb.ToString()); + } + } +} diff --git a/swaggerci/billing/generated/runtime/BuildTime/Models/PsFormatTypes.cs b/swaggerci/billing/generated/runtime/BuildTime/Models/PsFormatTypes.cs new file mode 100644 index 000000000000..9ac33b375899 --- /dev/null +++ b/swaggerci/billing/generated/runtime/BuildTime/Models/PsFormatTypes.cs @@ -0,0 +1,138 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using System.Xml.Serialization; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell +{ + internal class ViewParameters + { + public Type Type { get; } + public IEnumerable Properties { get; } + + public ViewParameters(Type type, IEnumerable properties) + { + Type = type; + Properties = properties; + } + } + + internal class PropertyFormat + { + public PropertyInfo Property { get; } + public FormatTableAttribute FormatTable { get; } + + public int? Index { get; } + public string Label { get; } + public int? Width { get; } + public PropertyOrigin? Origin { get; } + + public PropertyFormat(PropertyInfo propertyInfo) + { + Property = propertyInfo; + FormatTable = Property.GetCustomAttributes().FirstOrDefault(); + var origin = Property.GetCustomAttributes().FirstOrDefault(); + + Index = FormatTable?.HasIndex ?? false ? (int?)FormatTable.Index : null; + Label = FormatTable?.Label ?? propertyInfo.Name; + Width = FormatTable?.HasWidth ?? false ? (int?)FormatTable.Width : null; + // If we have an index, we don't want to use Origin. + Origin = FormatTable?.HasIndex ?? false ? null : origin?.Origin; + } + } + + [Serializable] + [XmlRoot(nameof(Configuration))] + public class Configuration + { + [XmlElement("ViewDefinitions")] + public ViewDefinitions ViewDefinitions { get; set; } + } + + [Serializable] + public class ViewDefinitions + { + //https://stackoverflow.com/a/10518657/294804 + [XmlElement("View")] + public List Views { get; set; } + } + + [Serializable] + public class View + { + [XmlElement(nameof(Name))] + public string Name { get; set; } + [XmlElement(nameof(ViewSelectedBy))] + public ViewSelectedBy ViewSelectedBy { get; set; } + [XmlElement(nameof(TableControl))] + public TableControl TableControl { get; set; } + } + + [Serializable] + public class ViewSelectedBy + { + [XmlElement(nameof(TypeName))] + public string TypeName { get; set; } + } + + [Serializable] + public class TableControl + { + [XmlElement(nameof(TableHeaders))] + public TableHeaders TableHeaders { get; set; } + [XmlElement(nameof(TableRowEntries))] + public TableRowEntries TableRowEntries { get; set; } + } + + [Serializable] + public class TableHeaders + { + [XmlElement("TableColumnHeader")] + public List TableColumnHeaders { get; set; } + } + + [Serializable] + public class TableColumnHeader + { + [XmlElement(nameof(Label))] + public string Label { get; set; } + [XmlElement(nameof(Width))] + public int? Width { get; set; } + + //https://stackoverflow.com/a/4095225/294804 + public bool ShouldSerializeWidth() => Width.HasValue; + } + + [Serializable] + public class TableRowEntries + { + [XmlElement(nameof(TableRowEntry))] + public TableRowEntry TableRowEntry { get; set; } + } + + [Serializable] + public class TableRowEntry + { + [XmlElement(nameof(TableColumnItems))] + public TableColumnItems TableColumnItems { get; set; } + } + + [Serializable] + public class TableColumnItems + { + [XmlElement("TableColumnItem")] + public List TableItems { get; set; } + } + + [Serializable] + public class TableColumnItem + { + [XmlElement(nameof(PropertyName))] + public string PropertyName { get; set; } + } +} diff --git a/swaggerci/billing/generated/runtime/BuildTime/Models/PsHelpMarkdownOutputs.cs b/swaggerci/billing/generated/runtime/BuildTime/Models/PsHelpMarkdownOutputs.cs new file mode 100644 index 000000000000..c78ba07879b8 --- /dev/null +++ b/swaggerci/billing/generated/runtime/BuildTime/Models/PsHelpMarkdownOutputs.cs @@ -0,0 +1,199 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Linq; +using System.Management.Automation; +using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.PsHelpOutputExtensions; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell +{ + internal class HelpMetadataOutput + { + public MarkdownHelpInfo HelpInfo { get; } + + public HelpMetadataOutput(MarkdownHelpInfo helpInfo) + { + HelpInfo = helpInfo; + } + + public override string ToString() => $@"--- +external help file:{(!String.IsNullOrEmpty(HelpInfo.ExternalHelpFilename) ? $" {HelpInfo.ExternalHelpFilename}" : String.Empty)} +Module Name: {HelpInfo.ModuleName} +online version: {HelpInfo.OnlineVersion} +schema: {HelpInfo.Schema.ToString(3)} +--- + +"; + } + + internal class HelpSyntaxOutput + { + public MarkdownSyntaxHelpInfo SyntaxInfo { get; } + public bool HasMultipleParameterSets { get; } + + public HelpSyntaxOutput(MarkdownSyntaxHelpInfo syntaxInfo, bool hasMultipleParameterSets) + { + SyntaxInfo = syntaxInfo; + HasMultipleParameterSets = hasMultipleParameterSets; + } + + public override string ToString() + { + var psnText = HasMultipleParameterSets ? $"### {SyntaxInfo.ParameterSetName}{(SyntaxInfo.IsDefault ? " (Default)" : String.Empty)}{Environment.NewLine}" : String.Empty; + return $@"{psnText}``` +{SyntaxInfo.SyntaxText} +``` + +"; + } + } + + internal class HelpExampleOutput + { + private string ExampleTemplate = + "{0}{1}" + Environment.NewLine + + "{2}" + Environment.NewLine + "{3}" + Environment.NewLine + "{4}" + Environment.NewLine + Environment.NewLine + + "{5}" + Environment.NewLine + Environment.NewLine; + + private string ExampleTemplateWithOutput = + "{0}{1}" + Environment.NewLine + + "{2}" + Environment.NewLine + "{3}" + Environment.NewLine + "{4}" + Environment.NewLine + Environment.NewLine + + "{5}" + Environment.NewLine + "{6}" + Environment.NewLine + "{7}" + Environment.NewLine + Environment.NewLine + + "{8}" + Environment.NewLine + Environment.NewLine; + + public MarkdownExampleHelpInfo ExampleInfo { get; } + + public HelpExampleOutput(MarkdownExampleHelpInfo exampleInfo) + { + ExampleInfo = exampleInfo; + } + + public override string ToString() + { + if (string.IsNullOrEmpty(ExampleInfo.Output)) + { + return string.Format(ExampleTemplate, + ExampleNameHeader, ExampleInfo.Name, + ExampleCodeHeader, ExampleInfo.Code, ExampleCodeFooter, + ExampleInfo.Description.ToDescriptionFormat()); + } + else + { + return string.Format(ExampleTemplateWithOutput, + ExampleNameHeader, ExampleInfo.Name, + ExampleCodeHeader, ExampleInfo.Code, ExampleCodeFooter, + ExampleOutputHeader, ExampleInfo.Output, ExampleOutputFooter, + ExampleInfo.Description.ToDescriptionFormat()); ; + } + } + } + + internal class HelpParameterOutput + { + public MarkdownParameterHelpInfo ParameterInfo { get; } + + public HelpParameterOutput(MarkdownParameterHelpInfo parameterInfo) + { + ParameterInfo = parameterInfo; + } + + public override string ToString() + { + var pipelineInputTypes = new[] + { + ParameterInfo.AcceptsPipelineByValue ? "ByValue" : String.Empty, + ParameterInfo.AcceptsPipelineByPropertyName ? "ByPropertyName" : String.Empty + }.JoinIgnoreEmpty(", "); + var pipelineInput = ParameterInfo.AcceptsPipelineByValue || ParameterInfo.AcceptsPipelineByPropertyName + ? $@"{true} ({pipelineInputTypes})" + : false.ToString(); + + return $@"### -{ParameterInfo.Name} +{ParameterInfo.Description.ToDescriptionFormat()} + +```yaml +Type: {ParameterInfo.Type.FullName} +Parameter Sets: {(ParameterInfo.HasAllParameterSets ? "(All)" : ParameterInfo.ParameterSetNames.JoinIgnoreEmpty(", "))} +Aliases:{(ParameterInfo.Aliases.Any() ? $" {ParameterInfo.Aliases.JoinIgnoreEmpty(", ")}" : String.Empty)} + +Required: {ParameterInfo.IsRequired} +Position: {ParameterInfo.Position} +Default value: {ParameterInfo.DefaultValue} +Accept pipeline input: {pipelineInput} +Accept wildcard characters: {ParameterInfo.AcceptsWildcardCharacters} +``` + +"; + } + } + + internal class ModulePageMetadataOutput + { + public PsModuleHelpInfo ModuleInfo { get; } + + private static string HelpLinkPrefix { get; } = @"https://docs.microsoft.com/en-us/powershell/module/"; + + public ModulePageMetadataOutput(PsModuleHelpInfo moduleInfo) + { + ModuleInfo = moduleInfo; + } + + public override string ToString() => $@"--- +Module Name: {ModuleInfo.Name} +Module Guid: {ModuleInfo.Guid} +Download Help Link: {HelpLinkPrefix}{ModuleInfo.Name.ToLowerInvariant()} +Help Version: 1.0.0.0 +Locale: en-US +--- + +"; + } + + internal class ModulePageCmdletOutput + { + public MarkdownHelpInfo HelpInfo { get; } + + public ModulePageCmdletOutput(MarkdownHelpInfo helpInfo) + { + HelpInfo = helpInfo; + } + + public override string ToString() => $@"### [{HelpInfo.CmdletName}]({HelpInfo.CmdletName}.md) +{HelpInfo.Synopsis.ToDescriptionFormat()} + +"; + } + + internal static class PsHelpOutputExtensions + { + public static string EscapeAngleBrackets(this string text) => text?.Replace("<", @"\<").Replace(">", @"\>"); + public static string ReplaceSentenceEndWithNewline(this string text) => text?.Replace(". ", $".{Environment.NewLine}").Replace(". ", $".{Environment.NewLine}"); + public static string ReplaceBrWithNewline(this string text) => text?.Replace("
", $"{Environment.NewLine}"); + public static string ToDescriptionFormat(this string text, bool escapeAngleBrackets = true) + { + var description = text?.ReplaceBrWithNewline(); + description = escapeAngleBrackets ? description?.EscapeAngleBrackets() : description; + return description?.ReplaceSentenceEndWithNewline().Trim(); + } + + public const string ExampleNameHeader = "### "; + public const string ExampleCodeHeader = "```powershell"; + public const string ExampleCodeFooter = "```"; + public const string ExampleOutputHeader = "```output"; + public const string ExampleOutputFooter = "```"; + + public static HelpMetadataOutput ToHelpMetadataOutput(this MarkdownHelpInfo helpInfo) => new HelpMetadataOutput(helpInfo); + + public static HelpSyntaxOutput ToHelpSyntaxOutput(this MarkdownSyntaxHelpInfo syntaxInfo, bool hasMultipleParameterSets) => new HelpSyntaxOutput(syntaxInfo, hasMultipleParameterSets); + + public static HelpExampleOutput ToHelpExampleOutput(this MarkdownExampleHelpInfo exampleInfo) => new HelpExampleOutput(exampleInfo); + + public static HelpParameterOutput ToHelpParameterOutput(this MarkdownParameterHelpInfo parameterInfo) => new HelpParameterOutput(parameterInfo); + + public static ModulePageMetadataOutput ToModulePageMetadataOutput(this PsModuleHelpInfo moduleInfo) => new ModulePageMetadataOutput(moduleInfo); + + public static ModulePageCmdletOutput ToModulePageCmdletOutput(this MarkdownHelpInfo helpInfo) => new ModulePageCmdletOutput(helpInfo); + } +} diff --git a/swaggerci/billing/generated/runtime/BuildTime/Models/PsHelpTypes.cs b/swaggerci/billing/generated/runtime/BuildTime/Models/PsHelpTypes.cs new file mode 100644 index 000000000000..28aa9db87a1f --- /dev/null +++ b/swaggerci/billing/generated/runtime/BuildTime/Models/PsHelpTypes.cs @@ -0,0 +1,202 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell +{ + internal class PsHelpInfo + { + public string CmdletName { get; } + public string ModuleName { get; } + public string Synopsis { get; } + public string Description { get; } + public string AlertText { get; } + public string Category { get; } + public PsHelpLinkInfo OnlineVersion { get; } + public PsHelpLinkInfo[] RelatedLinks { get; } + public bool? HasCommonParameters { get; } + public bool? HasWorkflowCommonParameters { get; } + + public PsHelpTypeInfo[] InputTypes { get; } + public PsHelpTypeInfo[] OutputTypes { get; } + public PsHelpExampleInfo[] Examples { get; set; } + public string[] Aliases { get; } + + public PsParameterHelpInfo[] Parameters { get; } + public PsHelpSyntaxInfo[] Syntax { get; } + + public object Component { get; } + public object Functionality { get; } + public object PsSnapIn { get; } + public object Role { get; } + public string NonTerminatingErrors { get; } + + public PsHelpInfo(PSObject helpObject = null) + { + helpObject = helpObject ?? new PSObject(); + CmdletName = helpObject.GetProperty("Name").NullIfEmpty() ?? helpObject.GetNestedProperty("details", "name"); + ModuleName = helpObject.GetProperty("ModuleName"); + Synopsis = helpObject.GetProperty("Synopsis"); + Description = helpObject.GetProperty("description").EmptyIfNull().ToDescriptionText().NullIfEmpty() ?? + helpObject.GetNestedProperty("details", "description").EmptyIfNull().ToDescriptionText(); + AlertText = helpObject.GetNestedProperty("alertSet", "alert").EmptyIfNull().ToDescriptionText(); + Category = helpObject.GetProperty("Category"); + HasCommonParameters = helpObject.GetProperty("CommonParameters").ToNullableBool(); + HasWorkflowCommonParameters = helpObject.GetProperty("WorkflowCommonParameters").ToNullableBool(); + + var links = helpObject.GetNestedProperty("relatedLinks", "navigationLink").EmptyIfNull().Select(nl => nl.ToLinkInfo()).ToArray(); + OnlineVersion = links.FirstOrDefault(l => l.Text?.ToLowerInvariant().StartsWith("online version:") ?? links.Length == 1); + RelatedLinks = links.Where(l => !l.Text?.ToLowerInvariant().StartsWith("online version:") ?? links.Length != 1).ToArray(); + + InputTypes = helpObject.GetNestedProperty("inputTypes", "inputType").EmptyIfNull().Select(it => it.ToTypeInfo()).ToArray(); + OutputTypes = helpObject.GetNestedProperty("returnValues", "returnValue").EmptyIfNull().Select(rv => rv.ToTypeInfo()).ToArray(); + Examples = helpObject.GetNestedProperty("examples", "example").EmptyIfNull().Select(e => e.ToExampleInfo()).ToArray(); + Aliases = helpObject.GetProperty("aliases").EmptyIfNull().Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries); + + Parameters = helpObject.GetNestedProperty("parameters", "parameter").EmptyIfNull().Select(p => p.ToPsParameterHelpInfo()).ToArray(); + Syntax = helpObject.GetNestedProperty("syntax", "syntaxItem").EmptyIfNull().Select(si => si.ToSyntaxInfo()).ToArray(); + + Component = helpObject.GetProperty("Component"); + Functionality = helpObject.GetProperty("Functionality"); + PsSnapIn = helpObject.GetProperty("PSSnapIn"); + Role = helpObject.GetProperty("Role"); + NonTerminatingErrors = helpObject.GetProperty("nonTerminatingErrors"); + } + } + + internal class PsHelpTypeInfo + { + public string Name { get; } + public string Description { get; } + + public PsHelpTypeInfo(PSObject typeObject) + { + Name = typeObject.GetNestedProperty("type", "name").EmptyIfNull().Trim(); + Description = typeObject.GetProperty("description").EmptyIfNull().ToDescriptionText(); + } + } + + internal class PsHelpLinkInfo + { + public string Uri { get; } + public string Text { get; } + + public PsHelpLinkInfo(PSObject linkObject) + { + Uri = linkObject.GetProperty("uri"); + Text = linkObject.GetProperty("linkText"); + } + } + + internal class PsHelpSyntaxInfo + { + public string CmdletName { get; } + public PsParameterHelpInfo[] Parameters { get; } + + public PsHelpSyntaxInfo(PSObject syntaxObject) + { + CmdletName = syntaxObject.GetProperty("name"); + Parameters = syntaxObject.GetProperty("parameter").EmptyIfNull().Select(p => p.ToPsParameterHelpInfo()).ToArray(); + } + } + + internal class PsHelpExampleInfo + { + public string Title { get; } + public string Code { get; } + public string Output { get; } + public string Remarks { get; } + + public PsHelpExampleInfo(PSObject exampleObject) + { + Title = exampleObject.GetProperty("title"); + Code = exampleObject.GetProperty("code"); + Output = exampleObject.GetProperty("output"); + Remarks = exampleObject.GetProperty("remarks").EmptyIfNull().ToDescriptionText(); + } + public PsHelpExampleInfo(MarkdownExampleHelpInfo markdownExample) + { + Title = markdownExample.Name; + Code = markdownExample.Code; + Output = markdownExample.Output; + Remarks = markdownExample.Description; + } + + public static implicit operator PsHelpExampleInfo(MarkdownExampleHelpInfo markdownExample) => new PsHelpExampleInfo(markdownExample); + } + + internal class PsParameterHelpInfo + { + public string DefaultValueAsString { get; } + + public string Name { get; } + public string TypeName { get; } + public string Description { get; } + public string SupportsPipelineInput { get; } + public string PositionText { get; } + public string[] ParameterSetNames { get; } + public string[] Aliases { get; } + + public bool? SupportsGlobbing { get; } + public bool? IsRequired { get; } + public bool? IsVariableLength { get; } + public bool? IsDynamic { get; } + + public PsParameterHelpInfo(PSObject parameterHelpObject = null) + { + parameterHelpObject = parameterHelpObject ?? new PSObject(); + DefaultValueAsString = parameterHelpObject.GetProperty("defaultValue"); + Name = parameterHelpObject.GetProperty("name"); + TypeName = parameterHelpObject.GetProperty("parameterValue").NullIfEmpty() ?? parameterHelpObject.GetNestedProperty("type", "name"); + Description = parameterHelpObject.GetProperty("Description").EmptyIfNull().ToDescriptionText(); + SupportsPipelineInput = parameterHelpObject.GetProperty("pipelineInput"); + PositionText = parameterHelpObject.GetProperty("position"); + ParameterSetNames = parameterHelpObject.GetProperty("parameterSetName").EmptyIfNull().Split(new[] { ", " }, StringSplitOptions.RemoveEmptyEntries); + Aliases = parameterHelpObject.GetProperty("aliases").EmptyIfNull().Split(new[] { ", " }, StringSplitOptions.RemoveEmptyEntries); + + SupportsGlobbing = parameterHelpObject.GetProperty("globbing").ToNullableBool(); + IsRequired = parameterHelpObject.GetProperty("required").ToNullableBool(); + IsVariableLength = parameterHelpObject.GetProperty("variableLength").ToNullableBool(); + IsDynamic = parameterHelpObject.GetProperty("isDynamic").ToNullableBool(); + } + } + + internal class PsModuleHelpInfo + { + public string Name { get; } + public Guid Guid { get; } + public string Description { get; } + + public PsModuleHelpInfo(PSModuleInfo moduleInfo) + : this(moduleInfo?.Name ?? String.Empty, moduleInfo?.Guid ?? Guid.NewGuid(), moduleInfo?.Description ?? String.Empty) + { + } + + public PsModuleHelpInfo(string name, Guid guid, string description) + { + Name = name; + Guid = guid; + Description = description; + } + } + + internal static class HelpTypesExtensions + { + public static PsHelpInfo ToPsHelpInfo(this PSObject helpObject) => new PsHelpInfo(helpObject); + public static PsParameterHelpInfo ToPsParameterHelpInfo(this PSObject parameterHelpObject) => new PsParameterHelpInfo(parameterHelpObject); + + public static string ToDescriptionText(this IEnumerable descriptionObject) => descriptionObject != null + ? String.Join(Environment.NewLine, descriptionObject.Select(dl => dl.GetProperty("Text").EmptyIfNull())).NullIfWhiteSpace() + : null; + public static PsHelpTypeInfo ToTypeInfo(this PSObject typeObject) => new PsHelpTypeInfo(typeObject); + public static PsHelpExampleInfo ToExampleInfo(this PSObject exampleObject) => new PsHelpExampleInfo(exampleObject); + public static PsHelpLinkInfo ToLinkInfo(this PSObject linkObject) => new PsHelpLinkInfo(linkObject); + public static PsHelpSyntaxInfo ToSyntaxInfo(this PSObject syntaxObject) => new PsHelpSyntaxInfo(syntaxObject); + public static PsModuleHelpInfo ToModuleInfo(this PSModuleInfo moduleInfo) => new PsModuleHelpInfo(moduleInfo); + } +} diff --git a/swaggerci/billing/generated/runtime/BuildTime/Models/PsMarkdownTypes.cs b/swaggerci/billing/generated/runtime/BuildTime/Models/PsMarkdownTypes.cs new file mode 100644 index 000000000000..bacfd16eca4b --- /dev/null +++ b/swaggerci/billing/generated/runtime/BuildTime/Models/PsMarkdownTypes.cs @@ -0,0 +1,294 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Management.Automation; +using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.MarkdownTypesExtensions; +using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.PsHelpOutputExtensions; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell +{ + internal class MarkdownHelpInfo + { + public string ExternalHelpFilename { get; } + public string ModuleName { get; } + public string OnlineVersion { get; } + public Version Schema { get; } + + public string CmdletName { get; } + public string[] Aliases { get; } + public string Synopsis { get; } + public string Description { get; } + + public MarkdownSyntaxHelpInfo[] SyntaxInfos { get; } + public MarkdownExampleHelpInfo[] Examples { get; } + public MarkdownParameterHelpInfo[] Parameters { get; } + + public string[] Inputs { get; } + public string[] Outputs { get; } + public ComplexInterfaceInfo[] ComplexInterfaceInfos { get; } + public string[] RelatedLinks { get; } + + public bool SupportsShouldProcess { get; } + public bool SupportsPaging { get; } + + public MarkdownHelpInfo(VariantGroup variantGroup, string examplesFolder, string externalHelpFilename = "") + { + ExternalHelpFilename = externalHelpFilename; + ModuleName = variantGroup.RootModuleName != "" ? variantGroup.RootModuleName : variantGroup.ModuleName; + var helpInfo = variantGroup.HelpInfo; + var commentInfo = variantGroup.CommentInfo; + Schema = Version.Parse("2.0.0"); + + CmdletName = variantGroup.CmdletName; + Aliases = (variantGroup.Aliases.NullIfEmpty() ?? helpInfo.Aliases).Where(a => a != "None").ToArray(); + Synopsis = commentInfo.Synopsis; + Description = commentInfo.Description; + + SyntaxInfos = variantGroup.Variants + .Select(v => new MarkdownSyntaxHelpInfo(v, variantGroup.ParameterGroups, v.VariantName == variantGroup.DefaultParameterSetName)) + .OrderByDescending(v => v.IsDefault).ThenBy(v => v.ParameterSetName).ToArray(); + Examples = GetExamplesFromMarkdown(examplesFolder).NullIfEmpty() + ?? helpInfo.Examples.Select(e => e.ToExampleHelpInfo()).ToArray().NullIfEmpty() + ?? DefaultExampleHelpInfos; + + Parameters = variantGroup.ParameterGroups + .Where(pg => !pg.DontShow && !pg.Parameters.All(p => p.IsHidden())) + .Select(pg => new MarkdownParameterHelpInfo( + variantGroup.Variants.SelectMany(v => v.HelpInfo.Parameters).Where(phi => phi.Name == pg.ParameterName).ToArray(), pg)) + .OrderBy(phi => phi.Name).ToArray(); + + Inputs = commentInfo.Inputs; + Outputs = commentInfo.Outputs; + + ComplexInterfaceInfos = variantGroup.ComplexInterfaceInfos; + OnlineVersion = commentInfo.OnlineVersion; + RelatedLinks = commentInfo.RelatedLinks; + + SupportsShouldProcess = variantGroup.SupportsShouldProcess; + SupportsPaging = variantGroup.SupportsPaging; + } + + private MarkdownExampleHelpInfo[] GetExamplesFromMarkdown(string examplesFolder) + { + var filePath = Path.Combine(examplesFolder, $"{CmdletName}.md"); + if (!Directory.Exists(examplesFolder) || !File.Exists(filePath)) return null; + + var lines = File.ReadAllLines(filePath); + var nameIndices = lines.Select((l, i) => l.StartsWith(ExampleNameHeader) ? i : -1).Where(i => i != -1).ToArray(); + //https://codereview.stackexchange.com/a/187148/68772 + var indexCountGroups = nameIndices.Skip(1).Append(lines.Length).Zip(nameIndices, (next, current) => (NameIndex: current, LineCount: next - current)); + var exampleGroups = indexCountGroups.Select(icg => lines.Skip(icg.NameIndex).Take(icg.LineCount).ToArray()); + return exampleGroups.Select(eg => + { + var name = eg.First().Replace(ExampleNameHeader, String.Empty); + var codeStartIndex = eg.Select((l, i) => l.StartsWith(ExampleCodeHeader) ? (int?)i : null).FirstOrDefault(i => i.HasValue); + var codeEndIndex = eg.Select((l, i) => l.StartsWith(ExampleCodeFooter) ? (int?)i : null).FirstOrDefault(i => i.HasValue && i != codeStartIndex); + var code = codeStartIndex.HasValue && codeEndIndex.HasValue + ? String.Join(Environment.NewLine, eg.Skip(codeStartIndex.Value + 1).Take(codeEndIndex.Value - (codeStartIndex.Value + 1))) + : String.Empty; + var outputStartIndex = eg.Select((l, i) => l.StartsWith(ExampleOutputHeader) ? (int?)i : null).FirstOrDefault(i => i.HasValue); + var outputEndIndex = eg.Select((l, i) => l.StartsWith(ExampleOutputFooter) ? (int?)i : null).FirstOrDefault(i => i.HasValue && i > outputStartIndex); + var output = outputStartIndex.HasValue && outputEndIndex.HasValue + ? String.Join(Environment.NewLine, eg.Skip(outputStartIndex.Value + 1).Take(outputEndIndex.Value - (outputStartIndex.Value + 1))) + : String.Empty; + var descriptionStartIndex = (outputEndIndex ?? (codeEndIndex ?? 0)) + 1; + descriptionStartIndex = String.IsNullOrWhiteSpace(eg[descriptionStartIndex]) ? descriptionStartIndex + 1 : descriptionStartIndex; + var descriptionEndIndex = eg.Length - 1; + descriptionEndIndex = String.IsNullOrWhiteSpace(eg[descriptionEndIndex]) ? descriptionEndIndex - 1 : descriptionEndIndex; + var description = String.Join(Environment.NewLine, eg.Skip(descriptionStartIndex).Take((descriptionEndIndex + 1) - descriptionStartIndex)); + return new MarkdownExampleHelpInfo(name, code, output, description); + }).ToArray(); + } + } + + internal class MarkdownSyntaxHelpInfo + { + public Variant Variant { get; } + public bool IsDefault { get; } + public string ParameterSetName { get; } + public Parameter[] Parameters { get; } + public string SyntaxText { get; } + + public MarkdownSyntaxHelpInfo(Variant variant, ParameterGroup[] parameterGroups, bool isDefault) + { + Variant = variant; + IsDefault = isDefault; + ParameterSetName = Variant.VariantName; + Parameters = Variant.Parameters + .Where(p => !p.DontShow && !p.IsHidden()).OrderByDescending(p => p.IsMandatory) + //https://stackoverflow.com/a/6461526/294804 + .ThenByDescending(p => p.Position.HasValue).ThenBy(p => p.Position) + // Use the OrderCategory of the parameter group because the final order category is the highest of the group, and not the order category of the individual parameters from the variants. + .ThenBy(p => parameterGroups.First(pg => pg.ParameterName == p.ParameterName).OrderCategory).ThenBy(p => p.ParameterName).ToArray(); + SyntaxText = CreateSyntaxFormat(); + } + + //https://github.com/PowerShell/platyPS/blob/a607a926bfffe1e1a1e53c19e0057eddd0c07611/src/Markdown.MAML/Renderer/Markdownv2Renderer.cs#L29-L32 + private const int SyntaxLineWidth = 110; + private string CreateSyntaxFormat() + { + var parameterStrings = Parameters.Select(p => p.ToPropertySyntaxOutput().ToString()); + if (Variant.SupportsShouldProcess) + { + parameterStrings = parameterStrings.Append(" [-Confirm]").Append(" [-WhatIf]"); + } + parameterStrings = parameterStrings.Append(" []"); + + var lines = new List(20); + return parameterStrings.Aggregate(Variant.CmdletName, (current, ps) => + { + var combined = current + ps; + if (combined.Length <= SyntaxLineWidth) return combined; + + lines.Add(current); + return ps; + }, last => + { + lines.Add(last); + return String.Join(Environment.NewLine, lines); + }); + } + } + + internal class MarkdownExampleHelpInfo + { + public string Name { get; } + public string Code { get; } + public string Output { get; } + public string Description { get; } + + public MarkdownExampleHelpInfo(string name, string code, string output, string description) + { + Name = name; + Code = code; + Output = output; + Description = description; + } + } + + internal class MarkdownParameterHelpInfo + { + public string Name { get; set; } + public string Description { get; set; } + public Type Type { get; set; } + public string Position { get; set; } + public string DefaultValue { get; set; } + + public bool HasAllParameterSets { get; set; } + public string[] ParameterSetNames { get; set; } + public string[] Aliases { get; set; } + + public bool IsRequired { get; set; } + public bool IsDynamic { get; set; } + public bool AcceptsPipelineByValue { get; set; } + public bool AcceptsPipelineByPropertyName { get; set; } + public bool AcceptsWildcardCharacters { get; set; } + + // For use by common parameters that have no backing data in the objects themselves. + public MarkdownParameterHelpInfo() { } + + public MarkdownParameterHelpInfo(PsParameterHelpInfo[] parameterHelpInfos, ParameterGroup parameterGroup) + { + Name = parameterGroup.ParameterName; + Description = parameterGroup.Description.NullIfEmpty() + ?? parameterHelpInfos.Select(phi => phi.Description).FirstOrDefault(d => !String.IsNullOrEmpty(d)).EmptyIfNull(); + Type = parameterGroup.ParameterType; + Position = parameterGroup.FirstPosition?.ToString() + ?? parameterHelpInfos.Select(phi => phi.PositionText).FirstOrDefault(d => !String.IsNullOrEmpty(d)).ToUpperFirstCharacter().NullIfEmpty() + ?? "Named"; + // This no longer uses firstHelpInfo.DefaultValueAsString since it seems to be broken. For example, it has a value of 0 for Int32, but no default value was declared. + DefaultValue = parameterGroup.DefaultInfo?.Script ?? "None"; + + HasAllParameterSets = parameterGroup.HasAllVariants; + ParameterSetNames = (parameterGroup.Parameters.Select(p => p.VariantName).ToArray().NullIfEmpty() + ?? parameterHelpInfos.SelectMany(phi => phi.ParameterSetNames).Distinct()) + .OrderBy(psn => psn).ToArray(); + Aliases = parameterGroup.Aliases.NullIfEmpty() ?? parameterHelpInfos.SelectMany(phi => phi.Aliases).ToArray(); + + IsRequired = parameterHelpInfos.Select(phi => phi.IsRequired).FirstOrDefault(r => r == true) ?? parameterGroup.Parameters.Any(p => p.IsMandatory); + IsDynamic = parameterHelpInfos.Select(phi => phi.IsDynamic).FirstOrDefault(d => d == true) ?? false; + AcceptsPipelineByValue = parameterHelpInfos.Select(phi => phi.SupportsPipelineInput?.Contains("ByValue")).FirstOrDefault(bv => bv == true) ?? parameterGroup.ValueFromPipeline; + AcceptsPipelineByPropertyName = parameterHelpInfos.Select(phi => phi.SupportsPipelineInput?.Contains("ByPropertyName")).FirstOrDefault(bv => bv == true) ?? parameterGroup.ValueFromPipelineByPropertyName; + AcceptsWildcardCharacters = parameterGroup.SupportsWildcards; + } + } + + internal static class MarkdownTypesExtensions + { + public static MarkdownExampleHelpInfo ToExampleHelpInfo(this PsHelpExampleInfo exampleInfo) => new MarkdownExampleHelpInfo(exampleInfo.Title, exampleInfo.Code, exampleInfo.Output, exampleInfo.Remarks); + + public static MarkdownExampleHelpInfo[] DefaultExampleHelpInfos = + { + new MarkdownExampleHelpInfo("Example 1: {{ Add title here }}", $@"{{{{ Add code here }}}}", $@"{{{{ Add output here }}}}", @"{{ Add description here }}"), + new MarkdownExampleHelpInfo("Example 2: {{ Add title here }}", $@"{{{{ Add code here }}}}", $@"{{{{ Add output here }}}}", @"{{ Add description here }}"), + }; + + public static MarkdownParameterHelpInfo[] SupportsShouldProcessParameters = + { + new MarkdownParameterHelpInfo + { + Name = "Confirm", + Description ="Prompts you for confirmation before running the cmdlet.", + Type = typeof(SwitchParameter), + Position = "Named", + DefaultValue = "None", + HasAllParameterSets = true, + ParameterSetNames = new [] { "(All)" }, + Aliases = new [] { "cf" } + }, + new MarkdownParameterHelpInfo + { + Name = "WhatIf", + Description ="Shows what would happen if the cmdlet runs. The cmdlet is not run.", + Type = typeof(SwitchParameter), + Position = "Named", + DefaultValue = "None", + HasAllParameterSets = true, + ParameterSetNames = new [] { "(All)" }, + Aliases = new [] { "wi" } + } + }; + + public static MarkdownParameterHelpInfo[] SupportsPagingParameters = + { + new MarkdownParameterHelpInfo + { + Name = "First", + Description ="Gets only the first 'n' objects.", + Type = typeof(ulong), + Position = "Named", + DefaultValue = "None", + HasAllParameterSets = true, + ParameterSetNames = new [] { "(All)" }, + Aliases = new string[0] + }, + new MarkdownParameterHelpInfo + { + Name = "IncludeTotalCount", + Description ="Reports the number of objects in the data set (an integer) followed by the objects. If the cmdlet cannot determine the total count, it returns \"Unknown total count\".", + Type = typeof(SwitchParameter), + Position = "Named", + DefaultValue = "None", + HasAllParameterSets = true, + ParameterSetNames = new [] { "(All)" }, + Aliases = new string[0] + }, + new MarkdownParameterHelpInfo + { + Name = "Skip", + Description ="Ignores the first 'n' objects and then gets the remaining objects.", + Type = typeof(ulong), + Position = "Named", + DefaultValue = "None", + HasAllParameterSets = true, + ParameterSetNames = new [] { "(All)" }, + Aliases = new string[0] + } + }; + } +} diff --git a/swaggerci/billing/generated/runtime/BuildTime/Models/PsProxyOutputs.cs b/swaggerci/billing/generated/runtime/BuildTime/Models/PsProxyOutputs.cs new file mode 100644 index 000000000000..622e7272ed08 --- /dev/null +++ b/swaggerci/billing/generated/runtime/BuildTime/Models/PsProxyOutputs.cs @@ -0,0 +1,611 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using System.Text.RegularExpressions; +using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.PsProxyOutputExtensions; +using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.PsProxyTypeExtensions; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell +{ + internal class OutputTypeOutput + { + public PSTypeName[] OutputTypes { get; } + + public OutputTypeOutput(IEnumerable outputTypes) + { + OutputTypes = outputTypes.ToArray(); + } + + public override string ToString() => OutputTypes != null && OutputTypes.Any() ? $"[OutputType({OutputTypes.Select(ot => $"[{ot}]").JoinIgnoreEmpty(ItemSeparator)})]{Environment.NewLine}" : String.Empty; + } + + internal class CmdletBindingOutput + { + public VariantGroup VariantGroup { get; } + + public CmdletBindingOutput(VariantGroup variantGroup) + { + VariantGroup = variantGroup; + } + + public override string ToString() + { + var dpsText = VariantGroup.DefaultParameterSetName.IsValidDefaultParameterSetName() ? $"DefaultParameterSetName='{VariantGroup.DefaultParameterSetName}'" : String.Empty; + var sspText = VariantGroup.SupportsShouldProcess ? $"SupportsShouldProcess{ItemSeparator}ConfirmImpact='Medium'" : String.Empty; + var pbText = $"PositionalBinding={false.ToPsBool()}"; + var propertyText = new[] { dpsText, pbText, sspText }.JoinIgnoreEmpty(ItemSeparator); + return $"[CmdletBinding({propertyText})]{Environment.NewLine}"; + } + } + + internal class ParameterOutput + { + public Parameter Parameter { get; } + public bool HasMultipleVariantsInVariantGroup { get; } + public bool HasAllVariantsInParameterGroup { get; } + + public ParameterOutput(Parameter parameter, bool hasMultipleVariantsInVariantGroup, bool hasAllVariantsInParameterGroup) + { + Parameter = parameter; + HasMultipleVariantsInVariantGroup = hasMultipleVariantsInVariantGroup; + HasAllVariantsInParameterGroup = hasAllVariantsInParameterGroup; + } + + public override string ToString() + { + var psnText = HasMultipleVariantsInVariantGroup && !HasAllVariantsInParameterGroup ? $"ParameterSetName='{Parameter.VariantName}'" : String.Empty; + var positionText = Parameter.Position != null ? $"Position={Parameter.Position}" : String.Empty; + var mandatoryText = Parameter.IsMandatory ? "Mandatory" : String.Empty; + var dontShowText = Parameter.DontShow ? "DontShow" : String.Empty; + var vfpText = Parameter.ValueFromPipeline ? "ValueFromPipeline" : String.Empty; + var vfpbpnText = Parameter.ValueFromPipelineByPropertyName ? "ValueFromPipelineByPropertyName" : String.Empty; + var propertyText = new[] { psnText, positionText, mandatoryText, dontShowText, vfpText, vfpbpnText }.JoinIgnoreEmpty(ItemSeparator); + return $"{Indent}[Parameter({propertyText})]{Environment.NewLine}"; + } + } + + internal class AliasOutput + { + public string[] Aliases { get; } + public bool IncludeIndent { get; } + + public AliasOutput(string[] aliases, bool includeIndent = false) + { + Aliases = aliases; + IncludeIndent = includeIndent; + } + + public override string ToString() => Aliases?.Any() ?? false ? $"{(IncludeIndent ? Indent : String.Empty)}[Alias({Aliases.Select(an => $"'{an}'").JoinIgnoreEmpty(ItemSeparator)})]{Environment.NewLine}" : String.Empty; + } + + internal class ValidateNotNullOutput + { + public bool HasValidateNotNull { get; } + + public ValidateNotNullOutput(bool hasValidateNotNull) + { + HasValidateNotNull = hasValidateNotNull; + } + + public override string ToString() => HasValidateNotNull ? $"{Indent}[ValidateNotNull()]{Environment.NewLine}" : String.Empty; + } + + internal class AllowEmptyArrayOutput + { + public bool HasAllowEmptyArray { get; } + + public AllowEmptyArrayOutput(bool hasAllowEmptyArray) + { + HasAllowEmptyArray = hasAllowEmptyArray; + } + + public override string ToString() => HasAllowEmptyArray ? $"{Indent}[AllowEmptyCollection()]{Environment.NewLine}" : String.Empty; + } + internal class ArgumentCompleterOutput + { + public CompleterInfo CompleterInfo { get; } + + public ArgumentCompleterOutput(CompleterInfo completerInfo) + { + CompleterInfo = completerInfo; + } + + public override string ToString() => CompleterInfo != null + ? $"{Indent}[ArgumentCompleter({(CompleterInfo.IsTypeCompleter ? $"[{CompleterInfo.Type.Unwrap().ToPsType()}]" : $"{{{CompleterInfo.Script.ToPsSingleLine("; ")}}}")})]{Environment.NewLine}" + : String.Empty; + } + + internal class DefaultInfoOutput + { + public bool HasDefaultInfo { get; } + public DefaultInfo DefaultInfo { get; } + + public DefaultInfoOutput(ParameterGroup parameterGroup) + { + HasDefaultInfo = parameterGroup.HasDefaultInfo; + DefaultInfo = parameterGroup.DefaultInfo; + } + + public override string ToString() + { + var nameText = !String.IsNullOrEmpty(DefaultInfo?.Name) ? $"Name='{DefaultInfo?.Name}'" : String.Empty; + var descriptionText = !String.IsNullOrEmpty(DefaultInfo?.Description) ? $"Description='{DefaultInfo?.Description.ToPsStringLiteral()}'" : String.Empty; + var scriptText = !String.IsNullOrEmpty(DefaultInfo?.Script) ? $"Script='{DefaultInfo?.Script.ToPsSingleLine("; ")}'" : String.Empty; + var propertyText = new[] { nameText, descriptionText, scriptText }.JoinIgnoreEmpty(ItemSeparator); + return HasDefaultInfo ? $"{Indent}[{typeof(DefaultInfoAttribute).ToPsAttributeType()}({propertyText})]{Environment.NewLine}" : String.Empty; + } + } + + internal class ParameterTypeOutput + { + public Type ParameterType { get; } + + public ParameterTypeOutput(Type parameterType) + { + ParameterType = parameterType; + } + + public override string ToString() => $"{Indent}[{ParameterType.ToPsType()}]{Environment.NewLine}"; + } + + internal class ParameterNameOutput + { + public string ParameterName { get; } + public bool IsLast { get; } + + public ParameterNameOutput(string parameterName, bool isLast) + { + ParameterName = parameterName; + IsLast = isLast; + } + + public override string ToString() => $"{Indent}${{{ParameterName}}}{(IsLast ? String.Empty : $",{Environment.NewLine}")}{Environment.NewLine}"; + } + + internal class BaseOutput + { + public VariantGroup VariantGroup { get; } + + protected static readonly bool IsAzure = Convert.ToBoolean(@"true"); + public BaseOutput(VariantGroup variantGroup) + { + VariantGroup = variantGroup; + } + public string ClearTelemetryContext() + { + return (!VariantGroup.IsInternal && IsAzure) ? $@"{Indent}{Indent}[Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()" : ""; + } + } + + internal class BeginOutput : BaseOutput + { + public BeginOutput(VariantGroup variantGroup) : base(variantGroup) + { + } + + public string GetProcessCustomAttributesAtRuntime() + { + return VariantGroup.IsInternal ? "" : $@"{Indent}{Indent}$cmdInfo = Get-Command -Name $mapping[$parameterSet]{Environment.NewLine}{Indent}{Indent}[Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)"; + } + private string GetTelemetry() + { + if (!VariantGroup.IsInternal && IsAzure) + { + return $@" +{Indent}{Indent}if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {{ +{Indent}{Indent}{Indent}[Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $Host.Version.ToString() +{Indent}{Indent}}} +{Indent}{Indent}$preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId +{Indent}{Indent}if ($preTelemetryId -eq '') {{ +{Indent}{Indent}{Indent}[Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString() +{Indent}{Indent}{Indent}[Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet) +{Indent}{Indent}}} else {{ +{Indent}{Indent}{Indent}$internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets +{Indent}{Indent}{Indent}if ($internalCalledCmdlets -eq '') {{ +{Indent}{Indent}{Indent}{Indent}[Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name +{Indent}{Indent}{Indent}}} else {{ +{Indent}{Indent}{Indent}{Indent}[Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name +{Indent}{Indent}{Indent}}} +{Indent}{Indent}{Indent}[Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal' +{Indent}{Indent}}} +"; + } + return ""; + } + public override string ToString() => $@"begin {{ +{Indent}try {{ +{Indent}{Indent}$outBuffer = $null +{Indent}{Indent}if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {{ +{Indent}{Indent}{Indent}$PSBoundParameters['OutBuffer'] = 1 +{Indent}{Indent}}} +{Indent}{Indent}$parameterSet = $PSCmdlet.ParameterSetName +{GetTelemetry()} +{GetParameterSetToCmdletMapping()}{GetDefaultValuesStatements()} +{GetProcessCustomAttributesAtRuntime()} +{Indent}{Indent}$wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) +{Indent}{Indent}$scriptCmd = {{& $wrappedCmd @PSBoundParameters}} +{Indent}{Indent}$steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) +{Indent}{Indent}$steppablePipeline.Begin($PSCmdlet) +{Indent}}} catch {{ +{ClearTelemetryContext()} +{Indent}{Indent}throw +{Indent}}} +}} + +"; + + private string GetParameterSetToCmdletMapping() + { + var sb = new StringBuilder(); + sb.AppendLine($"{Indent}{Indent}$mapping = @{{"); + foreach (var variant in VariantGroup.Variants) + { + sb.AppendLine($@"{Indent}{Indent}{Indent}{variant.VariantName} = '{variant.PrivateModuleName}\{variant.PrivateCmdletName}';"); + } + sb.Append($"{Indent}{Indent}}}"); + return sb.ToString(); + } + + private string GetDefaultValuesStatements() + { + var defaultInfos = VariantGroup.ParameterGroups.Where(pg => pg.HasDefaultInfo).Select(pg => pg.DefaultInfo).ToArray(); + var sb = new StringBuilder(); + + foreach (var defaultInfo in defaultInfos) + { + var variantListString = defaultInfo.ParameterGroup.VariantNames.ToPsList(); + var parameterName = defaultInfo.ParameterGroup.ParameterName; + sb.AppendLine(); + sb.AppendLine($"{Indent}{Indent}if (({variantListString}) -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('{parameterName}')) {{"); + sb.AppendLine($"{Indent}{Indent}{Indent}$PSBoundParameters['{parameterName}'] = {defaultInfo.Script}"); + sb.Append($"{Indent}{Indent}}}"); + } + return sb.ToString(); + } + } + + internal class ProcessOutput : BaseOutput + { + public ProcessOutput(VariantGroup variantGroup) : base(variantGroup) + { + } + + private string GetFinally() + { + if (IsAzure && !VariantGroup.IsInternal) + { + return $@" +{Indent}finally {{ +{Indent}{Indent}$backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId +{Indent}{Indent}$backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets +{Indent}{Indent}[Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() +{Indent}}} +"; + } + return ""; + } + public override string ToString() => $@"process {{ +{Indent}try {{ +{Indent}{Indent}$steppablePipeline.Process($_) +{Indent}}} catch {{ +{ClearTelemetryContext()} +{Indent}{Indent}throw +{Indent}}} +{GetFinally()} +}} +"; + } + + internal class EndOutput : BaseOutput + { + public EndOutput(VariantGroup variantGroup) : base(variantGroup) + { + } + + private string GetTelemetry() + { + if (!VariantGroup.IsInternal && IsAzure) + { + return $@" +{Indent}{Indent}[Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId +{Indent}{Indent}[Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets +{Indent}{Indent}if ($preTelemetryId -eq '') {{ +{Indent}{Indent}{Indent}[Microsoft.Azure.PowerShell.Cmdlets.Billing.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet) +{Indent}{Indent}{Indent}[Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext() +{Indent}{Indent}}} +{Indent}{Indent}[Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId +"; + } + return ""; + } + public override string ToString() => $@"end {{ +{Indent}try {{ +{Indent}{Indent}$steppablePipeline.End() +{GetTelemetry()} +{Indent}}} catch {{ +{ClearTelemetryContext()} +{Indent}{Indent}throw +{Indent}}} +}} +"; + } + + internal class HelpCommentOutput + { + public VariantGroup VariantGroup { get; } + public CommentInfo CommentInfo { get; } + + public HelpCommentOutput(VariantGroup variantGroup) + { + VariantGroup = variantGroup; + CommentInfo = variantGroup.CommentInfo; + } + + public override string ToString() + { + var inputs = String.Join(Environment.NewLine, CommentInfo.Inputs.Select(i => $".Inputs{Environment.NewLine}{i}")); + var inputsText = !String.IsNullOrEmpty(inputs) ? $"{Environment.NewLine}{inputs}" : String.Empty; + var outputs = String.Join(Environment.NewLine, CommentInfo.Outputs.Select(o => $".Outputs{Environment.NewLine}{o}")); + var outputsText = !String.IsNullOrEmpty(outputs) ? $"{Environment.NewLine}{outputs}" : String.Empty; + var notes = String.Join($"{Environment.NewLine}{Environment.NewLine}", VariantGroup.ComplexInterfaceInfos.Select(cii => cii.ToNoteOutput())); + var notesText = !String.IsNullOrEmpty(notes) ? $"{Environment.NewLine}.Notes{Environment.NewLine}{ComplexParameterHeader}{notes}" : String.Empty; + var relatedLinks = String.Join(Environment.NewLine, CommentInfo.RelatedLinks.Select(l => $".Link{Environment.NewLine}{l}")); + var relatedLinksText = !String.IsNullOrEmpty(relatedLinks) ? $"{Environment.NewLine}{relatedLinks}" : String.Empty; + var examples = ""; + foreach (var example in VariantGroup.HelpInfo.Examples) + { + examples = examples + ".Example" + "\r\n" + example.Code + "\r\n"; + } + return $@"<# +.Synopsis +{CommentInfo.Synopsis.ToDescriptionFormat(false)} +.Description +{CommentInfo.Description.ToDescriptionFormat(false)} +{examples}{inputsText}{outputsText}{notesText} +.Link +{CommentInfo.OnlineVersion}{relatedLinksText} +#> +"; + } + } + + internal class ParameterDescriptionOutput + { + public string Description { get; } + + public ParameterDescriptionOutput(string description) + { + Description = description; + } + + public override string ToString() => !String.IsNullOrEmpty(Description) + ? Description.ToDescriptionFormat(false).NormalizeNewLines() + .Split(new[] { Environment.NewLine }, StringSplitOptions.None) + .Aggregate(String.Empty, (c, n) => c + $"{Indent}# {n}{Environment.NewLine}") + : String.Empty; + } + + internal class ProfileOutput + { + public string ProfileName { get; } + + public ProfileOutput(string profileName) + { + ProfileName = profileName; + } + + public override string ToString() => ProfileName != NoProfiles ? $"[{typeof(ProfileAttribute).ToPsAttributeType()}('{ProfileName}')]{Environment.NewLine}" : String.Empty; + } + + internal class DescriptionOutput + { + public string Description { get; } + + public DescriptionOutput(string description) + { + Description = description; + } + + public override string ToString() => !String.IsNullOrEmpty(Description) ? $"[{typeof(DescriptionAttribute).ToPsAttributeType()}('{Description.ToPsStringLiteral()}')]{Environment.NewLine}" : String.Empty; + } + + internal class ParameterCategoryOutput + { + public ParameterCategory Category { get; } + + public ParameterCategoryOutput(ParameterCategory category) + { + Category = category; + } + + public override string ToString() => $"{Indent}[{typeof(CategoryAttribute).ToPsAttributeType()}('{Category}')]{Environment.NewLine}"; + } + + internal class InfoOutput + { + public InfoAttribute Info { get; } + public Type ParameterType { get; } + + public InfoOutput(InfoAttribute info, Type parameterType) + { + Info = info; + ParameterType = parameterType; + } + + public override string ToString() + { + // Rendering of InfoAttribute members that are not used currently + /*var serializedNameText = Info.SerializedName != null ? $"SerializedName='{Info.SerializedName}'" : String.Empty; + var readOnlyText = Info.ReadOnly ? "ReadOnly" : String.Empty; + var descriptionText = !String.IsNullOrEmpty(Info.Description) ? $"Description='{Info.Description.ToPsStringLiteral()}'" : String.Empty;*/ + + var requiredText = Info.Required ? "Required" : String.Empty; + var unwrappedType = ParameterType.Unwrap(); + var hasValidPossibleTypes = Info.PossibleTypes.Any(pt => pt != unwrappedType); + var possibleTypesText = hasValidPossibleTypes + ? $"PossibleTypes=({Info.PossibleTypes.Select(pt => $"[{pt.ToPsType()}]").JoinIgnoreEmpty(ItemSeparator)})" + : String.Empty; + var propertyText = new[] { /*serializedNameText, */requiredText,/* readOnlyText,*/ possibleTypesText/*, descriptionText*/ }.JoinIgnoreEmpty(ItemSeparator); + return hasValidPossibleTypes ? $"{Indent}[{typeof(InfoAttribute).ToPsAttributeType()}({propertyText})]{Environment.NewLine}" : String.Empty; + } + } + + internal class PropertySyntaxOutput + { + public string ParameterName { get; } + public Type ParameterType { get; } + public bool IsMandatory { get; } + public int? Position { get; } + + public bool IncludeSpace { get; } + public bool IncludeDash { get; } + + public PropertySyntaxOutput(Parameter parameter) + { + ParameterName = parameter.ParameterName; + ParameterType = parameter.ParameterType; + IsMandatory = parameter.IsMandatory; + Position = parameter.Position; + IncludeSpace = true; + IncludeDash = true; + } + + public PropertySyntaxOutput(ComplexInterfaceInfo complexInterfaceInfo) + { + ParameterName = complexInterfaceInfo.Name; + ParameterType = complexInterfaceInfo.Type; + IsMandatory = complexInterfaceInfo.Required; + Position = null; + IncludeSpace = false; + IncludeDash = false; + } + + public override string ToString() + { + var leftOptional = !IsMandatory ? "[" : String.Empty; + var leftPositional = Position != null ? "[" : String.Empty; + var rightPositional = Position != null ? "]" : String.Empty; + var type = ParameterType != typeof(SwitchParameter) ? $" <{ParameterType.ToSyntaxTypeName()}>" : String.Empty; + var rightOptional = !IsMandatory ? "]" : String.Empty; + var space = IncludeSpace ? " " : String.Empty; + var dash = IncludeDash ? "-" : String.Empty; + return $"{space}{leftOptional}{leftPositional}{dash}{ParameterName}{rightPositional}{type}{rightOptional}"; + } + } + + internal static class PsProxyOutputExtensions + { + public const string NoParameters = "__NoParameters"; + + public const string AllParameterSets = "__AllParameterSets"; + + public const string HalfIndent = " "; + + public const string Indent = HalfIndent + HalfIndent; + + public const string ItemSeparator = ", "; + + public static readonly string ComplexParameterHeader = $"COMPLEX PARAMETER PROPERTIES{Environment.NewLine}{Environment.NewLine}To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.{Environment.NewLine}{Environment.NewLine}"; + + public static string ToPsBool(this bool value) => $"${value.ToString().ToLowerInvariant()}"; + + public static string ToPsType(this Type type) + { + var regex = new Regex(@"^(.*)`{1}\d+(.*)$"); + var typeText = type.ToString(); + var match = regex.Match(typeText); + return match.Success ? $"{match.Groups[1]}{match.Groups[2]}" : typeText; + } + + public static string ToPsAttributeType(this Type type) => type.ToPsType().RemoveEnd("Attribute"); + + // https://stackoverflow.com/a/5284606/294804 + private static string RemoveEnd(this string text, string suffix) => text.EndsWith(suffix) ? text.Substring(0, text.Length - suffix.Length) : text; + + public static string ToPsSingleLine(this string value, string replacer = " ") => value.ReplaceNewLines(replacer, new[] { "
", "\r\n", "\n" }); + + public static string ToPsStringLiteral(this string value) => value?.Replace("'", "''").Replace("‘", "''").Replace("’", "''").ToPsSingleLine().Trim() ?? String.Empty; + + public static string JoinIgnoreEmpty(this IEnumerable values, string separator) => String.Join(separator, values?.Where(v => !String.IsNullOrEmpty(v))); + + // https://stackoverflow.com/a/41961738/294804 + public static string ToSyntaxTypeName(this Type type) + { + if (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(Nullable<>)) + { + return $"{type.GetGenericArguments().First().ToSyntaxTypeName()}?"; + } + + if (type.IsGenericType) + { + var genericTypes = String.Join(ItemSeparator, type.GetGenericArguments().Select(ToSyntaxTypeName)); + return $"{type.Name.Split('`').First()}<{genericTypes}>"; + } + + return type.Name; + } + + public static OutputTypeOutput ToOutputTypeOutput(this IEnumerable outputTypes) => new OutputTypeOutput(outputTypes); + + public static CmdletBindingOutput ToCmdletBindingOutput(this VariantGroup variantGroup) => new CmdletBindingOutput(variantGroup); + + public static ParameterOutput ToParameterOutput(this Parameter parameter, bool hasMultipleVariantsInVariantGroup, bool hasAllVariantsInParameterGroup) => new ParameterOutput(parameter, hasMultipleVariantsInVariantGroup, hasAllVariantsInParameterGroup); + + public static AliasOutput ToAliasOutput(this string[] aliases, bool includeIndent = false) => new AliasOutput(aliases, includeIndent); + + public static ValidateNotNullOutput ToValidateNotNullOutput(this bool hasValidateNotNull) => new ValidateNotNullOutput(hasValidateNotNull); + + public static AllowEmptyArrayOutput ToAllowEmptyArray(this bool hasAllowEmptyArray) => new AllowEmptyArrayOutput(hasAllowEmptyArray); + + public static ArgumentCompleterOutput ToArgumentCompleterOutput(this CompleterInfo completerInfo) => new ArgumentCompleterOutput(completerInfo); + + public static DefaultInfoOutput ToDefaultInfoOutput(this ParameterGroup parameterGroup) => new DefaultInfoOutput(parameterGroup); + + public static ParameterTypeOutput ToParameterTypeOutput(this Type parameterType) => new ParameterTypeOutput(parameterType); + + public static ParameterNameOutput ToParameterNameOutput(this string parameterName, bool isLast) => new ParameterNameOutput(parameterName, isLast); + + public static BeginOutput ToBeginOutput(this VariantGroup variantGroup) => new BeginOutput(variantGroup); + + public static ProcessOutput ToProcessOutput(this VariantGroup variantGroup) => new ProcessOutput(variantGroup); + + public static EndOutput ToEndOutput(this VariantGroup variantGroup) => new EndOutput(variantGroup); + + public static HelpCommentOutput ToHelpCommentOutput(this VariantGroup variantGroup) => new HelpCommentOutput(variantGroup); + + public static ParameterDescriptionOutput ToParameterDescriptionOutput(this string description) => new ParameterDescriptionOutput(description); + + public static ProfileOutput ToProfileOutput(this string profileName) => new ProfileOutput(profileName); + + public static DescriptionOutput ToDescriptionOutput(this string description) => new DescriptionOutput(description); + + public static ParameterCategoryOutput ToParameterCategoryOutput(this ParameterCategory category) => new ParameterCategoryOutput(category); + + public static PropertySyntaxOutput ToPropertySyntaxOutput(this Parameter parameter) => new PropertySyntaxOutput(parameter); + + public static PropertySyntaxOutput ToPropertySyntaxOutput(this ComplexInterfaceInfo complexInterfaceInfo) => new PropertySyntaxOutput(complexInterfaceInfo); + + public static InfoOutput ToInfoOutput(this InfoAttribute info, Type parameterType) => new InfoOutput(info, parameterType); + + public static string ToNoteOutput(this ComplexInterfaceInfo complexInterfaceInfo, string currentIndent = "", bool includeDashes = false, bool includeBackticks = false, bool isFirst = true) + { + string RenderProperty(ComplexInterfaceInfo info, string indent, bool dash, bool backtick) => + $"{indent}{(dash ? "- " : String.Empty)}{(backtick ? "`" : String.Empty)}{info.ToPropertySyntaxOutput()}{(backtick ? "`" : String.Empty)}: {info.Description}"; + + var nested = complexInterfaceInfo.NestedInfos.Select(ni => + { + var nestedIndent = $"{currentIndent}{HalfIndent}"; + return ni.IsComplexInterface + ? ni.ToNoteOutput(nestedIndent, includeDashes, includeBackticks, false) + : RenderProperty(ni, nestedIndent, includeDashes, includeBackticks); + }).Prepend(RenderProperty(complexInterfaceInfo, currentIndent, !isFirst && includeDashes, includeBackticks)); + return String.Join(Environment.NewLine, nested); + } + } +} diff --git a/swaggerci/billing/generated/runtime/BuildTime/Models/PsProxyTypes.cs b/swaggerci/billing/generated/runtime/BuildTime/Models/PsProxyTypes.cs new file mode 100644 index 000000000000..7f04cb23028b --- /dev/null +++ b/swaggerci/billing/generated/runtime/BuildTime/Models/PsProxyTypes.cs @@ -0,0 +1,514 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Management.Automation; +using System.Reflection; +using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.PsProxyOutputExtensions; +using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell.PsProxyTypeExtensions; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell +{ + internal class ProfileGroup + { + public string ProfileName { get; } + public Variant[] Variants { get; } + public string ProfileFolder { get; } + + public ProfileGroup(Variant[] variants, string profileName = NoProfiles) + { + ProfileName = profileName; + Variants = variants; + ProfileFolder = ProfileName != NoProfiles ? ProfileName : String.Empty; + } + } + + internal class VariantGroup + { + public string ModuleName { get; } + + public string RootModuleName {get => @"";} + public string CmdletName { get; } + public string CmdletVerb { get; } + public string CmdletNoun { get; } + public string ProfileName { get; } + public Variant[] Variants { get; } + public ParameterGroup[] ParameterGroups { get; } + public ComplexInterfaceInfo[] ComplexInterfaceInfos { get; } + + public string[] Aliases { get; } + public PSTypeName[] OutputTypes { get; } + public bool SupportsShouldProcess { get; } + public bool SupportsPaging { get; } + public string DefaultParameterSetName { get; } + public bool HasMultipleVariants { get; } + public PsHelpInfo HelpInfo { get; } + public bool IsGenerated { get; } + public bool IsInternal { get; } + + public string OutputFolder { get; } + public string FileName { get; } + public string FilePath { get; } + + public CommentInfo CommentInfo { get; } + + public VariantGroup(string moduleName, string cmdletName, Variant[] variants, string outputFolder, string profileName = NoProfiles, bool isTest = false, bool isInternal = false) + { + ModuleName = moduleName; + CmdletName = cmdletName; + var cmdletNameParts = CmdletName.Split('-'); + CmdletVerb = cmdletNameParts.First(); + CmdletNoun = cmdletNameParts.Last(); + ProfileName = profileName; + Variants = variants; + ParameterGroups = Variants.ToParameterGroups().OrderBy(pg => pg.OrderCategory).ThenByDescending(pg => pg.IsMandatory).ToArray(); + var aliasDuplicates = ParameterGroups.SelectMany(pg => pg.Aliases) + //https://stackoverflow.com/a/18547390/294804 + .GroupBy(a => a).Where(g => g.Count() > 1).Select(g => g.Key).ToArray(); + if (aliasDuplicates.Any()) + { + throw new ParsingMetadataException($"The alias(es) [{String.Join(", ", aliasDuplicates)}] are defined on multiple parameters for cmdlet '{CmdletName}', which is not supported."); + } + ComplexInterfaceInfos = ParameterGroups.Where(pg => !pg.DontShow && pg.IsComplexInterface).OrderBy(pg => pg.ParameterName).Select(pg => pg.ComplexInterfaceInfo).ToArray(); + + Aliases = Variants.SelectMany(v => v.Attributes).ToAliasNames().ToArray(); + OutputTypes = Variants.SelectMany(v => v.Info.OutputType).Where(ot => ot.Type != null).GroupBy(ot => ot.Type).Select(otg => otg.First()).ToArray(); + SupportsShouldProcess = Variants.Any(v => v.SupportsShouldProcess); + SupportsPaging = Variants.Any(v => v.SupportsPaging); + DefaultParameterSetName = DetermineDefaultParameterSetName(); + HasMultipleVariants = Variants.Length > 1; + HelpInfo = Variants.Select(v => v.HelpInfo).FirstOrDefault() ?? new PsHelpInfo(); + IsGenerated = Variants.All(v => v.Attributes.OfType().Any()); + IsInternal = isInternal; + + OutputFolder = outputFolder; + FileName = $"{CmdletName}{(isTest ? ".Tests" : String.Empty)}.ps1"; + FilePath = Path.Combine(OutputFolder, FileName); + + CommentInfo = new CommentInfo(this); + } + + private string DetermineDefaultParameterSetName() + { + var defaultParameterSet = Variants + .Select(v => v.Metadata.DefaultParameterSetName) + .LastOrDefault(dpsn => dpsn.IsValidDefaultParameterSetName()); + + if (String.IsNullOrEmpty(defaultParameterSet)) + { + var variantParamCountGroups = Variants + .Select(v => ( + variant: v.VariantName, + paramCount: v.CmdletOnlyParameters.Count(p => p.IsMandatory), + isSimple: v.CmdletOnlyParameters.Where(p => p.IsMandatory).All(p => p.ParameterType.IsPsSimple()))) + .GroupBy(vpc => vpc.isSimple) + .ToArray(); + var variantParameterCounts = (variantParamCountGroups.Any(g => g.Key) ? variantParamCountGroups.Where(g => g.Key) : variantParamCountGroups).SelectMany(g => g).ToArray(); + var smallestParameterCount = variantParameterCounts.Min(vpc => vpc.paramCount); + defaultParameterSet = variantParameterCounts.First(vpc => vpc.paramCount == smallestParameterCount).variant; + } + + return defaultParameterSet; + } + } + + internal class Variant + { + public string CmdletName { get; } + public string VariantName { get; } + public CommandInfo Info { get; } + public CommandMetadata Metadata { get; } + public PsHelpInfo HelpInfo { get; } + public bool HasParameterSets { get; } + public bool IsFunction { get; } + public string PrivateModuleName { get; } + public string PrivateCmdletName { get; } + public bool SupportsShouldProcess { get; } + public bool SupportsPaging { get; } + + public Attribute[] Attributes { get; } + public Parameter[] Parameters { get; } + public Parameter[] CmdletOnlyParameters { get; } + public bool IsInternal { get; } + public bool IsDoNotExport { get; } + public string[] Profiles { get; } + + public Variant(string cmdletName, string variantName, CommandInfo info, CommandMetadata metadata, bool hasParameterSets = false, PsHelpInfo helpInfo = null) + { + CmdletName = cmdletName; + VariantName = variantName; + Info = info; + HelpInfo = helpInfo ?? new PsHelpInfo(); + Metadata = metadata; + HasParameterSets = hasParameterSets; + IsFunction = Info.CommandType == CommandTypes.Function; + PrivateModuleName = Info.Source; + PrivateCmdletName = Metadata.Name; + SupportsShouldProcess = Metadata.SupportsShouldProcess; + SupportsPaging = Metadata.SupportsPaging; + + Attributes = this.ToAttributes(); + Parameters = this.ToParameters().OrderBy(p => p.OrderCategory).ThenByDescending(p => p.IsMandatory).ToArray(); + IsInternal = Attributes.OfType().Any(); + IsDoNotExport = Attributes.OfType().Any(); + CmdletOnlyParameters = Parameters.Where(p => !p.Categories.Any(c => c == ParameterCategory.Azure || c == ParameterCategory.Runtime)).ToArray(); + Profiles = Attributes.OfType().SelectMany(pa => pa.Profiles).ToArray(); + } + } + + internal class ParameterGroup + { + public string ParameterName { get; } + public Parameter[] Parameters { get; } + + public string[] VariantNames { get; } + public string[] AllVariantNames { get; } + public bool HasAllVariants { get; } + public Type ParameterType { get; } + public string Description { get; } + + public string[] Aliases { get; } + public bool HasValidateNotNull { get; } + public bool HasAllowEmptyArray { get; } + public CompleterInfo CompleterInfo { get; } + public DefaultInfo DefaultInfo { get; } + public bool HasDefaultInfo { get; } + public ParameterCategory OrderCategory { get; } + public bool DontShow { get; } + public bool IsMandatory { get; } + public bool SupportsWildcards { get; } + public bool IsComplexInterface { get; } + public ComplexInterfaceInfo ComplexInterfaceInfo { get; } + public InfoAttribute InfoAttribute { get; } + + public int? FirstPosition { get; } + public bool ValueFromPipeline { get; } + public bool ValueFromPipelineByPropertyName { get; } + public bool IsInputType { get; } + + public ParameterGroup(string parameterName, Parameter[] parameters, string[] allVariantNames) + { + ParameterName = parameterName; + Parameters = parameters; + + VariantNames = Parameters.Select(p => p.VariantName).ToArray(); + AllVariantNames = allVariantNames; + HasAllVariants = VariantNames.Any(vn => vn == AllParameterSets) || !AllVariantNames.Except(VariantNames).Any(); + var types = Parameters.Select(p => p.ParameterType).Distinct().ToArray(); + if (types.Length > 1) + { + throw new ParsingMetadataException($"The parameter '{ParameterName}' has multiple parameter types [{String.Join(", ", types.Select(t => t.Name))}] defined, which is not supported."); + } + ParameterType = types.First(); + Description = Parameters.Select(p => p.Description).FirstOrDefault(d => !String.IsNullOrEmpty(d)).EmptyIfNull(); + + Aliases = Parameters.SelectMany(p => p.Attributes).ToAliasNames().ToArray(); + HasValidateNotNull = Parameters.SelectMany(p => p.Attributes.OfType()).Any(); + HasAllowEmptyArray = Parameters.SelectMany(p => p.Attributes.OfType()).Any(); + CompleterInfo = Parameters.Select(p => p.CompleterInfoAttribute).FirstOrDefault()?.ToCompleterInfo() + ?? Parameters.Select(p => p.ArgumentCompleterAttribute).FirstOrDefault()?.ToCompleterInfo(); + DefaultInfo = Parameters.Select(p => p.DefaultInfoAttribute).FirstOrDefault()?.ToDefaultInfo(this) + ?? Parameters.Select(p => p.DefaultValueAttribute).FirstOrDefault(dv => dv != null)?.ToDefaultInfo(this); + HasDefaultInfo = DefaultInfo != null && !String.IsNullOrEmpty(DefaultInfo.Script); + // When DefaultInfo is present, force all parameters from this group to be optional. + if (HasDefaultInfo) + { + foreach (var parameter in Parameters) + { + parameter.IsMandatory = false; + } + } + OrderCategory = Parameters.Select(p => p.OrderCategory).Distinct().DefaultIfEmpty(ParameterCategory.Body).Min(); + DontShow = Parameters.All(p => p.DontShow); + IsMandatory = HasAllVariants && Parameters.Any(p => p.IsMandatory); + SupportsWildcards = Parameters.Any(p => p.SupportsWildcards); + IsComplexInterface = Parameters.Any(p => p.IsComplexInterface); + ComplexInterfaceInfo = Parameters.Where(p => p.IsComplexInterface).Select(p => p.ComplexInterfaceInfo).FirstOrDefault(); + InfoAttribute = Parameters.Select(p => p.InfoAttribute).First(); + + FirstPosition = Parameters.Select(p => p.Position).FirstOrDefault(p => p != null); + ValueFromPipeline = Parameters.Any(p => p.ValueFromPipeline); + ValueFromPipelineByPropertyName = Parameters.Any(p => p.ValueFromPipelineByPropertyName); + IsInputType = ValueFromPipeline || ValueFromPipelineByPropertyName; + } + } + + internal class Parameter + { + public string VariantName { get; } + public string ParameterName { get; } + public ParameterMetadata Metadata { get; } + public PsParameterHelpInfo HelpInfo { get; } + public Type ParameterType { get; } + + public Attribute[] Attributes { get; } + public ParameterCategory[] Categories { get; } + public ParameterCategory OrderCategory { get; } + public PSDefaultValueAttribute DefaultValueAttribute { get; } + public DefaultInfoAttribute DefaultInfoAttribute { get; } + public ParameterAttribute ParameterAttribute { get; } + public bool SupportsWildcards { get; } + public CompleterInfoAttribute CompleterInfoAttribute { get; } + public ArgumentCompleterAttribute ArgumentCompleterAttribute { get; } + + public bool ValueFromPipeline { get; } + public bool ValueFromPipelineByPropertyName { get; } + public int? Position { get; } + public bool DontShow { get; } + public bool IsMandatory { get; set; } + + public InfoAttribute InfoAttribute { get; } + public ComplexInterfaceInfo ComplexInterfaceInfo { get; } + public bool IsComplexInterface { get; } + public string Description { get; } + + public Parameter(string variantName, string parameterName, ParameterMetadata metadata, PsParameterHelpInfo helpInfo = null) + { + VariantName = variantName; + ParameterName = parameterName; + Metadata = metadata; + HelpInfo = helpInfo ?? new PsParameterHelpInfo(); + + Attributes = Metadata.Attributes.ToArray(); + ParameterType = Attributes.OfType().FirstOrDefault()?.Type ?? Metadata.ParameterType; + Categories = Attributes.OfType().SelectMany(ca => ca.Categories).Distinct().ToArray(); + OrderCategory = Categories.DefaultIfEmpty(ParameterCategory.Body).Min(); + DefaultValueAttribute = Attributes.OfType().FirstOrDefault(); + DefaultInfoAttribute = Attributes.OfType().FirstOrDefault(); + ParameterAttribute = Attributes.OfType().FirstOrDefault(pa => pa.ParameterSetName == VariantName || pa.ParameterSetName == AllParameterSets); + if (ParameterAttribute == null) + { + throw new ParsingMetadataException($"The variant '{VariantName}' has multiple parameter sets defined, which is not supported."); + } + SupportsWildcards = Attributes.OfType().Any(); + CompleterInfoAttribute = Attributes.OfType().FirstOrDefault(); + ArgumentCompleterAttribute = Attributes.OfType().FirstOrDefault(); + + ValueFromPipeline = ParameterAttribute.ValueFromPipeline; + ValueFromPipelineByPropertyName = ParameterAttribute.ValueFromPipelineByPropertyName; + Position = ParameterAttribute.Position == Int32.MinValue ? (int?)null : ParameterAttribute.Position; + DontShow = ParameterAttribute.DontShow; + IsMandatory = ParameterAttribute.Mandatory; + + var complexParameterName = ParameterName.ToUpperInvariant(); + var complexMessage = $"{Environment.NewLine}To construct, see NOTES section for {complexParameterName} properties and create a hash table."; + var description = ParameterAttribute.HelpMessage.NullIfEmpty() ?? HelpInfo.Description.NullIfEmpty() ?? InfoAttribute?.Description.NullIfEmpty() ?? String.Empty; + // Remove the complex type message as it will be reinserted if this is a complex type + description = description.NormalizeNewLines().Replace(complexMessage, String.Empty).Replace(complexMessage.ToPsSingleLine(), String.Empty); + // Make an InfoAttribute for processing only if one isn't provided + InfoAttribute = Attributes.OfType().FirstOrDefault() ?? new InfoAttribute { PossibleTypes = new[] { ParameterType.Unwrap() }, Required = IsMandatory }; + // Set the description if the InfoAttribute does not have one since they are exported without a description + InfoAttribute.Description = String.IsNullOrEmpty(InfoAttribute.Description) ? description : InfoAttribute.Description; + ComplexInterfaceInfo = InfoAttribute.ToComplexInterfaceInfo(complexParameterName, ParameterType, true); + IsComplexInterface = ComplexInterfaceInfo.IsComplexInterface; + Description = $"{description}{(IsComplexInterface ? complexMessage : String.Empty)}"; + } + } + + internal class ComplexInterfaceInfo + { + public InfoAttribute InfoAttribute { get; } + + public string Name { get; } + public Type Type { get; } + public bool Required { get; } + public bool ReadOnly { get; } + public string Description { get; } + + public ComplexInterfaceInfo[] NestedInfos { get; } + public bool IsComplexInterface { get; } + + public ComplexInterfaceInfo(string name, Type type, InfoAttribute infoAttribute, bool? required, List seenTypes) + { + Name = name; + Type = type; + InfoAttribute = infoAttribute; + + Required = required ?? InfoAttribute.Required; + ReadOnly = InfoAttribute.ReadOnly; + Description = InfoAttribute.Description.ToPsSingleLine(); + + var unwrappedType = Type.Unwrap(); + var hasBeenSeen = seenTypes?.Contains(unwrappedType) ?? false; + (seenTypes ?? (seenTypes = new List())).Add(unwrappedType); + NestedInfos = hasBeenSeen ? new ComplexInterfaceInfo[]{} : + unwrappedType.GetInterfaces() + .Concat(InfoAttribute.PossibleTypes) + .SelectMany(pt => pt.GetProperties() + .SelectMany(pi => pi.GetCustomAttributes(true).OfType() + .Select(ia => ia.ToComplexInterfaceInfo(pi.Name, pi.PropertyType, seenTypes: seenTypes)))) + .Where(cii => !cii.ReadOnly).OrderByDescending(cii => cii.Required).ToArray(); + // https://stackoverflow.com/a/503359/294804 + var associativeArrayInnerType = Type.GetInterfaces() + .FirstOrDefault(i => i.IsGenericType && i.GetGenericTypeDefinition() == typeof(IAssociativeArray<>)) + ?.GetTypeInfo().GetGenericArguments().First(); + if (!hasBeenSeen && associativeArrayInnerType != null) + { + var anyInfo = new InfoAttribute { Description = "This indicates any property can be added to this object." }; + NestedInfos = NestedInfos.Prepend(anyInfo.ToComplexInterfaceInfo("(Any)", associativeArrayInnerType)).ToArray(); + } + IsComplexInterface = NestedInfos.Any(); + } + } + + internal class CommentInfo + { + public string Description { get; } + public string Synopsis { get; } + + public string[] Examples { get; } + public string[] Inputs { get; } + public string[] Outputs { get; } + + public string OnlineVersion { get; } + public string[] RelatedLinks { get; } + + private const string HelpLinkPrefix = @"https://docs.microsoft.com/en-us/powershell/module/"; + + public CommentInfo(VariantGroup variantGroup) + { + var helpInfo = variantGroup.HelpInfo; + Description = variantGroup.Variants.SelectMany(v => v.Attributes).OfType().FirstOrDefault()?.Description.NullIfEmpty() + ?? helpInfo.Description.EmptyIfNull(); + // If there is no Synopsis, PowerShell may put in the Syntax string as the Synopsis. This seems unintended, so we remove the Synopsis in this situation. + var synopsis = helpInfo.Synopsis.EmptyIfNull().Trim().StartsWith(variantGroup.CmdletName) ? String.Empty : helpInfo.Synopsis; + Synopsis = synopsis.NullIfEmpty() ?? Description; + + Examples = helpInfo.Examples.Select(rl => rl.Code).ToArray(); + + Inputs = (variantGroup.ParameterGroups.Where(pg => pg.IsInputType).Select(pg => pg.ParameterType.FullName).ToArray().NullIfEmpty() ?? + helpInfo.InputTypes.Where(it => it.Name.NullIfWhiteSpace() != null).Select(it => it.Name).ToArray()) + .Where(i => i != "None").Distinct().OrderBy(i => i).ToArray(); + Outputs = (variantGroup.OutputTypes.Select(ot => ot.Type.FullName).ToArray().NullIfEmpty() ?? + helpInfo.OutputTypes.Where(it => it.Name.NullIfWhiteSpace() != null).Select(ot => ot.Name).ToArray()) + .Where(o => o != "None").Distinct().OrderBy(o => o).ToArray(); + + // Use root module name in the help link + var moduleName = variantGroup.RootModuleName == "" ? variantGroup.ModuleName.ToLowerInvariant() : variantGroup.RootModuleName.ToLowerInvariant(); + OnlineVersion = helpInfo.OnlineVersion?.Uri.NullIfEmpty() ?? $@"{HelpLinkPrefix}{moduleName}/{variantGroup.CmdletName.ToLowerInvariant()}"; + RelatedLinks = helpInfo.RelatedLinks.Select(rl => rl.Text).ToArray(); + } + } + + internal class CompleterInfo + { + public string Name { get; } + public string Description { get; } + public string Script { get; } + public Type Type { get; } + public bool IsTypeCompleter { get; } + + public CompleterInfo(CompleterInfoAttribute infoAttribute) + { + Name = infoAttribute.Name; + Description = infoAttribute.Description; + Script = infoAttribute.Script; + } + + public CompleterInfo(ArgumentCompleterAttribute completerAttribute) + { + Script = completerAttribute.ScriptBlock?.ToString(); + if (completerAttribute.Type != null) + { + Type = completerAttribute.Type; + IsTypeCompleter = true; + } + } + } + + internal class DefaultInfo + { + public string Name { get; } + public string Description { get; } + public string Script { get; } + public ParameterGroup ParameterGroup { get; } + + public DefaultInfo(DefaultInfoAttribute infoAttribute, ParameterGroup parameterGroup) + { + Name = infoAttribute.Name; + Description = infoAttribute.Description; + Script = infoAttribute.Script; + ParameterGroup = parameterGroup; + } + + public DefaultInfo(PSDefaultValueAttribute defaultValueAttribute, ParameterGroup parameterGroup) + { + Description = defaultValueAttribute.Help; + ParameterGroup = parameterGroup; + if (defaultValueAttribute.Value != null) + { + Script = defaultValueAttribute.Value.ToString(); + } + } + } + + internal static class PsProxyTypeExtensions + { + public const string NoProfiles = "__NoProfiles"; + + public static bool IsValidDefaultParameterSetName(this string parameterSetName) => + !String.IsNullOrEmpty(parameterSetName) && parameterSetName != AllParameterSets; + + public static Variant[] ToVariants(this CommandInfo info, PsHelpInfo helpInfo) + { + var metadata = new CommandMetadata(info); + var privateCmdletName = metadata.Name.Split('!').First(); + var parts = privateCmdletName.Split('_'); + return parts.Length > 1 + ? new[] { new Variant(parts[0], parts[1], info, metadata, helpInfo: helpInfo) } + // Process multiple parameter sets, so we declare a variant per parameter set. + : info.ParameterSets.Select(ps => new Variant(privateCmdletName, ps.Name, info, metadata, true, helpInfo)).ToArray(); + } + + public static Variant[] ToVariants(this CmdletAndHelpInfo info) => info.CommandInfo.ToVariants(info.HelpInfo); + + public static Variant[] ToVariants(this CommandInfo info, PSObject helpInfo = null) => info.ToVariants(helpInfo?.ToPsHelpInfo()); + + public static Parameter[] ToParameters(this Variant variant) + { + var parameters = variant.Metadata.Parameters.AsEnumerable(); + var parameterHelp = variant.HelpInfo.Parameters.AsEnumerable(); + + if (variant.HasParameterSets) + { + parameters = parameters.Where(p => p.Value.ParameterSets.Keys.Any(k => k == variant.VariantName || k == AllParameterSets)); + parameterHelp = parameterHelp.Where(ph => (!ph.ParameterSetNames.Any() || ph.ParameterSetNames.Any(psn => psn == variant.VariantName || psn == AllParameterSets)) && ph.Name != "IncludeTotalCount"); + } + var result = parameters.Select(p => new Parameter(variant.VariantName, p.Key, p.Value, parameterHelp.FirstOrDefault(ph => ph.Name == p.Key))); + if (variant.SupportsPaging) { + // If supportsPaging is set, we will need to add First and Skip parameters since they are treated as common parameters which as not contained on Metadata>parameters + variant.Info.Parameters["First"].Attributes.OfType().FirstOrDefault(pa => pa.ParameterSetName == variant.VariantName || pa.ParameterSetName == AllParameterSets).HelpMessage = "Gets only the first 'n' objects."; + variant.Info.Parameters["Skip"].Attributes.OfType().FirstOrDefault(pa => pa.ParameterSetName == variant.VariantName || pa.ParameterSetName == AllParameterSets).HelpMessage = "Ignores the first 'n' objects and then gets the remaining objects."; + result = result.Append(new Parameter(variant.VariantName, "First", variant.Info.Parameters["First"], parameterHelp.FirstOrDefault(ph => ph.Name == "First"))); + result = result.Append(new Parameter(variant.VariantName, "Skip", variant.Info.Parameters["Skip"], parameterHelp.FirstOrDefault(ph => ph.Name == "Skip"))); + } + return result.ToArray(); + } + + public static Attribute[] ToAttributes(this Variant variant) => variant.IsFunction + ? ((FunctionInfo)variant.Info).ScriptBlock.Attributes.ToArray() + : variant.Metadata.CommandType.GetCustomAttributes(false).Cast().ToArray(); + + public static IEnumerable ToParameterGroups(this Variant[] variants) + { + var allVariantNames = variants.Select(vg => vg.VariantName).ToArray(); + return variants + .SelectMany(v => v.Parameters) + .GroupBy(p => p.ParameterName, StringComparer.InvariantCultureIgnoreCase) + .Select(pg => new ParameterGroup(pg.Key, pg.Select(p => p).ToArray(), allVariantNames)); + } + + public static ComplexInterfaceInfo ToComplexInterfaceInfo(this InfoAttribute infoAttribute, string name, Type type, bool? required = null, List seenTypes = null) + => new ComplexInterfaceInfo(name, type, infoAttribute, required, seenTypes); + + public static CompleterInfo ToCompleterInfo(this CompleterInfoAttribute infoAttribute) => new CompleterInfo(infoAttribute); + public static CompleterInfo ToCompleterInfo(this ArgumentCompleterAttribute completerAttribute) => new CompleterInfo(completerAttribute); + + public static DefaultInfo ToDefaultInfo(this DefaultInfoAttribute infoAttribute, ParameterGroup parameterGroup) => new DefaultInfo(infoAttribute, parameterGroup); + public static DefaultInfo ToDefaultInfo(this PSDefaultValueAttribute defaultValueAttribute, ParameterGroup parameterGroup) => new DefaultInfo(defaultValueAttribute, parameterGroup); + } +} diff --git a/swaggerci/billing/generated/runtime/BuildTime/PsAttributes.cs b/swaggerci/billing/generated/runtime/BuildTime/PsAttributes.cs new file mode 100644 index 000000000000..08c343583ed0 --- /dev/null +++ b/swaggerci/billing/generated/runtime/BuildTime/PsAttributes.cs @@ -0,0 +1,114 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing +{ + [AttributeUsage(AttributeTargets.Class)] + public class DescriptionAttribute : Attribute + { + public string Description { get; } + + public DescriptionAttribute(string description) + { + Description = description; + } + } + + [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property)] + public class DoNotExportAttribute : Attribute + { + } + + [AttributeUsage(AttributeTargets.Class)] + public class InternalExportAttribute : Attribute + { + } + + [AttributeUsage(AttributeTargets.Class)] + public class GeneratedAttribute : Attribute + { + } + + [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property)] + public class DoNotFormatAttribute : Attribute + { + } + + [AttributeUsage(AttributeTargets.Class)] + public class ProfileAttribute : Attribute + { + public string[] Profiles { get; } + + public ProfileAttribute(params string[] profiles) + { + Profiles = profiles; + } + } + + [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property)] + public class CategoryAttribute : Attribute + { + public ParameterCategory[] Categories { get; } + + public CategoryAttribute(params ParameterCategory[] categories) + { + Categories = categories; + } + } + + [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property)] + public class ExportAsAttribute : Attribute + { + public Type Type { get; set; } + + public ExportAsAttribute(Type type) + { + Type = type; + } + } + + public enum ParameterCategory + { + // Note: Order is significant + Uri = 0, + Path, + Query, + Header, + Cookie, + Body, + Azure, + Runtime + } + + [AttributeUsage(AttributeTargets.Property)] + public class OriginAttribute : Attribute + { + public PropertyOrigin Origin { get; } + + public OriginAttribute(PropertyOrigin origin) + { + Origin = origin; + } + } + + public enum PropertyOrigin + { + // Note: Order is significant + Inherited = 0, + Owned, + Inlined + } + + [AttributeUsage(AttributeTargets.Property)] + public class FormatTableAttribute : Attribute + { + public int Index { get; set; } = -1; + public bool HasIndex => Index != -1; + public string Label { get; set; } + public int Width { get; set; } = -1; + public bool HasWidth => Width != -1; + } +} diff --git a/swaggerci/billing/generated/runtime/BuildTime/PsExtensions.cs b/swaggerci/billing/generated/runtime/BuildTime/PsExtensions.cs new file mode 100644 index 000000000000..3bb51b56bd27 --- /dev/null +++ b/swaggerci/billing/generated/runtime/BuildTime/PsExtensions.cs @@ -0,0 +1,169 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Reflection; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell +{ + internal static class PsExtensions + { + // https://stackoverflow.com/a/863944/294804 + // https://stackoverflow.com/a/4452598/294804 + // https://stackoverflow.com/a/28701974/294804 + // Note: This will unwrap nested collections, but we don't generate nested collections. + public static Type Unwrap(this Type type) + { + if (type.IsArray) + { + return type.GetElementType().Unwrap(); + } + + var typeInfo = type.GetTypeInfo(); + if (typeInfo.IsGenericType + && (typeInfo.GetGenericTypeDefinition() == typeof(Nullable<>) || typeof(IEnumerable<>).IsAssignableFrom(type))) + { + return typeInfo.GetGenericArguments().First().Unwrap(); + } + + return type; + } + + // https://stackoverflow.com/a/863944/294804 + private static bool IsSimple(this Type type) + { + var typeInfo = type.GetTypeInfo(); + return typeInfo.IsPrimitive + || typeInfo.IsEnum + || type == typeof(string) + || type == typeof(decimal); + } + + // https://stackoverflow.com/a/32025393/294804 + private static bool HasImplicitConversion(this Type baseType, Type targetType) => + baseType.GetMethods(BindingFlags.Public | BindingFlags.Static) + .Where(mi => mi.Name == "op_Implicit" && mi.ReturnType == targetType) + .Any(mi => mi.GetParameters().FirstOrDefault()?.ParameterType == baseType); + + public static bool IsPsSimple(this Type type) + { + var unwrappedType = type.Unwrap(); + return unwrappedType.IsSimple() + || unwrappedType == typeof(SwitchParameter) + || unwrappedType == typeof(Hashtable) + || unwrappedType == typeof(PSCredential) + || unwrappedType == typeof(ScriptBlock) + || unwrappedType == typeof(DateTime) + || unwrappedType == typeof(Uri) + || unwrappedType.HasImplicitConversion(typeof(string)); + } + + public static string ToPsList(this IEnumerable items) => String.Join(", ", items.Select(i => $"'{i}'")); + + public static IEnumerable ToAliasNames(this IEnumerable attributes) => attributes.OfType().SelectMany(aa => aa.AliasNames).Distinct(); + + public static bool IsArrayAndElementTypeIsT(this object item) + { + var itemType = item.GetType(); + var tType = typeof(T); + return itemType.IsArray && !tType.IsArray && tType.IsAssignableFrom(itemType.GetElementType()); + } + + public static bool IsTArrayAndElementTypeIsItem(this object item) + { + var itemType = item.GetType(); + var tType = typeof(T); + return !itemType.IsArray && tType.IsArray && (tType.GetElementType()?.IsAssignableFrom(itemType) ?? false); + } + + public static bool IsTypeOrArrayOfType(this object item) => item is T || item.IsArrayAndElementTypeIsT() || item.IsTArrayAndElementTypeIsItem(); + + public static T NormalizeArrayType(this object item) + { + if (item is T result) + { + return result; + } + + if (item.IsArrayAndElementTypeIsT()) + { + var array = (T[])Convert.ChangeType(item, typeof(T[])); + return array.FirstOrDefault(); + } + + if (item.IsTArrayAndElementTypeIsItem()) + { + var tType = typeof(T); + var array = Array.CreateInstance(tType.GetElementType(), 1); + array.SetValue(item, 0); + return (T)Convert.ChangeType(array, tType); + } + + return default(T); + } + + public static T GetNestedProperty(this PSObject psObject, params string[] names) => psObject.Properties.GetNestedProperty(names); + + public static T GetNestedProperty(this PSMemberInfoCollection properties, params string[] names) + { + var lastName = names.Last(); + var nestedProperties = names.Take(names.Length - 1).Aggregate(properties, (p, n) => p?.GetProperty(n)?.Properties); + return nestedProperties != null ? nestedProperties.GetProperty(lastName) : default(T); + } + + public static T GetProperty(this PSObject psObject, string name) => psObject.Properties.GetProperty(name); + + public static T GetProperty(this PSMemberInfoCollection properties, string name) + { + switch (properties[name]?.Value) + { + case PSObject psObject when psObject.BaseObject is PSCustomObject && psObject.ImmediateBaseObject.IsTypeOrArrayOfType(): + return psObject.ImmediateBaseObject.NormalizeArrayType(); + case PSObject psObject when psObject.BaseObject.IsTypeOrArrayOfType(): + return psObject.BaseObject.NormalizeArrayType(); + case object value when value.IsTypeOrArrayOfType(): + return value.NormalizeArrayType(); + default: + return default(T); + } + } + + public static IEnumerable RunScript(this PSCmdlet cmdlet, string script) + => PsHelpers.RunScript(cmdlet.InvokeCommand, script); + + public static void RunScript(this PSCmdlet cmdlet, string script) + => cmdlet.RunScript(script); + + public static IEnumerable RunScript(this EngineIntrinsics engineIntrinsics, string script) + => PsHelpers.RunScript(engineIntrinsics.InvokeCommand, script); + + public static void RunScript(this EngineIntrinsics engineIntrinsics, string script) + => engineIntrinsics.RunScript(script); + + public static IEnumerable RunScript(this PSCmdlet cmdlet, ScriptBlock block) + => PsHelpers.RunScript(cmdlet.InvokeCommand, block.ToString()); + + public static void RunScript(this PSCmdlet cmdlet, ScriptBlock block) + => cmdlet.RunScript(block.ToString()); + + public static IEnumerable RunScript(this EngineIntrinsics engineIntrinsics, ScriptBlock block) + => PsHelpers.RunScript(engineIntrinsics.InvokeCommand, block.ToString()); + + public static void RunScript(this EngineIntrinsics engineIntrinsics, ScriptBlock block) + => engineIntrinsics.RunScript(block.ToString()); + + /// + /// Returns if a parameter should be hidden by checking for . + /// + /// A PowerShell parameter. + public static bool IsHidden(this Parameter parameter) + { + return parameter.Attributes.Any(attr => attr is DoNotExportAttribute); + } + } +} diff --git a/swaggerci/billing/generated/runtime/BuildTime/PsHelpers.cs b/swaggerci/billing/generated/runtime/BuildTime/PsHelpers.cs new file mode 100644 index 000000000000..79a5e9301efe --- /dev/null +++ b/swaggerci/billing/generated/runtime/BuildTime/PsHelpers.cs @@ -0,0 +1,105 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Management.Automation; +using Pwsh = System.Management.Automation.PowerShell; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell +{ + internal static class PsHelpers + { + public static IEnumerable RunScript(string script) + => Pwsh.Create().AddScript(script).Invoke(); + + public static void RunScript(string script) + => RunScript(script); + + public static IEnumerable RunScript(CommandInvocationIntrinsics cii, string script) + => cii.InvokeScript(script).Select(o => o?.BaseObject).Where(o => o != null).OfType(); + + public static void RunScript(CommandInvocationIntrinsics cii, string script) + => RunScript(cii, script); + + public static IEnumerable GetModuleCmdlets(PSCmdlet cmdlet, params string[] modulePaths) + { + var getCmdletsCommand = String.Join(" + ", modulePaths.Select(mp => $"(Get-Command -Module (Import-Module '{mp}' -PassThru))")); + return (cmdlet?.RunScript(getCmdletsCommand) ?? RunScript(getCmdletsCommand)) + .Where(ci => ci.CommandType != CommandTypes.Alias); + } + + public static IEnumerable GetModuleCmdlets(params string[] modulePaths) + => GetModuleCmdlets(null, modulePaths); + + public static IEnumerable GetScriptCmdlets(PSCmdlet cmdlet, string scriptFolder) + { + // https://stackoverflow.com/a/40969712/294804 + var wrappedFolder = scriptFolder.Contains("'") ? $@"""{scriptFolder}""" : $@"'{scriptFolder}'"; + var getCmdletsCommand = $@" +$currentFunctions = Get-ChildItem function: +Get-ChildItem -Path {wrappedFolder} -Recurse -Include '*.ps1' -File | ForEach-Object {{ . $_.FullName }} +Get-ChildItem function: | Where-Object {{ ($currentFunctions -notcontains $_) -and $_.CmdletBinding }} +"; + return cmdlet?.RunScript(getCmdletsCommand) ?? RunScript(getCmdletsCommand); + } + + public static IEnumerable GetScriptCmdlets(string scriptFolder) + => GetScriptCmdlets(null, scriptFolder); + + public static IEnumerable GetScriptHelpInfo(PSCmdlet cmdlet, params string[] modulePaths) + { + var importModules = String.Join(Environment.NewLine, modulePaths.Select(mp => $"Import-Module '{mp}'")); + var getHelpCommand = $@" +$currentFunctions = Get-ChildItem function: +{importModules} +Get-ChildItem function: | Where-Object {{ ($currentFunctions -notcontains $_) -and $_.CmdletBinding }} | ForEach-Object {{ Get-Help -Name $_.Name -Full }} +"; + return cmdlet?.RunScript(getHelpCommand) ?? RunScript(getHelpCommand); + } + + public static IEnumerable GetScriptHelpInfo(params string[] modulePaths) + => GetScriptHelpInfo(null, modulePaths); + + public static IEnumerable GetModuleCmdletsAndHelpInfo(PSCmdlet cmdlet, params string[] modulePaths) + { + var getCmdletAndHelp = String.Join(" + ", modulePaths.Select(mp => + $@"(Get-Command -Module (Import-Module '{mp}' -PassThru) | Where-Object {{ $_.CommandType -ne 'Alias' }} | ForEach-Object {{ @{{ CommandInfo = $_; HelpInfo = ( invoke-command {{ try {{ Get-Help -Name $_.Name -Full }} catch{{ '' }} }} ) }} }})" + )); + return (cmdlet?.RunScript(getCmdletAndHelp) ?? RunScript(getCmdletAndHelp)) + .Select(h => new CmdletAndHelpInfo { CommandInfo = (h["CommandInfo"] as PSObject)?.BaseObject as CommandInfo, HelpInfo = h["HelpInfo"] as PSObject }); + } + + public static IEnumerable GetModuleCmdletsAndHelpInfo(params string[] modulePaths) + => GetModuleCmdletsAndHelpInfo(null, modulePaths); + + public static CmdletAndHelpInfo ToCmdletAndHelpInfo(this CommandInfo commandInfo, PSObject helpInfo) => new CmdletAndHelpInfo { CommandInfo = commandInfo, HelpInfo = helpInfo }; + + public const string Psd1Indent = " "; + public const string GuidStart = Psd1Indent + "GUID"; + + public static Guid ReadGuidFromPsd1(string psd1Path) + { + var guid = Guid.NewGuid(); + if (File.Exists(psd1Path)) + { + var currentGuid = File.ReadAllLines(psd1Path) + .FirstOrDefault(l => l.StartsWith(GuidStart))?.Split(new[] { " = " }, StringSplitOptions.RemoveEmptyEntries) + .LastOrDefault()?.Replace("'", String.Empty); + guid = currentGuid != null ? Guid.Parse(currentGuid) : guid; + } + + return guid; + } + } + + internal class CmdletAndHelpInfo + { + public CommandInfo CommandInfo { get; set; } + public PSObject HelpInfo { get; set; } + } +} diff --git a/swaggerci/billing/generated/runtime/BuildTime/StringExtensions.cs b/swaggerci/billing/generated/runtime/BuildTime/StringExtensions.cs new file mode 100644 index 000000000000..d44a2b05e48b --- /dev/null +++ b/swaggerci/billing/generated/runtime/BuildTime/StringExtensions.cs @@ -0,0 +1,24 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Linq; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell +{ + internal static class StringExtensions + { + public static string NullIfEmpty(this string text) => String.IsNullOrEmpty(text) ? null : text; + public static string NullIfWhiteSpace(this string text) => String.IsNullOrWhiteSpace(text) ? null : text; + public static string EmptyIfNull(this string text) => text ?? String.Empty; + + public static bool? ToNullableBool(this string text) => String.IsNullOrEmpty(text) ? (bool?)null : Convert.ToBoolean(text.ToLowerInvariant()); + + public static string ToUpperFirstCharacter(this string text) => String.IsNullOrEmpty(text) ? text : $"{text[0].ToString().ToUpperInvariant()}{text.Remove(0, 1)}"; + + public static string ReplaceNewLines(this string value, string replacer = " ", string[] newLineSymbols = null) + => (newLineSymbols ?? new []{ "\r\n", "\n" }).Aggregate(value.EmptyIfNull(), (current, symbol) => current.Replace(symbol, replacer)); + public static string NormalizeNewLines(this string value) => value.ReplaceNewLines("\u00A0").Replace("\u00A0", Environment.NewLine); + } +} diff --git a/swaggerci/billing/generated/runtime/BuildTime/XmlExtensions.cs b/swaggerci/billing/generated/runtime/BuildTime/XmlExtensions.cs new file mode 100644 index 000000000000..e76f5ee41ebf --- /dev/null +++ b/swaggerci/billing/generated/runtime/BuildTime/XmlExtensions.cs @@ -0,0 +1,28 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System.IO; +using System.Xml; +using System.Xml.Serialization; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell +{ + internal static class XmlExtensions + { + public static string ToXmlString(this T inputObject, bool excludeDeclaration = false) + { + var serializer = new XmlSerializer(typeof(T)); + //https://stackoverflow.com/a/760290/294804 + //https://stackoverflow.com/a/3732234/294804 + var namespaces = new XmlSerializerNamespaces(new[] { XmlQualifiedName.Empty }); + var xmlSettings = new XmlWriterSettings { OmitXmlDeclaration = excludeDeclaration, Indent = true }; + using (var stringWriter = new StringWriter()) + using (var xmlWriter = XmlWriter.Create(stringWriter, xmlSettings)) + { + serializer.Serialize(xmlWriter, inputObject, namespaces); + return stringWriter.ToString(); + } + } + } +} diff --git a/swaggerci/billing/generated/runtime/CmdInfoHandler.cs b/swaggerci/billing/generated/runtime/CmdInfoHandler.cs new file mode 100644 index 000000000000..59fb5cd842b4 --- /dev/null +++ b/swaggerci/billing/generated/runtime/CmdInfoHandler.cs @@ -0,0 +1,40 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Management.Automation; +using System.Net.Http; +using System.Threading; +using System.Threading.Tasks; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime +{ + using NextDelegate = Func, Task>, Task>; + using SignalDelegate = Func, Task>; + + public class CmdInfoHandler + { + private readonly string processRecordId; + private readonly string parameterSetName; + private readonly InvocationInfo invocationInfo; + + public CmdInfoHandler(string processRecordId, InvocationInfo invocationInfo, string parameterSetName) + { + this.processRecordId = processRecordId; + this.parameterSetName = parameterSetName; + this.invocationInfo = invocationInfo; + } + + public Task SendAsync(HttpRequestMessage request, CancellationToken token, Action cancel, SignalDelegate signal, NextDelegate next) + { + request.Headers.Add("x-ms-client-request-id", processRecordId); + request.Headers.Add("CommandName", invocationInfo?.InvocationName); + request.Headers.Add("FullCommandName", invocationInfo?.MyCommand?.Name); + request.Headers.Add("ParameterSetName", parameterSetName); + + // continue with pipeline. + return next(request, token, cancel, signal); + } + } +} diff --git a/swaggerci/billing/generated/runtime/Conversions/ConversionException.cs b/swaggerci/billing/generated/runtime/Conversions/ConversionException.cs new file mode 100644 index 000000000000..31edf1e3324e --- /dev/null +++ b/swaggerci/billing/generated/runtime/Conversions/ConversionException.cs @@ -0,0 +1,17 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + internal class ConversionException : Exception + { + internal ConversionException(string message) + : base(message) { } + + internal ConversionException(JsonNode node, Type targetType) + : base($"Cannot convert '{node.Type}' to a {targetType.Name}") { } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Conversions/IJsonConverter.cs b/swaggerci/billing/generated/runtime/Conversions/IJsonConverter.cs new file mode 100644 index 000000000000..0d47d394f36b --- /dev/null +++ b/swaggerci/billing/generated/runtime/Conversions/IJsonConverter.cs @@ -0,0 +1,13 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + internal interface IJsonConverter + { + JsonNode ToJson(object value); + + object FromJson(JsonNode node); + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Conversions/Instances/BinaryConverter.cs b/swaggerci/billing/generated/runtime/Conversions/Instances/BinaryConverter.cs new file mode 100644 index 000000000000..205c5c7a8e58 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Conversions/Instances/BinaryConverter.cs @@ -0,0 +1,24 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + public sealed class BinaryConverter : JsonConverter + { + internal override JsonNode ToJson(byte[] value) => new XBinary(value); + + internal override byte[] FromJson(JsonNode node) + { + switch (node.Type) + { + case JsonType.String : return Convert.FromBase64String(node.ToString()); // Base64 Encoded + case JsonType.Binary : return ((XBinary)node).Value; + } + + throw new ConversionException(node, typeof(byte[])); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Conversions/Instances/BooleanConverter.cs b/swaggerci/billing/generated/runtime/Conversions/Instances/BooleanConverter.cs new file mode 100644 index 000000000000..fcebf595d0e9 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Conversions/Instances/BooleanConverter.cs @@ -0,0 +1,13 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + public sealed class BooleanConverter : JsonConverter + { + internal override JsonNode ToJson(bool value) => new JsonBoolean(value); + + internal override bool FromJson(JsonNode node) => (bool)node; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Conversions/Instances/DateTimeConverter.cs b/swaggerci/billing/generated/runtime/Conversions/Instances/DateTimeConverter.cs new file mode 100644 index 000000000000..b6c2a929e560 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Conversions/Instances/DateTimeConverter.cs @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + public sealed class DateTimeConverter : JsonConverter + { + internal override JsonNode ToJson(DateTime value) + { + return new JsonDate(value); + } + + internal override DateTime FromJson(JsonNode node) => (DateTime)node; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Conversions/Instances/DateTimeOffsetConverter.cs b/swaggerci/billing/generated/runtime/Conversions/Instances/DateTimeOffsetConverter.cs new file mode 100644 index 000000000000..de3dc6ef5062 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Conversions/Instances/DateTimeOffsetConverter.cs @@ -0,0 +1,15 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + public sealed class DateTimeOffsetConverter : JsonConverter + { + internal override JsonNode ToJson(DateTimeOffset value) => new JsonDate(value); + + internal override DateTimeOffset FromJson(JsonNode node) => (DateTimeOffset)node; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Conversions/Instances/DecimalConverter.cs b/swaggerci/billing/generated/runtime/Conversions/Instances/DecimalConverter.cs new file mode 100644 index 000000000000..a7f72a3069f7 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Conversions/Instances/DecimalConverter.cs @@ -0,0 +1,16 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + public sealed class DecimalConverter : JsonConverter + { + internal override JsonNode ToJson(decimal value) => new JsonNumber(value.ToString()); + + internal override decimal FromJson(JsonNode node) + { + return (decimal)node; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Conversions/Instances/DoubleConverter.cs b/swaggerci/billing/generated/runtime/Conversions/Instances/DoubleConverter.cs new file mode 100644 index 000000000000..753f84b34f13 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Conversions/Instances/DoubleConverter.cs @@ -0,0 +1,13 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + public sealed class DoubleConverter : JsonConverter + { + internal override JsonNode ToJson(double value) => new JsonNumber(value); + + internal override double FromJson(JsonNode node) => (double)node; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Conversions/Instances/EnumConverter.cs b/swaggerci/billing/generated/runtime/Conversions/Instances/EnumConverter.cs new file mode 100644 index 000000000000..dd105a973ca0 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Conversions/Instances/EnumConverter.cs @@ -0,0 +1,30 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + public sealed class EnumConverter : IJsonConverter + { + private readonly Type type; + + internal EnumConverter(Type type) + { + this.type = type ?? throw new ArgumentNullException(nameof(type)); + } + + public JsonNode ToJson(object value) => new JsonString(value.ToString()); + + public object FromJson(JsonNode node) + { + if (node.Type == JsonType.Number) + { + return Enum.ToObject(type, (int)node); + } + + return Enum.Parse(type, node.ToString(), ignoreCase: true); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Conversions/Instances/GuidConverter.cs b/swaggerci/billing/generated/runtime/Conversions/Instances/GuidConverter.cs new file mode 100644 index 000000000000..2425e418fb21 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Conversions/Instances/GuidConverter.cs @@ -0,0 +1,15 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + public sealed class GuidConverter : JsonConverter + { + internal override JsonNode ToJson(Guid value) => new JsonString(value.ToString()); + + internal override Guid FromJson(JsonNode node) => (Guid)node; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Conversions/Instances/HashSet'1Converter.cs b/swaggerci/billing/generated/runtime/Conversions/Instances/HashSet'1Converter.cs new file mode 100644 index 000000000000..d8c5e956b691 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Conversions/Instances/HashSet'1Converter.cs @@ -0,0 +1,27 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System.Collections.Generic; +using System.Linq; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + public sealed class HashSetConverter : JsonConverter> + { + internal override JsonNode ToJson(HashSet value) + { + return new XSet(value); + } + + internal override HashSet FromJson(JsonNode node) + { + var collection = node as ICollection; + + if (collection.Count == 0) return null; + + // TODO: Remove Linq depedency + return new HashSet(collection.Cast()); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Conversions/Instances/Int16Converter.cs b/swaggerci/billing/generated/runtime/Conversions/Instances/Int16Converter.cs new file mode 100644 index 000000000000..220d98094b7a --- /dev/null +++ b/swaggerci/billing/generated/runtime/Conversions/Instances/Int16Converter.cs @@ -0,0 +1,13 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + public sealed class Int16Converter : JsonConverter + { + internal override JsonNode ToJson(short value) => new JsonNumber(value); + + internal override short FromJson(JsonNode node) => (short)node; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Conversions/Instances/Int32Converter.cs b/swaggerci/billing/generated/runtime/Conversions/Instances/Int32Converter.cs new file mode 100644 index 000000000000..18b034336f1f --- /dev/null +++ b/swaggerci/billing/generated/runtime/Conversions/Instances/Int32Converter.cs @@ -0,0 +1,13 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + public sealed class Int32Converter : JsonConverter + { + internal override JsonNode ToJson(int value) => new JsonNumber(value); + + internal override int FromJson(JsonNode node) => (int)node; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Conversions/Instances/Int64Converter.cs b/swaggerci/billing/generated/runtime/Conversions/Instances/Int64Converter.cs new file mode 100644 index 000000000000..8686b9ab8a4e --- /dev/null +++ b/swaggerci/billing/generated/runtime/Conversions/Instances/Int64Converter.cs @@ -0,0 +1,13 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + public sealed class Int64Converter : JsonConverter + { + internal override JsonNode ToJson(long value) => new JsonNumber(value); + + internal override long FromJson(JsonNode node) => (long)node; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Conversions/Instances/JsonArrayConverter.cs b/swaggerci/billing/generated/runtime/Conversions/Instances/JsonArrayConverter.cs new file mode 100644 index 000000000000..45b32b1322d5 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Conversions/Instances/JsonArrayConverter.cs @@ -0,0 +1,13 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + public sealed class JsonArrayConverter : JsonConverter + { + internal override JsonNode ToJson(JsonArray value) => value; + + internal override JsonArray FromJson(JsonNode node) => (JsonArray)node; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Conversions/Instances/JsonObjectConverter.cs b/swaggerci/billing/generated/runtime/Conversions/Instances/JsonObjectConverter.cs new file mode 100644 index 000000000000..c7f2865706c6 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Conversions/Instances/JsonObjectConverter.cs @@ -0,0 +1,13 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + public sealed class JsonObjectConverter : JsonConverter + { + internal override JsonNode ToJson(JsonObject value) => value; + + internal override JsonObject FromJson(JsonNode node) => (JsonObject)node; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Conversions/Instances/SingleConverter.cs b/swaggerci/billing/generated/runtime/Conversions/Instances/SingleConverter.cs new file mode 100644 index 000000000000..23dd0b1f89c2 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Conversions/Instances/SingleConverter.cs @@ -0,0 +1,13 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + public sealed class SingleConverter : JsonConverter + { + internal override JsonNode ToJson(float value) => new JsonNumber(value.ToString()); + + internal override float FromJson(JsonNode node) => (float)node; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Conversions/Instances/StringConverter.cs b/swaggerci/billing/generated/runtime/Conversions/Instances/StringConverter.cs new file mode 100644 index 000000000000..830b34bbe604 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Conversions/Instances/StringConverter.cs @@ -0,0 +1,13 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + public sealed class StringConverter : JsonConverter + { + internal override JsonNode ToJson(string value) => new JsonString(value); + + internal override string FromJson(JsonNode node) => node.ToString(); + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Conversions/Instances/TimeSpanConverter.cs b/swaggerci/billing/generated/runtime/Conversions/Instances/TimeSpanConverter.cs new file mode 100644 index 000000000000..df11f1616ae2 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Conversions/Instances/TimeSpanConverter.cs @@ -0,0 +1,15 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + public sealed class TimeSpanConverter : JsonConverter + { + internal override JsonNode ToJson(TimeSpan value) => new JsonString(value.ToString()); + + internal override TimeSpan FromJson(JsonNode node) => (TimeSpan)node; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Conversions/Instances/UInt16Converter.cs b/swaggerci/billing/generated/runtime/Conversions/Instances/UInt16Converter.cs new file mode 100644 index 000000000000..e2926bb2fd5f --- /dev/null +++ b/swaggerci/billing/generated/runtime/Conversions/Instances/UInt16Converter.cs @@ -0,0 +1,13 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + public sealed class UInt16Converter : JsonConverter + { + internal override JsonNode ToJson(ushort value) => new JsonNumber(value); + + internal override ushort FromJson(JsonNode node) => (ushort)node; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Conversions/Instances/UInt32Converter.cs b/swaggerci/billing/generated/runtime/Conversions/Instances/UInt32Converter.cs new file mode 100644 index 000000000000..80bb339f148a --- /dev/null +++ b/swaggerci/billing/generated/runtime/Conversions/Instances/UInt32Converter.cs @@ -0,0 +1,13 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + public sealed class UInt32Converter : JsonConverter + { + internal override JsonNode ToJson(uint value) => new JsonNumber(value); + + internal override uint FromJson(JsonNode node) => (uint)node; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Conversions/Instances/UInt64Converter.cs b/swaggerci/billing/generated/runtime/Conversions/Instances/UInt64Converter.cs new file mode 100644 index 000000000000..4721f6732bcf --- /dev/null +++ b/swaggerci/billing/generated/runtime/Conversions/Instances/UInt64Converter.cs @@ -0,0 +1,13 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + public sealed class UInt64Converter : JsonConverter + { + internal override JsonNode ToJson(ulong value) => new JsonNumber(value.ToString()); + + internal override ulong FromJson(JsonNode node) => (ulong)node; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Conversions/Instances/UriConverter.cs b/swaggerci/billing/generated/runtime/Conversions/Instances/UriConverter.cs new file mode 100644 index 000000000000..3b405dc9ee4e --- /dev/null +++ b/swaggerci/billing/generated/runtime/Conversions/Instances/UriConverter.cs @@ -0,0 +1,15 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + public sealed class UriConverter : JsonConverter + { + internal override JsonNode ToJson(Uri value) => new JsonString(value.AbsoluteUri); + + internal override Uri FromJson(JsonNode node) => (Uri)node; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Conversions/JsonConverter.cs b/swaggerci/billing/generated/runtime/Conversions/JsonConverter.cs new file mode 100644 index 000000000000..4c78d42e4975 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Conversions/JsonConverter.cs @@ -0,0 +1,21 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + public abstract class JsonConverter : IJsonConverter + { + internal abstract T FromJson(JsonNode node); + + internal abstract JsonNode ToJson(T value); + + #region IConverter + + object IJsonConverter.FromJson(JsonNode node) => FromJson(node); + + JsonNode IJsonConverter.ToJson(object value) => ToJson((T)value); + + #endregion + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Conversions/JsonConverterAttribute.cs b/swaggerci/billing/generated/runtime/Conversions/JsonConverterAttribute.cs new file mode 100644 index 000000000000..07aa27431af3 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Conversions/JsonConverterAttribute.cs @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + public sealed class JsonConverterAttribute : Attribute + { + internal JsonConverterAttribute(Type type) + { + Converter = (IJsonConverter)Activator.CreateInstance(type); + } + + internal IJsonConverter Converter { get; } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Conversions/JsonConverterFactory.cs b/swaggerci/billing/generated/runtime/Conversions/JsonConverterFactory.cs new file mode 100644 index 000000000000..8c4d34dfa8d1 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Conversions/JsonConverterFactory.cs @@ -0,0 +1,91 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections.Generic; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + public sealed class JsonConverterFactory + { + private static readonly Dictionary converters = new Dictionary(); + + static JsonConverterFactory() + { + AddInternal(new BooleanConverter()); + AddInternal(new DateTimeConverter()); + AddInternal(new DateTimeOffsetConverter()); + AddInternal(new BinaryConverter()); + AddInternal(new DecimalConverter()); + AddInternal(new DoubleConverter()); + AddInternal(new GuidConverter()); + AddInternal(new Int16Converter()); + AddInternal(new Int32Converter()); + AddInternal(new Int64Converter()); + AddInternal(new SingleConverter()); + AddInternal(new StringConverter()); + AddInternal(new TimeSpanConverter()); + AddInternal(new UInt16Converter()); + AddInternal(new UInt32Converter()); + AddInternal(new UInt64Converter()); + AddInternal(new UriConverter()); + + // Hash sets + AddInternal(new HashSetConverter()); + AddInternal(new HashSetConverter()); + AddInternal(new HashSetConverter()); + AddInternal(new HashSetConverter()); + AddInternal(new HashSetConverter()); + AddInternal(new HashSetConverter()); + + // JSON + + AddInternal(new JsonObjectConverter()); + AddInternal(new JsonArrayConverter()); + } + + internal static Dictionary Instances => converters; + + internal static IJsonConverter Get(Type type) + { + var details = TypeDetails.Get(type); + + if (details.JsonConverter == null) + { + throw new ConversionException($"No converter found for '{type.Name}'."); + } + + return details.JsonConverter; + } + + internal static bool TryGet(Type type, out IJsonConverter converter) + { + var typeDetails = TypeDetails.Get(type); + + converter = typeDetails.JsonConverter; + + return converter != null; + } + + private static void AddInternal(JsonConverter converter) + => converters.Add(typeof(T), converter); + + private static void AddInternal(IJsonConverter converter) + => converters.Add(typeof(T), converter); + + internal static void Add(JsonConverter converter) + { + if (converter == null) + { + throw new ArgumentNullException(nameof(converter)); + } + + AddInternal(converter); + + var type = TypeDetails.Get(); + + type.JsonConverter = converter; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Conversions/StringLikeConverter.cs b/swaggerci/billing/generated/runtime/Conversions/StringLikeConverter.cs new file mode 100644 index 000000000000..29744c5d2ff3 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Conversions/StringLikeConverter.cs @@ -0,0 +1,45 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Reflection; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + public sealed class StringLikeConverter : IJsonConverter + { + private readonly Type type; + private readonly MethodInfo parseMethod; + + internal StringLikeConverter(Type type) + { + this.type = type ?? throw new ArgumentNullException(nameof(type)); + this.parseMethod = StringLikeHelper.GetParseMethod(type); + } + + public object FromJson(JsonNode node) => + parseMethod.Invoke(null, new[] { node.ToString() }); + + public JsonNode ToJson(object value) => new JsonString(value.ToString()); + } + + internal static class StringLikeHelper + { + private static readonly Type[] parseMethodParamaterTypes = new[] { typeof(string) }; + + internal static bool IsStringLike(Type type) + { + return GetParseMethod(type) != null; + } + + internal static MethodInfo GetParseMethod(Type type) + { + MethodInfo method = type.GetMethod("Parse", parseMethodParamaterTypes); + + if (method?.IsPublic != true) return null; + + return method; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Customizations/IJsonSerializable.cs b/swaggerci/billing/generated/runtime/Customizations/IJsonSerializable.cs new file mode 100644 index 000000000000..9d5ee2de38cb --- /dev/null +++ b/swaggerci/billing/generated/runtime/Customizations/IJsonSerializable.cs @@ -0,0 +1,263 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json; +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime +{ + public interface IJsonSerializable + { + JsonNode ToJson(JsonObject container = null, SerializationMode serializationMode = SerializationMode.None); + } + internal static class JsonSerializable + { + /// + /// Serializes an enumerable and returns a JsonNode. + /// + /// an IEnumerable collection of items + /// A JsonNode that contains the collection of items serialized. + private static JsonNode ToJsonValue(System.Collections.IEnumerable enumerable) + { + if (enumerable != null) + { + // is it a byte array of some kind? + if (enumerable is System.Collections.Generic.IEnumerable byteEnumerable) + { + return new XBinary(System.Linq.Enumerable.ToArray(byteEnumerable)); + } + + var hasValues = false; + // just create an array of value nodes. + var result = new XNodeArray(); + foreach (var each in enumerable) + { + // we had at least one value. + hasValues = true; + + // try to serialize it. + var node = ToJsonValue(each); + if (null != node) + { + result.Add(node); + } + } + + // if we were able to add values, (or it was just empty), return it. + if (result.Count > 0 || !hasValues) + { + return result; + } + } + + // we couldn't serialize the values. Sorry. + return null; + } + + /// + /// Serializes a valuetype to a JsonNode. + /// + /// a ValueType (ie, a primitive, enum or struct) to be serialized + /// a JsonNode with the serialized value + private static JsonNode ToJsonValue(ValueType vValue) + { + // numeric type + if (vValue is SByte || vValue is Int16 || vValue is Int32 || vValue is Int64 || vValue is Byte || vValue is UInt16 || vValue is UInt32 || vValue is UInt64 || vValue is decimal || vValue is float || vValue is double) + { + return new JsonNumber(vValue.ToString()); + } + + // boolean type + if (vValue is bool bValue) + { + return new JsonBoolean(bValue); + } + + // dates + if (vValue is DateTime dtValue) + { + return new JsonDate(dtValue); + } + + // DictionaryEntity struct type + if (vValue is System.Collections.DictionaryEntry deValue) + { + return new JsonObject { { deValue.Key.ToString(), ToJsonValue(deValue.Value) } }; + } + + // sorry, no idea. + return null; + } + /// + /// Attempts to serialize an object by using ToJson() or ToJsonString() if they exist. + /// + /// the object to be serialized. + /// the serialized JsonNode (if successful), otherwise, null + private static JsonNode TryToJsonValue(dynamic oValue) + { + object jsonValue = null; + dynamic v = oValue; + try + { + jsonValue = v.ToJson().ToString(); + } + catch + { + // no harm... + try + { + jsonValue = v.ToJsonString().ToString(); + } + catch + { + // no worries here either. + } + } + + // if we got something out, let's use it. + if (null != jsonValue) + { + // JsonNumber is really a literal json value. Just don't try to cast that back to an actual number, ok? + return new JsonNumber(jsonValue.ToString()); + } + + return null; + } + + /// + /// Serialize an object by using a variety of methods. + /// + /// the object to be serialized. + /// the serialized JsonNode (if successful), otherwise, null + internal static JsonNode ToJsonValue(object value) + { + // things that implement our interface are preferred. + if (value is Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IJsonSerializable jsonSerializable) + { + return jsonSerializable.ToJson(); + } + + // strings are easy. + if (value is string || value is char) + { + return new JsonString(value.ToString()); + } + + // value types are fairly straightforward (fallback to ToJson()/ToJsonString() or literal JsonString ) + if (value is System.ValueType vValue) + { + return ToJsonValue(vValue) ?? TryToJsonValue(vValue) ?? new JsonString(vValue.ToString()); + } + + // dictionaries are objects that should be able to serialize + if (value is System.Collections.Generic.IDictionary dictionary) + { + return Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.JsonSerializable.ToJson(dictionary, null); + } + + // hashtables are converted to dictionaries for serialization + if (value is System.Collections.Hashtable hashtable) + { + var dict = new System.Collections.Generic.Dictionary(); + DictionaryExtensions.HashTableToDictionary(hashtable, dict); + return Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.JsonSerializable.ToJson(dict, null); + } + + // enumerable collections are handled like arrays (again, fallback to ToJson()/ToJsonString() or literal JsonString) + if (value is System.Collections.IEnumerable enumerableValue) + { + // some kind of enumerable value + return ToJsonValue(enumerableValue) ?? TryToJsonValue(value) ?? new JsonString(value.ToString()); + } + + // at this point, we're going to fallback to a string literal here, since we really have no idea what it is. + return new JsonString(value.ToString()); + } + + internal static JsonObject ToJson(System.Collections.Generic.Dictionary dictionary, JsonObject container) => ToJson((System.Collections.Generic.IDictionary)dictionary, container); + + /// + /// Serializes a dictionary into a JsonObject container. + /// + /// The dictionary to serailize + /// the container to serialize the dictionary into + /// the container + internal static JsonObject ToJson(System.Collections.Generic.IDictionary dictionary, JsonObject container) + { + container = container ?? new JsonObject(); + if (dictionary != null && dictionary.Count > 0) + { + foreach (var key in dictionary) + { + // currently, we don't serialize null values. + if (null != key.Value) + { + container.Add(key.Key, ToJsonValue(key.Value)); + continue; + } + } + } + return container; + } + + internal static Func> DeserializeDictionary(Func> dictionaryFactory) + { + return (node) => FromJson(node, dictionaryFactory(), (object)(DeserializeDictionary(dictionaryFactory)) as Func); + } + + internal static System.Collections.Generic.IDictionary FromJson(JsonObject json, System.Collections.Generic.Dictionary container, System.Func objectFactory, System.Collections.Generic.HashSet excludes = null) => FromJson(json, (System.Collections.Generic.IDictionary)container, objectFactory, excludes); + + + internal static System.Collections.Generic.IDictionary FromJson(JsonObject json, System.Collections.Generic.IDictionary container, System.Func objectFactory, System.Collections.Generic.HashSet excludes = null) + { + if (null == json) + { + return container; + } + + foreach (var key in json.Keys) + { + if (true == excludes?.Contains(key)) + { + continue; + } + + var value = json[key]; + try + { + switch (value.Type) + { + case JsonType.Null: + // skip null values. + continue; + + case JsonType.Array: + case JsonType.Boolean: + case JsonType.Date: + case JsonType.Binary: + case JsonType.Number: + case JsonType.String: + container.Add(key, (V)value.ToValue()); + break; + case JsonType.Object: + if (objectFactory != null) + { + var v = objectFactory(value as JsonObject); + if (null != v) + { + container.Add(key, v); + } + } + break; + } + } + catch + { + } + } + return container; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Customizations/JsonArray.cs b/swaggerci/billing/generated/runtime/Customizations/JsonArray.cs new file mode 100644 index 000000000000..6b98b1416671 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Customizations/JsonArray.cs @@ -0,0 +1,13 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + public partial class JsonArray + { + internal override object ToValue() => Count == 0 ? new object[0] : System.Linq.Enumerable.ToArray(System.Linq.Enumerable.Select(this, each => each.ToValue())); + } + + +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Customizations/JsonBoolean.cs b/swaggerci/billing/generated/runtime/Customizations/JsonBoolean.cs new file mode 100644 index 000000000000..f515a7ae0162 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Customizations/JsonBoolean.cs @@ -0,0 +1,16 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + internal partial class JsonBoolean + { + internal static JsonBoolean Create(bool? value) => value is bool b ? new JsonBoolean(b) : null; + internal bool ToBoolean() => Value; + + internal override object ToValue() => Value; + } + + +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Customizations/JsonNode.cs b/swaggerci/billing/generated/runtime/Customizations/JsonNode.cs new file mode 100644 index 000000000000..42e82c1fd58a --- /dev/null +++ b/swaggerci/billing/generated/runtime/Customizations/JsonNode.cs @@ -0,0 +1,21 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + using System; + using System.Collections.Generic; + + public partial class JsonNode + { + /// + /// Returns the content of this node as the underlying value. + /// Will default to the string representation if not overridden in child classes. + /// + /// an object with the underlying value of the node. + internal virtual object ToValue() { + return this.ToString(); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Customizations/JsonNumber.cs b/swaggerci/billing/generated/runtime/Customizations/JsonNumber.cs new file mode 100644 index 000000000000..6568be4856ba --- /dev/null +++ b/swaggerci/billing/generated/runtime/Customizations/JsonNumber.cs @@ -0,0 +1,78 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + using System; + + public partial class JsonNumber + { + internal static readonly DateTime EpochDate = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); + private static long ToUnixTime(DateTime dateTime) + { + return (long)dateTime.Subtract(EpochDate).TotalSeconds; + } + private static DateTime FromUnixTime(long totalSeconds) + { + return EpochDate.AddSeconds(totalSeconds); + } + internal byte ToByte() => this; + internal int ToInt() => this; + internal long ToLong() => this; + internal short ToShort() => this; + internal UInt16 ToUInt16() => this; + internal UInt32 ToUInt32() => this; + internal UInt64 ToUInt64() => this; + internal decimal ToDecimal() => this; + internal double ToDouble() => this; + internal float ToFloat() => this; + + internal static JsonNumber Create(int? value) => value is int n ? new JsonNumber(n) : null; + internal static JsonNumber Create(long? value) => value is long n ? new JsonNumber(n) : null; + internal static JsonNumber Create(float? value) => value is float n ? new JsonNumber(n) : null; + internal static JsonNumber Create(double? value) => value is double n ? new JsonNumber(n) : null; + internal static JsonNumber Create(decimal? value) => value is decimal n ? new JsonNumber(n) : null; + internal static JsonNumber Create(DateTime? value) => value is DateTime date ? new JsonNumber(ToUnixTime(date)) : null; + + public static implicit operator DateTime(JsonNumber number) => FromUnixTime(number); + internal DateTime ToDateTime() => this; + + internal JsonNumber(decimal value) + { + this.value = value.ToString(); + } + internal override object ToValue() + { + if (IsInteger) + { + if (int.TryParse(this.value, out int iValue)) + { + return iValue; + } + if (long.TryParse(this.value, out long lValue)) + { + return lValue; + } + } + else + { + if (float.TryParse(this.value, out float fValue)) + { + return fValue; + } + if (double.TryParse(this.value, out double dValue)) + { + return dValue; + } + if (decimal.TryParse(this.value, out decimal dcValue)) + { + return dcValue; + } + } + return null; + } + } + + +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Customizations/JsonObject.cs b/swaggerci/billing/generated/runtime/Customizations/JsonObject.cs new file mode 100644 index 000000000000..950d0b2c506d --- /dev/null +++ b/swaggerci/billing/generated/runtime/Customizations/JsonObject.cs @@ -0,0 +1,183 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + using System; + using System.Collections.Generic; + + public partial class JsonObject + { + internal override object ToValue() => Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.JsonSerializable.FromJson(this, new System.Collections.Generic.Dictionary(), (obj) => obj.ToValue()); + + internal void SafeAdd(string name, Func valueFn) + { + if (valueFn != null) + { + var value = valueFn(); + if (null != value) + { + items.Add(name, value); + } + } + } + + internal void SafeAdd(string name, JsonNode value) + { + if (null != value) + { + items.Add(name, value); + } + } + + internal T NullableProperty(string propertyName) where T : JsonNode + { + if (this.TryGetValue(propertyName, out JsonNode value)) + { + if (value.IsNull) + { + return null; + } + if (value is T tval) + { + return tval; + } + /* it's present, but not the correct type... */ + //throw new Exception($"Property {propertyName} in object expected type {typeof(T).Name} but value of type {value.Type.ToString()} was found."); + } + return null; + } + + internal JsonObject Property(string propertyName) + { + return PropertyT(propertyName); + } + + internal T PropertyT(string propertyName) where T : JsonNode + { + if (this.TryGetValue(propertyName, out JsonNode value)) + { + if (value.IsNull) + { + return null; // we're going to assume that the consumer knows what to do if null is explicity returned? + } + + if (value is T tval) + { + return tval; + } + /* it's present, but not the correct type... */ + // throw new Exception($"Property {propertyName} in object expected type {typeof(T).Name} but value of type {value.Type.ToString()} was found."); + } + return null; + } + + internal int NumberProperty(string propertyName, ref int output) => output = this.PropertyT(propertyName)?.ToInt() ?? output; + internal float NumberProperty(string propertyName, ref float output) => output = this.PropertyT(propertyName)?.ToFloat() ?? output; + internal byte NumberProperty(string propertyName, ref byte output) => output = this.PropertyT(propertyName)?.ToByte() ?? output; + internal long NumberProperty(string propertyName, ref long output) => output = this.PropertyT(propertyName)?.ToLong() ?? output; + internal double NumberProperty(string propertyName, ref double output) => output = this.PropertyT(propertyName)?.ToDouble() ?? output; + internal decimal NumberProperty(string propertyName, ref decimal output) => output = this.PropertyT(propertyName)?.ToDecimal() ?? output; + internal short NumberProperty(string propertyName, ref short output) => output = this.PropertyT(propertyName)?.ToShort() ?? output; + internal DateTime NumberProperty(string propertyName, ref DateTime output) => output = this.PropertyT(propertyName)?.ToDateTime() ?? output; + + internal int? NumberProperty(string propertyName, ref int? output) => output = this.NullableProperty(propertyName)?.ToInt() ?? null; + internal float? NumberProperty(string propertyName, ref float? output) => output = this.NullableProperty(propertyName)?.ToFloat() ?? null; + internal byte? NumberProperty(string propertyName, ref byte? output) => output = this.NullableProperty(propertyName)?.ToByte() ?? null; + internal long? NumberProperty(string propertyName, ref long? output) => output = this.NullableProperty(propertyName)?.ToLong() ?? null; + internal double? NumberProperty(string propertyName, ref double? output) => output = this.NullableProperty(propertyName)?.ToDouble() ?? null; + internal decimal? NumberProperty(string propertyName, ref decimal? output) => output = this.NullableProperty(propertyName)?.ToDecimal() ?? null; + internal short? NumberProperty(string propertyName, ref short? output) => output = this.NullableProperty(propertyName)?.ToShort() ?? null; + + internal DateTime? NumberProperty(string propertyName, ref DateTime? output) => output = this.NullableProperty(propertyName)?.ToDateTime() ?? null; + + + internal string StringProperty(string propertyName) => this.PropertyT(propertyName)?.ToString(); + internal string StringProperty(string propertyName, ref string output) => output = this.PropertyT(propertyName)?.ToString() ?? output; + internal char StringProperty(string propertyName, ref char output) => output = this.PropertyT(propertyName)?.ToChar() ?? output; + internal char? StringProperty(string propertyName, ref char? output) => output = this.PropertyT(propertyName)?.ToChar() ?? null; + + internal DateTime StringProperty(string propertyName, ref DateTime output) => DateTime.TryParse(this.PropertyT(propertyName)?.ToString(), out output) ? output : output; + internal DateTime? StringProperty(string propertyName, ref DateTime? output) => output = DateTime.TryParse(this.PropertyT(propertyName)?.ToString(), out var o) ? o : output; + + + internal bool BooleanProperty(string propertyName, ref bool output) => output = this.PropertyT(propertyName)?.ToBoolean() ?? output; + internal bool? BooleanProperty(string propertyName, ref bool? output) => output = this.PropertyT(propertyName)?.ToBoolean() ?? null; + + internal T[] ArrayProperty(string propertyName, ref T[] output, Func deserializer) + { + var array = this.PropertyT(propertyName); + if (array != null) + { + output = new T[array.Count]; + for (var i = 0; i < output.Length; i++) + { + output[i] = deserializer(array[i]); + } + } + return output; + } + internal T[] ArrayProperty(string propertyName, Func deserializer) + { + var array = this.PropertyT(propertyName); + if (array != null) + { + var output = new T[array.Count]; + for (var i = 0; i < output.Length; i++) + { + output[i] = deserializer(array[i]); + } + return output; + } + return new T[0]; + } + internal void IterateArrayProperty(string propertyName, Action deserializer) + { + var array = this.PropertyT(propertyName); + if (array != null) + { + for (var i = 0; i < array.Count; i++) + { + deserializer(array[i]); + } + } + } + + internal Dictionary DictionaryProperty(string propertyName, ref Dictionary output, Func deserializer) + { + var dictionary = this.PropertyT(propertyName); + if (output == null) + { + output = new Dictionary(); + } + else + { + output.Clear(); + } + if (dictionary != null) + { + foreach (var key in dictionary.Keys) + { + output[key] = deserializer(dictionary[key]); + } + } + return output; + } + + internal static JsonObject Create(IDictionary source, Func selector) + { + if (source == null || selector == null) + { + return null; + } + var result = new JsonObject(); + + foreach (var key in source.Keys) + { + result.SafeAdd(key, selector(source[key])); + } + return result; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Customizations/JsonString.cs b/swaggerci/billing/generated/runtime/Customizations/JsonString.cs new file mode 100644 index 000000000000..b9c56a156ed2 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Customizations/JsonString.cs @@ -0,0 +1,34 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + using System; + using System.Globalization; + using System.Linq; + + public partial class JsonString + { + internal static string DateFormat = "yyyy-MM-dd"; + internal static string DateTimeFormat = "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK"; + internal static string DateTimeRfc1123Format = "R"; + + internal static JsonString Create(string value) => value == null ? null : new JsonString(value); + internal static JsonString Create(char? value) => value is char c ? new JsonString(c.ToString()) : null; + + internal static JsonString CreateDate(DateTime? value) => value is DateTime date ? new JsonString(date.ToString(DateFormat, CultureInfo.CurrentCulture)) : null; + internal static JsonString CreateDateTime(DateTime? value) => value is DateTime date ? new JsonString(date.ToString(DateTimeFormat, CultureInfo.CurrentCulture)) : null; + internal static JsonString CreateDateTimeRfc1123(DateTime? value) => value is DateTime date ? new JsonString(date.ToString(DateTimeRfc1123Format, CultureInfo.CurrentCulture)) : null; + + internal char ToChar() => this.Value?.ToString()?.FirstOrDefault() ?? default(char); + public static implicit operator char(JsonString value) => value?.ToString()?.FirstOrDefault() ?? default(char); + public static implicit operator char? (JsonString value) => value?.ToString()?.FirstOrDefault(); + + public static implicit operator DateTime(JsonString value) => DateTime.TryParse(value, out var output) ? output : default(DateTime); + public static implicit operator DateTime? (JsonString value) => DateTime.TryParse(value, out var output) ? output : default(DateTime?); + + } + + +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Customizations/XNodeArray.cs b/swaggerci/billing/generated/runtime/Customizations/XNodeArray.cs new file mode 100644 index 000000000000..0becf13be5ec --- /dev/null +++ b/swaggerci/billing/generated/runtime/Customizations/XNodeArray.cs @@ -0,0 +1,44 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + using System; + using System.Linq; + + public partial class XNodeArray + { + internal static XNodeArray Create(T[] source, Func selector) + { + if (source == null || selector == null) + { + return null; + } + var result = new XNodeArray(); + foreach (var item in source.Select(selector)) + { + result.SafeAdd(item); + } + return result; + } + internal void SafeAdd(JsonNode item) + { + if (item != null) + { + items.Add(item); + } + } + internal void SafeAdd(Func itemFn) + { + if (itemFn != null) + { + var item = itemFn(); + if (item != null) + { + items.Add(item); + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Debugging.cs b/swaggerci/billing/generated/runtime/Debugging.cs new file mode 100644 index 000000000000..1e4626f0c30c --- /dev/null +++ b/swaggerci/billing/generated/runtime/Debugging.cs @@ -0,0 +1,28 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime +{ + internal static class AttachDebugger + { + internal static void Break() + { + while (!System.Diagnostics.Debugger.IsAttached) + { + System.Console.Error.WriteLine($"Waiting for debugger to attach to process {System.Diagnostics.Process.GetCurrentProcess().Id}"); + for (int i = 0; i < 50; i++) + { + if (System.Diagnostics.Debugger.IsAttached) + { + break; + } + System.Threading.Thread.Sleep(100); + System.Console.Error.Write("."); + } + System.Console.Error.WriteLine(); + } + System.Diagnostics.Debugger.Break(); + } + } +} diff --git a/swaggerci/billing/generated/runtime/DictionaryExtensions.cs b/swaggerci/billing/generated/runtime/DictionaryExtensions.cs new file mode 100644 index 000000000000..0d1bb2d1d427 --- /dev/null +++ b/swaggerci/billing/generated/runtime/DictionaryExtensions.cs @@ -0,0 +1,33 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime +{ + internal static class DictionaryExtensions + { + internal static void HashTableToDictionary(System.Collections.Hashtable hashtable, System.Collections.Generic.IDictionary dictionary) + { + if (null == hashtable) + { + return; + } + foreach (var each in hashtable.Keys) + { + var key = each.ToString(); + var value = hashtable[key]; + if (null != value) + { + try + { + dictionary[key] = (V)value; + } + catch + { + // Values getting dropped; not compatible with target dictionary. Not sure what to do here. + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/EventData.cs b/swaggerci/billing/generated/runtime/EventData.cs new file mode 100644 index 000000000000..92ded104d2cb --- /dev/null +++ b/swaggerci/billing/generated/runtime/EventData.cs @@ -0,0 +1,78 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime +{ + + using System; + using System.Threading; + + ///Represents the data in signaled event. + public partial class EventData + { + /// + /// The type of the event being signaled + /// + public string Id; + + /// + /// The user-ready message from the event. + /// + public string Message; + + /// + /// When the event is about a parameter, this is the parameter name. + /// Used in Validation Events + /// + public string Parameter; + + /// + /// This represents a numeric value associated with the event. + /// Use for progress-style events + /// + public double Value; + + /// + /// Any extended data for an event should be serialized and stored here. + /// + public string ExtendedData; + + /// + /// If the event triggers after the request message has been created, this will contain the Request Message (which in HTTP calls would be HttpRequestMessage) + /// + /// Typically you'd cast this to the expected type to use it: + /// + /// if(eventData.RequestMessgae is HttpRequestMessage httpRequest) + /// { + /// httpRequest.Headers.Add("x-request-flavor", "vanilla"); + /// } + /// + /// + public object RequestMessage; + + /// + /// If the event triggers after the response is back, this will contain the Response Message (which in HTTP calls would be HttpResponseMessage) + /// + /// Typically you'd cast this to the expected type to use it: + /// + /// if(eventData.ResponseMessage is HttpResponseMessage httpResponse){ + /// var flavor = httpResponse.Headers.GetValue("x-request-flavor"); + /// } + /// + /// + public object ResponseMessage; + + /// + /// Cancellation method for this event. + /// + /// If the event consumer wishes to cancel the request that initiated this event, call Cancel() + /// + /// + /// The original initiator of the request must provide the implementation of this. + /// + public System.Action Cancel; + } + +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/EventDataExtensions.cs b/swaggerci/billing/generated/runtime/EventDataExtensions.cs new file mode 100644 index 000000000000..1ec70b8d36ac --- /dev/null +++ b/swaggerci/billing/generated/runtime/EventDataExtensions.cs @@ -0,0 +1,94 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime +{ + using System; + + /// + /// PowerShell-specific data on top of the llc# EventData + /// + /// + /// In PowerShell, we add on the EventDataConverter to support sending events between modules. + /// Obviously, this code would need to be duplcated on both modules. + /// This is preferable to sharing a common library, as versioning makes that problematic. + /// + [System.ComponentModel.TypeConverter(typeof(EventDataConverter))] + public partial class EventData : EventArgs + { + } + + /// + /// A PowerShell PSTypeConverter to adapt an EventData object that has been passed. + /// Usually used between modules. + /// + public class EventDataConverter : System.Management.Automation.PSTypeConverter + { + public override bool CanConvertTo(object sourceValue, Type destinationType) => false; + public override object ConvertTo(object sourceValue, Type destinationType, IFormatProvider formatProvider, bool ignoreCase) => null; + public override bool CanConvertFrom(dynamic sourceValue, Type destinationType) => destinationType == typeof(EventData) && CanConvertFrom(sourceValue); + public override object ConvertFrom(dynamic sourceValue, Type destinationType, IFormatProvider formatProvider, bool ignoreCase) => ConvertFrom(sourceValue); + + /// + /// Verifies that a given object has the required members to convert it to the target type (EventData) + /// + /// Uses a dynamic type so that it is able to use the simplest code without excessive checking. + /// + /// The instance to verify + /// True, if the object has all the required parameters. + public static bool CanConvertFrom(dynamic sourceValue) + { + try + { + // check if this has *required* parameters... + sourceValue?.Id?.GetType(); + sourceValue?.Message?.GetType(); + sourceValue?.Cancel?.GetType(); + + // remaining parameters are not *required*, + // and if they have values, it will copy them at conversion time. + } + catch + { + // if anything throws an exception (because it's null, or doesn't have that member) + return false; + } + return true; + } + + /// + /// Returns result of the delegate as the expected type, or default(T) + /// + /// This isolates any exceptions from the consumer. + /// + /// A delegate that returns a value + /// The desired output type + /// The value from the function if the type is correct + private static T To(Func srcValue) + { + try { return srcValue(); } + catch { return default(T); } + } + + /// + /// Converts an incoming object to the expected type by treating the incoming object as a dynamic, and coping the expected values. + /// + /// the incoming object + /// EventData + public static EventData ConvertFrom(dynamic sourceValue) + { + return new EventData + { + Id = To(() => sourceValue.Id), + Message = To(() => sourceValue.Message), + Parameter = To(() => sourceValue.Parameter), + Value = To(() => sourceValue.Value), + RequestMessage = To(() => sourceValue.RequestMessage), + ResponseMessage = To(() => sourceValue.ResponseMessage), + Cancel = To(() => sourceValue.Cancel) + }; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/EventListener.cs b/swaggerci/billing/generated/runtime/EventListener.cs new file mode 100644 index 000000000000..978ecf3ef451 --- /dev/null +++ b/swaggerci/billing/generated/runtime/EventListener.cs @@ -0,0 +1,247 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime +{ + + using System; + using System.Linq; + using System.Collections; + using System.Collections.Generic; + using System.Net.Http; + using System.Threading; + using System.Threading.Tasks; + using GetEventData = System.Func; + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + public interface IValidates + { + Task Validate(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IEventListener listener); + } + + /// + /// The IEventListener Interface defines the communication mechanism for Signaling events during a remote call. + /// + /// + /// The interface is designed to be as minimal as possible, allow for quick peeking of the event type (id) + /// and the cancellation status and provides a delegate for retrieving the event details themselves. + /// + public interface IEventListener + { + Task Signal(string id, CancellationToken token, GetEventData createMessage); + CancellationToken Token { get; } + System.Action Cancel { get; } + } + + internal static partial class Extensions + { + public static Task Signal(this IEventListener instance, string id, CancellationToken token, Func createMessage) => instance.Signal(id, token, createMessage); + public static Task Signal(this IEventListener instance, string id, CancellationToken token) => instance.Signal(id, token, () => new EventData { Id = id, Cancel = instance.Cancel }); + public static Task Signal(this IEventListener instance, string id, CancellationToken token, string messageText) => instance.Signal(id, token, () => new EventData { Id = id, Message = messageText, Cancel = instance.Cancel }); + public static Task Signal(this IEventListener instance, string id, CancellationToken token, string messageText, HttpRequestMessage request) => instance.Signal(id, token, () => new EventData { Id = id, Message = messageText, RequestMessage = request, Cancel = instance.Cancel }); + public static Task Signal(this IEventListener instance, string id, CancellationToken token, string messageText, HttpResponseMessage response) => instance.Signal(id, token, () => new EventData { Id = id, Message = messageText, RequestMessage = response.RequestMessage, ResponseMessage = response, Cancel = instance.Cancel }); + public static Task Signal(this IEventListener instance, string id, CancellationToken token, string messageText, double magnitude) => instance.Signal(id, token, () => new EventData { Id = id, Message = messageText, Value = magnitude, Cancel = instance.Cancel }); + public static Task Signal(this IEventListener instance, string id, CancellationToken token, string messageText, double magnitude, HttpRequestMessage request) => instance.Signal(id, token, () => new EventData { Id = id, Message = messageText, RequestMessage = request, Value = magnitude, Cancel = instance.Cancel }); + public static Task Signal(this IEventListener instance, string id, CancellationToken token, string messageText, double magnitude, HttpResponseMessage response) => instance.Signal(id, token, () => new EventData { Id = id, Message = messageText, RequestMessage = response.RequestMessage, ResponseMessage = response, Value = magnitude, Cancel = instance.Cancel }); + public static Task Signal(this IEventListener instance, string id, CancellationToken token, HttpRequestMessage request) => instance.Signal(id, token, () => new EventData { Id = id, RequestMessage = request, Cancel = instance.Cancel }); + public static Task Signal(this IEventListener instance, string id, CancellationToken token, HttpRequestMessage request, HttpResponseMessage response) => instance.Signal(id, token, () => new EventData { Id = id, RequestMessage = request, ResponseMessage = response, Cancel = instance.Cancel }); + public static Task Signal(this IEventListener instance, string id, CancellationToken token, HttpResponseMessage response) => instance.Signal(id, token, () => new EventData { Id = id, RequestMessage = response.RequestMessage, ResponseMessage = response, Cancel = instance.Cancel }); + public static Task Signal(this IEventListener instance, string id, CancellationToken token, EventData message) => instance.Signal(id, token, () => { message.Id = id; message.Cancel = instance.Cancel; return message; }); + + public static Task Signal(this IEventListener instance, string id, Func createMessage) => instance.Signal(id, instance.Token, createMessage); + public static Task Signal(this IEventListener instance, string id) => instance.Signal(id, instance.Token, () => new EventData { Id = id, Cancel = instance.Cancel }); + public static Task Signal(this IEventListener instance, string id, string messageText) => instance.Signal(id, instance.Token, () => new EventData { Id = id, Message = messageText, Cancel = instance.Cancel }); + public static Task Signal(this IEventListener instance, string id, string messageText, HttpRequestMessage request) => instance.Signal(id, instance.Token, () => new EventData { Id = id, Message = messageText, RequestMessage = request, Cancel = instance.Cancel }); + public static Task Signal(this IEventListener instance, string id, string messageText, HttpResponseMessage response) => instance.Signal(id, instance.Token, () => new EventData { Id = id, Message = messageText, RequestMessage = response.RequestMessage, ResponseMessage = response, Cancel = instance.Cancel }); + public static Task Signal(this IEventListener instance, string id, string messageText, double magnitude) => instance.Signal(id, instance.Token, () => new EventData { Id = id, Message = messageText, Value = magnitude, Cancel = instance.Cancel }); + public static Task Signal(this IEventListener instance, string id, string messageText, double magnitude, HttpRequestMessage request) => instance.Signal(id, instance.Token, () => new EventData { Id = id, Message = messageText, RequestMessage = request, Value = magnitude, Cancel = instance.Cancel }); + public static Task Signal(this IEventListener instance, string id, string messageText, double magnitude, HttpResponseMessage response) => instance.Signal(id, instance.Token, () => new EventData { Id = id, Message = messageText, RequestMessage = response.RequestMessage, ResponseMessage = response, Value = magnitude, Cancel = instance.Cancel }); + public static Task Signal(this IEventListener instance, string id, HttpRequestMessage request) => instance.Signal(id, instance.Token, () => new EventData { Id = id, RequestMessage = request, Cancel = instance.Cancel }); + public static Task Signal(this IEventListener instance, string id, HttpRequestMessage request, HttpResponseMessage response) => instance.Signal(id, instance.Token, () => new EventData { Id = id, RequestMessage = request, ResponseMessage = response, Cancel = instance.Cancel }); + public static Task Signal(this IEventListener instance, string id, HttpResponseMessage response) => instance.Signal(id, instance.Token, () => new EventData { Id = id, RequestMessage = response.RequestMessage, ResponseMessage = response, Cancel = instance.Cancel }); + public static Task Signal(this IEventListener instance, string id, EventData message) => instance.Signal(id, instance.Token, () => { message.Id = id; message.Cancel = instance.Cancel; return message; }); + + public static Task Signal(this IEventListener instance, string id, System.Uri uri) => instance.Signal(id, instance.Token, () => new EventData { Id = id, Message = uri.ToString(), Cancel = instance.Cancel }); + + public static async Task AssertNotNull(this IEventListener instance, string parameterName, object value) + { + if (value == null) + { + await instance.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ValidationWarning, instance.Token, () => new EventData { Id = Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ValidationWarning, Message = $"'{parameterName}' should not be null", Parameter = parameterName, Cancel = instance.Cancel }); + } + } + public static async Task AssertMinimumLength(this IEventListener instance, string parameterName, string value, int length) + { + if (value != null && value.Length < length) + { + await instance.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ValidationWarning, instance.Token, () => new EventData { Id = Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ValidationWarning, Message = $"Length of '{parameterName}' is less than {length}", Parameter = parameterName, Cancel = instance.Cancel }); + } + } + public static async Task AssertMaximumLength(this IEventListener instance, string parameterName, string value, int length) + { + if (value != null && value.Length > length) + { + await instance.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ValidationWarning, instance.Token, () => new EventData { Id = Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ValidationWarning, Message = $"Length of '{parameterName}' is greater than {length}", Parameter = parameterName, Cancel = instance.Cancel }); + } + } + + public static async Task AssertRegEx(this IEventListener instance, string parameterName, string value, string regularExpression) + { + if (value != null && !System.Text.RegularExpressions.Regex.Match(value, regularExpression).Success) + { + await instance.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ValidationWarning, instance.Token, () => new EventData { Id = Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ValidationWarning, Message = $"'{parameterName}' does not validate against pattern /{regularExpression}/", Parameter = parameterName, Cancel = instance.Cancel }); + } + } + public static async Task AssertEnum(this IEventListener instance, string parameterName, string value, params string[] values) + { + if (!values.Any(each => each.Equals(value))) + { + await instance.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ValidationWarning, instance.Token, () => new EventData { Id = Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ValidationWarning, Message = $"'{parameterName}' is not one of ({values.Aggregate((c, e) => $"'{e}',{c}")}", Parameter = parameterName, Cancel = instance.Cancel }); + } + } + public static async Task AssertObjectIsValid(this IEventListener instance, string parameterName, object inst) + { + await (inst as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.IValidates)?.Validate(instance); + } + + public static async Task AssertIsLessThan(this IEventListener instance, string parameterName, T? value, T max) where T : struct, System.IComparable + { + if (null != value && ((T)value).CompareTo(max) >= 0) + { + await instance.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ValidationWarning, instance.Token, () => new EventData { Id = Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ValidationWarning, Message = $"Value of '{parameterName}' must be less than {max} (value is {value})", Parameter = parameterName, Cancel = instance.Cancel }); + } + } + public static async Task AssertIsGreaterThan(this IEventListener instance, string parameterName, T? value, T max) where T : struct, System.IComparable + { + if (null != value && ((T)value).CompareTo(max) <= 0) + { + await instance.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ValidationWarning, instance.Token, () => new EventData { Id = Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ValidationWarning, Message = $"Value of '{parameterName}' must be greater than {max} (value is {value})", Parameter = parameterName, Cancel = instance.Cancel }); + } + } + public static async Task AssertIsLessThanOrEqual(this IEventListener instance, string parameterName, T? value, T max) where T : struct, System.IComparable + { + if (null != value && ((T)value).CompareTo(max) > 0) + { + await instance.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ValidationWarning, instance.Token, () => new EventData { Id = Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ValidationWarning, Message = $"Value of '{parameterName}' must be less than or equal to {max} (value is {value})", Parameter = parameterName, Cancel = instance.Cancel }); + } + } + public static async Task AssertIsGreaterThanOrEqual(this IEventListener instance, string parameterName, T? value, T max) where T : struct, System.IComparable + { + if (null != value && ((T)value).CompareTo(max) < 0) + { + await instance.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ValidationWarning, instance.Token, () => new EventData { Id = Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ValidationWarning, Message = $"Value of '{parameterName}' must be greater than or equal to {max} (value is {value})", Parameter = parameterName, Cancel = instance.Cancel }); + } + } + public static async Task AssertIsMultipleOf(this IEventListener instance, string parameterName, Int64? value, Int64 multiple) + { + if (null != value && value % multiple != 0) + { + await instance.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ValidationWarning, instance.Token, () => new EventData { Id = Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ValidationWarning, Message = $"Value of '{parameterName}' must be multiple of {multiple} (value is {value})", Parameter = parameterName, Cancel = instance.Cancel }); + } + } + public static async Task AssertIsMultipleOf(this IEventListener instance, string parameterName, double? value, double multiple) + { + if (null != value) + { + var i = (Int64)(value / multiple); + if (i != value / multiple) + { + await instance.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ValidationWarning, instance.Token, () => new EventData { Id = Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ValidationWarning, Message = $"Value of '{parameterName}' must be multiple of {multiple} (value is {value})", Parameter = parameterName, Cancel = instance.Cancel }); + } + } + } + public static async Task AssertIsMultipleOf(this IEventListener instance, string parameterName, decimal? value, decimal multiple) + { + if (null != value) + { + var i = (Int64)(value / multiple); + if (i != value / multiple) + { + await instance.Signal(Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ValidationWarning, instance.Token, () => new EventData { Id = Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Events.ValidationWarning, Message = $"Value of '{parameterName}' must be multiple of {multiple} (value is {value})", Parameter = parameterName, Cancel = instance.Cancel }); + } + } + } + } + + /// + /// An Implementation of the IEventListener that supports subscribing to events and dispatching them + /// (used for manually using the lowlevel interface) + /// + public class EventListener : CancellationTokenSource, IEnumerable>, IEventListener + { + private Dictionary calls = new Dictionary(); + public IEnumerator> GetEnumerator() => calls.GetEnumerator(); + IEnumerator IEnumerable.GetEnumerator() => calls.GetEnumerator(); + public EventListener() + { + } + + public new Action Cancel => base.Cancel; + private Event tracer; + + public EventListener(params (string name, Event callback)[] initializer) + { + foreach (var each in initializer) + { + Add(each.name, each.callback); + } + } + + public void Add(string name, SynchEvent callback) + { + Add(name, (message) => { callback(message); return Task.CompletedTask; }); + } + + public void Add(string name, Event callback) + { + if (callback != null) + { + if (string.IsNullOrEmpty(name)) + { + if (calls.ContainsKey(name)) + { + tracer += callback; + } + else + { + tracer = callback; + } + } + else + { + if (calls.ContainsKey(name)) + { + calls[name ?? System.String.Empty] += callback; + } + else + { + calls[name ?? System.String.Empty] = callback; + } + } + } + } + + + public async Task Signal(string id, CancellationToken token, GetEventData createMessage) + { + using (NoSynchronizationContext) + { + if (!string.IsNullOrEmpty(id) && (calls.TryGetValue(id, out Event listener) || tracer != null)) + { + var message = createMessage(); + message.Id = id; + + await listener?.Invoke(message); + await tracer?.Invoke(message); + + if (token.IsCancellationRequested) + { + throw new OperationCanceledException($"Canceled by event {id} ", this.Token); + } + } + } + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Events.cs b/swaggerci/billing/generated/runtime/Events.cs new file mode 100644 index 000000000000..cd1914092fd5 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Events.cs @@ -0,0 +1,27 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime +{ + public static partial class Events + { + public const string Log = nameof(Log); + public const string Validation = nameof(Validation); + public const string ValidationWarning = nameof(ValidationWarning); + public const string AfterValidation = nameof(AfterValidation); + public const string RequestCreated = nameof(RequestCreated); + public const string ResponseCreated = nameof(ResponseCreated); + public const string URLCreated = nameof(URLCreated); + public const string Finally = nameof(Finally); + public const string HeaderParametersAdded = nameof(HeaderParametersAdded); + public const string BodyContentSet = nameof(BodyContentSet); + public const string BeforeCall = nameof(BeforeCall); + public const string BeforeResponseDispatch = nameof(BeforeResponseDispatch); + public const string FollowingNextLink = nameof(FollowingNextLink); + public const string DelayBeforePolling = nameof(DelayBeforePolling); + public const string Polling = nameof(Polling); + + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/EventsExtensions.cs b/swaggerci/billing/generated/runtime/EventsExtensions.cs new file mode 100644 index 000000000000..39351b628c52 --- /dev/null +++ b/swaggerci/billing/generated/runtime/EventsExtensions.cs @@ -0,0 +1,27 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime +{ + public static partial class Events + { + public const string CmdletProcessRecordStart = nameof(CmdletProcessRecordStart); + public const string CmdletProcessRecordAsyncStart = nameof(CmdletProcessRecordAsyncStart); + public const string CmdletException = nameof(CmdletException); + public const string CmdletGetPipeline = nameof(CmdletGetPipeline); + public const string CmdletBeforeAPICall = nameof(CmdletBeforeAPICall); + public const string CmdletBeginProcessing = nameof(CmdletBeginProcessing); + public const string CmdletEndProcessing = nameof(CmdletEndProcessing); + public const string CmdletProcessRecordEnd = nameof(CmdletProcessRecordEnd); + public const string CmdletProcessRecordAsyncEnd = nameof(CmdletProcessRecordAsyncEnd); + public const string CmdletAfterAPICall = nameof(CmdletAfterAPICall); + + public const string Verbose = nameof(Verbose); + public const string Debug = nameof(Debug); + public const string Information = nameof(Information); + public const string Error = nameof(Error); + public const string Warning = nameof(Warning); + } + +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Extensions.cs b/swaggerci/billing/generated/runtime/Extensions.cs new file mode 100644 index 000000000000..9f1f95ec0d3c --- /dev/null +++ b/swaggerci/billing/generated/runtime/Extensions.cs @@ -0,0 +1,117 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime +{ + using System.Linq; + using System; + + internal static partial class Extensions + { + public static T[] SubArray(this T[] array, int offset, int length) + { + return new ArraySegment(array, offset, length) + .ToArray(); + } + + public static T ReadHeaders(this T instance, global::System.Net.Http.Headers.HttpResponseHeaders headers) where T : class + { + (instance as IHeaderSerializable)?.ReadHeaders(headers); + return instance; + } + + internal static bool If(T input, out T output) + { + if (null == input) + { + output = default(T); + return false; + } + output = input; + return true; + } + + internal static void AddIf(T value, System.Action addMethod) + { + // if value is present (and it's not just an empty JSON Object) + if (null != value && (value as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject)?.Keys.Count != 0) + { + addMethod(value); + } + } + + internal static void AddIf(T value, string serializedName, System.Action addMethod) + { + // if value is present (and it's not just an empty JSON Object) + if (null != value && (value as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject)?.Keys.Count != 0) + { + addMethod(serializedName, value); + } + } + + /// + /// Returns the first header value as a string from an HttpReponseMessage. + /// + /// the HttpResponseMessage to fetch a header from + /// the header name + /// the first header value as a string from an HttpReponseMessage. string.empty if there is no header value matching + internal static string GetFirstHeader(this System.Net.Http.HttpResponseMessage response, string headerName) => response.Headers.FirstOrDefault(each => string.Equals(headerName, each.Key, System.StringComparison.OrdinalIgnoreCase)).Value?.FirstOrDefault() ?? string.Empty; + + /// + /// Sets the Synchronization Context to null, and returns an IDisposable that when disposed, + /// will restore the synchonization context to the original value. + /// + /// This is used a less-invasive means to ensure that code in the library that doesn't + /// need to be continued in the original context doesn't have to have ConfigureAwait(false) + /// on every single await + /// + /// If the SynchronizationContext is null when this is used, the resulting IDisposable + /// will not do anything (this prevents excessive re-setting of the SynchronizationContext) + /// + /// Usage: + /// + /// using(NoSynchronizationContext) { + /// await SomeAsyncOperation(); + /// await SomeOtherOperation(); + /// } + /// + /// + /// + /// An IDisposable that will return the SynchronizationContext to original state + internal static System.IDisposable NoSynchronizationContext => System.Threading.SynchronizationContext.Current == null ? Dummy : new NoSyncContext(); + + /// + /// An instance of the Dummy IDispoable. + /// + /// + internal static System.IDisposable Dummy = new DummyDisposable(); + + /// + /// An IDisposable that does absolutely nothing. + /// + internal class DummyDisposable : System.IDisposable + { + public void Dispose() + { + } + } + /// + /// An IDisposable that saves the SynchronizationContext,sets it to null and + /// restores it to the original upon Dispose(). + /// + /// NOTE: This is designed to be less invasive than using .ConfigureAwait(false) + /// on every single await in library code (ie, places where we know we don't need + /// to continue in the same context as we went async) + /// + internal class NoSyncContext : System.IDisposable + { + private System.Threading.SynchronizationContext original = System.Threading.SynchronizationContext.Current; + internal NoSyncContext() + { + System.Threading.SynchronizationContext.SetSynchronizationContext(null); + } + public void Dispose() => System.Threading.SynchronizationContext.SetSynchronizationContext(original); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Helpers/Extensions/StringBuilderExtensions.cs b/swaggerci/billing/generated/runtime/Helpers/Extensions/StringBuilderExtensions.cs new file mode 100644 index 000000000000..d81a59398fbc --- /dev/null +++ b/swaggerci/billing/generated/runtime/Helpers/Extensions/StringBuilderExtensions.cs @@ -0,0 +1,23 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System.Text; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + internal static class StringBuilderExtensions + { + /// + /// Extracts the buffered value and resets the buffer + /// + internal static string Extract(this StringBuilder builder) + { + var text = builder.ToString(); + + builder.Clear(); + + return text; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Helpers/Extensions/TypeExtensions.cs b/swaggerci/billing/generated/runtime/Helpers/Extensions/TypeExtensions.cs new file mode 100644 index 000000000000..6c7498485060 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Helpers/Extensions/TypeExtensions.cs @@ -0,0 +1,61 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + internal static class TypeExtensions + { + internal static bool IsNullable(this Type type) => + type.IsGenericType && type.GetGenericTypeDefinition().Equals(typeof(Nullable<>)); + + internal static Type GetOpenGenericInterface(this Type candidateType, Type openGenericInterfaceType) + { + + if (candidateType.IsGenericType && candidateType.GetGenericTypeDefinition() == openGenericInterfaceType) + { + return candidateType; + } + + // Check if it references it's own converter.... + + foreach (Type interfaceType in candidateType.GetInterfaces()) + { + if (interfaceType.IsGenericType + && interfaceType.GetGenericTypeDefinition().Equals(openGenericInterfaceType)) + { + return interfaceType; + } + } + + return null; + } + + // Author: Sebastian Good + // http://stackoverflow.com/questions/503263/how-to-determine-if-a-type-implements-a-specific-generic-interface-type + internal static bool ImplementsOpenGenericInterface(this Type candidateType, Type openGenericInterfaceType) + { + if (candidateType.Equals(openGenericInterfaceType)) + { + return true; + } + + if (candidateType.IsGenericType && candidateType.GetGenericTypeDefinition().Equals(openGenericInterfaceType)) + { + return true; + } + + foreach (Type i in candidateType.GetInterfaces()) + { + if (i.IsGenericType && i.ImplementsOpenGenericInterface(openGenericInterfaceType)) + { + return true; + } + } + + return false; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Helpers/Seperator.cs b/swaggerci/billing/generated/runtime/Helpers/Seperator.cs new file mode 100644 index 000000000000..8256ae726a86 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Helpers/Seperator.cs @@ -0,0 +1,11 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + internal static class Seperator + { + internal static readonly char[] Dash = { '-' }; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Helpers/TypeDetails.cs b/swaggerci/billing/generated/runtime/Helpers/TypeDetails.cs new file mode 100644 index 000000000000..867e6de40841 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Helpers/TypeDetails.cs @@ -0,0 +1,116 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections; +using System.Collections.Concurrent; +using System.Collections.Generic; +using System.Reflection; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + + + + internal class TypeDetails + { + private readonly Type info; + + internal TypeDetails(Type info) + { + this.info = info ?? throw new ArgumentNullException(nameof(info)); + } + + internal Type NonNullType { get; set; } + + internal object DefaultValue { get; set; } + + internal bool IsNullable { get; set; } + + internal bool IsList { get; set; } + + internal bool IsStringLike { get; set; } + + internal bool IsEnum => info.IsEnum; + + internal bool IsArray => info.IsArray; + + internal bool IsValueType => info.IsValueType; + + internal Type ElementType { get; set; } + + internal IJsonConverter JsonConverter { get; set; } + + #region Creation + + private static readonly ConcurrentDictionary cache = new ConcurrentDictionary(); + + internal static TypeDetails Get() => Get(typeof(T)); + + internal static TypeDetails Get(Type type) => cache.GetOrAdd(type, Create); + + private static TypeDetails Create(Type type) + { + var isGenericList = !type.IsPrimitive && type.ImplementsOpenGenericInterface(typeof(IList<>)); + var isList = !type.IsPrimitive && (isGenericList || typeof(IList).IsAssignableFrom(type)); + + var isNullable = type.IsNullable(); + + Type elementType; + + if (type.IsArray) + { + elementType = type.GetElementType(); + } + else if (isGenericList) + { + var iList = type.GetOpenGenericInterface(typeof(IList<>)); + + elementType = iList.GetGenericArguments()[0]; + } + else + { + elementType = null; + } + + var nonNullType = isNullable ? type.GetGenericArguments()[0] : type; + + var isStringLike = false; + + IJsonConverter converter; + + var jsonConverterAttribute = type.GetCustomAttribute(); + + if (jsonConverterAttribute != null) + { + converter = jsonConverterAttribute.Converter; + } + else if (nonNullType.IsEnum) + { + converter = new EnumConverter(nonNullType); + } + else if (JsonConverterFactory.Instances.TryGetValue(nonNullType, out converter)) + { + } + else if (StringLikeHelper.IsStringLike(nonNullType)) + { + isStringLike = true; + + converter = new StringLikeConverter(nonNullType); + } + + return new TypeDetails(nonNullType) { + NonNullType = nonNullType, + DefaultValue = type.IsValueType ? Activator.CreateInstance(type) : null, + IsNullable = isNullable, + IsList = isList, + IsStringLike = isStringLike, + ElementType = elementType, + JsonConverter = converter + }; + } + + #endregion + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Helpers/XHelper.cs b/swaggerci/billing/generated/runtime/Helpers/XHelper.cs new file mode 100644 index 000000000000..69b9fd124209 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Helpers/XHelper.cs @@ -0,0 +1,75 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + internal static class XHelper + { + internal static JsonNode Create(JsonType type, TypeCode code, object value) + { + switch (type) + { + case JsonType.Binary : return new XBinary((byte[])value); + case JsonType.Boolean : return new JsonBoolean((bool)value); + case JsonType.Number : return new JsonNumber(value.ToString()); + case JsonType.String : return new JsonString((string)value); + } + + throw new Exception($"JsonType '{type}' does not have a fast conversion"); + } + + internal static bool TryGetElementType(TypeCode code, out JsonType type) + { + switch (code) + { + case TypeCode.Boolean : type = JsonType.Boolean; return true; + case TypeCode.Byte : type = JsonType.Number; return true; + case TypeCode.DateTime : type = JsonType.Date; return true; + case TypeCode.Decimal : type = JsonType.Number; return true; + case TypeCode.Double : type = JsonType.Number; return true; + case TypeCode.Empty : type = JsonType.Null; return true; + case TypeCode.Int16 : type = JsonType.Number; return true; + case TypeCode.Int32 : type = JsonType.Number; return true; + case TypeCode.Int64 : type = JsonType.Number; return true; + case TypeCode.SByte : type = JsonType.Number; return true; + case TypeCode.Single : type = JsonType.Number; return true; + case TypeCode.String : type = JsonType.String; return true; + case TypeCode.UInt16 : type = JsonType.Number; return true; + case TypeCode.UInt32 : type = JsonType.Number; return true; + case TypeCode.UInt64 : type = JsonType.Number; return true; + } + + type = default; + + return false; + } + + internal static JsonType GetElementType(TypeCode code) + { + switch (code) + { + case TypeCode.Boolean : return JsonType.Boolean; + case TypeCode.Byte : return JsonType.Number; + case TypeCode.DateTime : return JsonType.Date; + case TypeCode.Decimal : return JsonType.Number; + case TypeCode.Double : return JsonType.Number; + case TypeCode.Empty : return JsonType.Null; + case TypeCode.Int16 : return JsonType.Number; + case TypeCode.Int32 : return JsonType.Number; + case TypeCode.Int64 : return JsonType.Number; + case TypeCode.SByte : return JsonType.Number; + case TypeCode.Single : return JsonType.Number; + case TypeCode.String : return JsonType.String; + case TypeCode.UInt16 : return JsonType.Number; + case TypeCode.UInt32 : return JsonType.Number; + case TypeCode.UInt64 : return JsonType.Number; + default : return JsonType.Object; + } + + throw new Exception($"TypeCode '{code}' does not have a fast converter"); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/HttpPipeline.cs b/swaggerci/billing/generated/runtime/HttpPipeline.cs new file mode 100644 index 000000000000..4e80a3149628 --- /dev/null +++ b/swaggerci/billing/generated/runtime/HttpPipeline.cs @@ -0,0 +1,88 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime +{ + using System.Net.Http; + using System.Collections.Generic; + using System.Threading; + using System.Threading.Tasks; + using System.Collections; + using System.Linq; + + using GetEventData = System.Func; + using NextDelegate = System.Func, System.Threading.Tasks.Task>, System.Threading.Tasks.Task>; + + using SignalDelegate = System.Func, System.Threading.Tasks.Task>; + using GetParameterDelegate = System.Func, string, object>; + using SendAsyncStepDelegate = System.Func, System.Threading.Tasks.Task>, System.Func, System.Threading.Tasks.Task>, System.Threading.Tasks.Task>, System.Threading.Tasks.Task>; + using PipelineChangeDelegate = System.Action, System.Threading.Tasks.Task>, System.Func, System.Threading.Tasks.Task>, System.Threading.Tasks.Task>, System.Threading.Tasks.Task>>; + using ModuleLoadPipelineDelegate = System.Action, System.Threading.Tasks.Task>, System.Func, System.Threading.Tasks.Task>, System.Threading.Tasks.Task>, System.Threading.Tasks.Task>>, System.Action, System.Threading.Tasks.Task>, System.Func, System.Threading.Tasks.Task>, System.Threading.Tasks.Task>, System.Threading.Tasks.Task>>>; + using NewRequestPipelineDelegate = System.Action, System.Action, System.Threading.Tasks.Task>, System.Func, System.Threading.Tasks.Task>, System.Threading.Tasks.Task>, System.Threading.Tasks.Task>>, System.Action, System.Threading.Tasks.Task>, System.Func, System.Threading.Tasks.Task>, System.Threading.Tasks.Task>, System.Threading.Tasks.Task>>>; + +/* + public class DelegateBasedEventListener : IEventListener + { + private EventListenerDelegate _listener; + public DelegateBasedEventListener(EventListenerDelegate listener) + { + _listener = listener; + } + public CancellationToken Token => CancellationToken.None; + public System.Action Cancel => () => { }; + + + public Task Signal(string id, CancellationToken token, GetEventData createMessage) + { + return _listener(id, token, () => createMessage()); + } + } +*/ + /// + /// This is a necessary extension to the SendAsyncFactory to support the 'generic' delegate format. + /// + public partial class SendAsyncFactory + { + /// + /// This translates a generic-defined delegate for a listener into one that fits our ISendAsync pattern. + /// (Provided to support out-of-module delegation for Azure Cmdlets) + /// + /// The Pipeline Step as a delegate + public SendAsyncFactory(SendAsyncStepDelegate step) => this.implementation = (request, listener, next) => + step( + request, + listener.Token, + listener.Cancel, + (id, token, getEventData) => listener.Signal(id, token, () => { + var data = EventDataConverter.ConvertFrom( getEventData() ) as EventData; + data.Id = id; + data.Cancel = listener.Cancel; + data.RequestMessage = request; + return data; + }), + (req, token, cancel, listenerDelegate) => next.SendAsync(req, listener)); + } + + public partial class HttpPipeline : ISendAsync + { + public HttpPipeline Append(SendAsyncStepDelegate item) + { + if (item != null) + { + Append(new SendAsyncFactory(item)); + } + return this; + } + + public HttpPipeline Prepend(SendAsyncStepDelegate item) + { + if (item != null) + { + Prepend(new SendAsyncFactory(item)); + } + return this; + } + } +} diff --git a/swaggerci/billing/generated/runtime/HttpPipelineMocking.ps1 b/swaggerci/billing/generated/runtime/HttpPipelineMocking.ps1 new file mode 100644 index 000000000000..405d2b6c4764 --- /dev/null +++ b/swaggerci/billing/generated/runtime/HttpPipelineMocking.ps1 @@ -0,0 +1,110 @@ +$ErrorActionPreference = "Stop" + +# get the recording path +if (-not $TestRecordingFile) { + $TestRecordingFile = Join-Path $PSScriptRoot 'recording.json' +} + +# create the Http Pipeline Recorder +$Mock = New-Object -Type Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PipelineMock $TestRecordingFile + +# set the recorder to the appropriate mode (default to 'live') +Write-Host -ForegroundColor Green "Running '$TestMode' mode..." +switch ($TestMode) { + 'record' { + Write-Host -ForegroundColor Green "Recording to $TestRecordingFile" + $Mock.SetRecord() + $null = erase -ea 0 $TestRecordingFile + } + 'playback' { + if (-not (Test-Path $TestRecordingFile)) { + Write-Host -fore:yellow "Recording file '$TestRecordingFile' is not present. Tests expecting recorded responses will fail" + } else { + Write-Host -ForegroundColor Green "Using recording $TestRecordingFile" + } + $Mock.SetPlayback() + $Mock.ForceResponseHeaders["Retry-After"] = "0"; + } + default: { + $Mock.SetLive() + } +} + +# overrides for Pester Describe/Context/It + +function Describe( + [Parameter(Mandatory = $true, Position = 0)] + [string] $Name, + + [Alias('Tags')] + [string[]] $Tag = @(), + + [Parameter(Position = 1)] + [ValidateNotNull()] + [ScriptBlock] $Fixture = $(Throw "No test script block is provided. (Have you put the open curly brace on the next line?)") +) { + $Mock.PushDescription($Name) + try { + return pester\Describe -Name $Name -Tag $Tag -Fixture $fixture + } + finally { + $Mock.PopDescription() + } +} + +function Context( + [Parameter(Mandatory = $true, Position = 0)] + [string] $Name, + + [Alias('Tags')] + [string[]] $Tag = @(), + + [Parameter(Position = 1)] + [ValidateNotNull()] + [ScriptBlock] $Fixture = $(Throw "No test script block is provided. (Have you put the open curly brace on the next line?)") +) { + $Mock.PushContext($Name) + try { + return pester\Context -Name $Name -Tag $Tag -Fixture $fixture + } + finally { + $Mock.PopContext() + } +} + +function It { + [CmdletBinding(DefaultParameterSetName = 'Normal')] + param( + [Parameter(Mandatory = $true, Position = 0)] + [string]$Name, + + [Parameter(Position = 1)] + [ScriptBlock] $Test = { }, + + [System.Collections.IDictionary[]] $TestCases, + + [Parameter(ParameterSetName = 'Pending')] + [Switch] $Pending, + + [Parameter(ParameterSetName = 'Skip')] + [Alias('Ignore')] + [Switch] $Skip + ) + $Mock.PushScenario($Name) + + try { + if ($skip) { + return pester\It -Name $Name -Test $Test -TestCases $TestCases -Skip + } + if ($pending) { + return pester\It -Name $Name -Test $Test -TestCases $TestCases -Pending + } + return pester\It -Name $Name -Test $Test -TestCases $TestCases + } + finally { + $null = $Mock.PopScenario() + } +} + +# set the HttpPipelineAppend for all the cmdlets +$PSDefaultParameterValues["*:HttpPipelinePrepend"] = $Mock diff --git a/swaggerci/billing/generated/runtime/IAssociativeArray.cs b/swaggerci/billing/generated/runtime/IAssociativeArray.cs new file mode 100644 index 000000000000..2683fd3015f6 --- /dev/null +++ b/swaggerci/billing/generated/runtime/IAssociativeArray.cs @@ -0,0 +1,24 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +#define DICT_PROPERTIES +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime +{ + /// A subset of IDictionary that doesn't implement IEnumerable or IDictionary to work around PowerShell's aggressive formatter + public interface IAssociativeArray + { +#if DICT_PROPERTIES + System.Collections.Generic.IEnumerable Keys { get; } + System.Collections.Generic.IEnumerable Values { get; } + int Count { get; } +#endif + System.Collections.Generic.IDictionary AdditionalProperties { get; } + T this[string index] { get; set; } + void Add(string key, T value); + bool ContainsKey(string key); + bool Remove(string key); + bool TryGetValue(string key, out T value); + void Clear(); + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/IHeaderSerializable.cs b/swaggerci/billing/generated/runtime/IHeaderSerializable.cs new file mode 100644 index 000000000000..637fc45206cf --- /dev/null +++ b/swaggerci/billing/generated/runtime/IHeaderSerializable.cs @@ -0,0 +1,14 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime +{ + public interface IHeaderSerializable + { + void ReadHeaders(global::System.Net.Http.Headers.HttpResponseHeaders headers); + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/ISendAsync.cs b/swaggerci/billing/generated/runtime/ISendAsync.cs new file mode 100644 index 000000000000..90bd08fa5fc1 --- /dev/null +++ b/swaggerci/billing/generated/runtime/ISendAsync.cs @@ -0,0 +1,300 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime +{ + using System.Net.Http; + using System.Collections.Generic; + using System.Threading; + using System.Threading.Tasks; + using System.Collections; + using System.Linq; + + /// + /// The interface for sending an HTTP request across the wire. + /// + public interface ISendAsync + { + Task SendAsync(HttpRequestMessage request, IEventListener callback); + } + + public class SendAsyncTerminalFactory : ISendAsyncTerminalFactory, ISendAsync + { + SendAsync implementation; + + public SendAsyncTerminalFactory(SendAsync implementation) => this.implementation = implementation; + public SendAsyncTerminalFactory(ISendAsync implementation) => this.implementation = implementation.SendAsync; + public ISendAsync Create() => this; + public Task SendAsync(HttpRequestMessage request, IEventListener callback) => implementation(request, callback); + } + + public partial class SendAsyncFactory : ISendAsyncFactory + { + public class Sender : ISendAsync + { + internal ISendAsync next; + internal SendAsyncStep implementation; + + public Task SendAsync(HttpRequestMessage request, IEventListener callback) => implementation(request, callback, next); + } + SendAsyncStep implementation; + + public SendAsyncFactory(SendAsyncStep implementation) => this.implementation = implementation; + public ISendAsync Create(ISendAsync next) => new Sender { next = next, implementation = implementation }; + + } + + public class HttpClientFactory : ISendAsyncTerminalFactory, ISendAsync + { + HttpClient client; + public HttpClientFactory() : this(new HttpClient()) + { + } + public HttpClientFactory(HttpClient client) => this.client = client; + public ISendAsync Create() => this; + + public Task SendAsync(HttpRequestMessage request, IEventListener callback) => client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead, callback.Token); + } + + public interface ISendAsyncFactory + { + ISendAsync Create(ISendAsync next); + } + + public interface ISendAsyncTerminalFactory + { + ISendAsync Create(); + } + + public partial class HttpPipeline : ISendAsync + { + private ISendAsync pipeline; + private ISendAsyncTerminalFactory terminal; + private List steps = new List(); + + public HttpPipeline() : this(new HttpClientFactory()) + { + } + + public HttpPipeline(ISendAsyncTerminalFactory terminalStep) + { + if (terminalStep == null) + { + throw new System.ArgumentNullException(nameof(terminalStep), "Terminal Step Factory in HttpPipeline may not be null"); + } + TerminalFactory = terminalStep; + } + + /// + /// Returns an HttpPipeline with the current state of this pipeline. + /// + public HttpPipeline Clone() => new HttpPipeline(terminal) { steps = this.steps.ToList(), pipeline = this.pipeline }; + + public ISendAsyncTerminalFactory TerminalFactory + { + get => terminal; + set + { + if (value == null) + { + throw new System.ArgumentNullException("TerminalFactory in HttpPipeline may not be null"); + } + terminal = value; + } + } + + public ISendAsync Pipeline + { + get + { + // if the pipeline has been created and not invalidated, return it. + if (this.pipeline != null) + { + return this.pipeline; + } + + // create the pipeline from scratch. + var next = terminal.Create(); + foreach (var factory in steps) + { + // skip factories that return null. + next = factory.Create(next) ?? next; + } + return this.pipeline = next; + } + } + + public int Count => steps.Count; + + public HttpPipeline Prepend(ISendAsyncFactory item) + { + if (item != null) + { + steps.Add(item); + pipeline = null; + } + return this; + } + + public HttpPipeline Append(SendAsyncStep item) + { + if (item != null) + { + Append(new SendAsyncFactory(item)); + } + return this; + } + + public HttpPipeline Prepend(SendAsyncStep item) + { + if (item != null) + { + Prepend(new SendAsyncFactory(item)); + } + return this; + } + public HttpPipeline Append(IEnumerable items) + { + if (items != null) + { + foreach (var item in items) + { + Append(new SendAsyncFactory(item)); + } + } + return this; + } + + public HttpPipeline Prepend(IEnumerable items) + { + if (items != null) + { + foreach (var item in items) + { + Prepend(new SendAsyncFactory(item)); + } + } + return this; + } + + public HttpPipeline Append(ISendAsyncFactory item) + { + if (item != null) + { + steps.Insert(0, item); + pipeline = null; + } + return this; + } + public HttpPipeline Prepend(IEnumerable items) + { + if (items != null) + { + foreach (var item in items) + { + Prepend(item); + } + } + return this; + } + + public HttpPipeline Append(IEnumerable items) + { + if (items != null) + { + foreach (var item in items) + { + Append(item); + } + } + return this; + } + + // you can use this as the ISendAsync Implementation + public Task SendAsync(HttpRequestMessage request, IEventListener callback) => Pipeline.SendAsync(request, callback); + } + + internal static partial class Extensions + { + internal static HttpRequestMessage CloneAndDispose(this HttpRequestMessage original, System.Uri requestUri = null, System.Net.Http.HttpMethod method = null) + { + using (original) + { + return original.Clone(requestUri, method); + } + } + + internal static Task CloneWithContentAndDispose(this HttpRequestMessage original, System.Uri requestUri = null, System.Net.Http.HttpMethod method = null) + { + using (original) + { + return original.CloneWithContent(requestUri, method); + } + } + + /// + /// Clones an HttpRequestMessage (without the content) + /// + /// Original HttpRequestMessage (Will be diposed before returning) + /// + /// + /// A clone of the HttpRequestMessage + internal static HttpRequestMessage Clone(this HttpRequestMessage original, System.Uri requestUri = null, System.Net.Http.HttpMethod method = null) + { + var clone = new HttpRequestMessage + { + Method = method ?? original.Method, + RequestUri = requestUri ?? original.RequestUri, + Version = original.Version, + }; + + foreach (KeyValuePair prop in original.Properties) + { + clone.Properties.Add(prop); + } + + foreach (KeyValuePair> header in original.Headers) + { + /* + **temporarily skip cloning telemetry related headers** + clone.Headers.TryAddWithoutValidation(header.Key, header.Value); + */ + if (!"x-ms-unique-id".Equals(header.Key) && !"x-ms-client-request-id".Equals(header.Key) && !"CommandName".Equals(header.Key) && !"FullCommandName".Equals(header.Key) && !"ParameterSetName".Equals(header.Key) && !"User-Agent".Equals(header.Key)) + { + clone.Headers.TryAddWithoutValidation(header.Key, header.Value); + } + } + + return clone; + } + + /// + /// Clones an HttpRequestMessage (including the content stream and content headers) + /// + /// Original HttpRequestMessage (Will be diposed before returning) + /// + /// + /// A clone of the HttpRequestMessage + internal static async Task CloneWithContent(this HttpRequestMessage original, System.Uri requestUri = null, System.Net.Http.HttpMethod method = null) + { + var clone = original.Clone(requestUri, method); + var stream = new System.IO.MemoryStream(); + if (original.Content != null) + { + await original.Content.CopyToAsync(stream).ConfigureAwait(false); + stream.Position = 0; + clone.Content = new StreamContent(stream); + if (original.Content.Headers != null) + { + foreach (var h in original.Content.Headers) + { + clone.Content.Headers.Add(h.Key, h.Value); + } + } + } + return clone; + } + } +} diff --git a/swaggerci/billing/generated/runtime/InfoAttribute.cs b/swaggerci/billing/generated/runtime/InfoAttribute.cs new file mode 100644 index 000000000000..151f233e9f01 --- /dev/null +++ b/swaggerci/billing/generated/runtime/InfoAttribute.cs @@ -0,0 +1,34 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime +{ + using System; + + [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Class)] + public class InfoAttribute : Attribute + { + public bool Required { get; set; } = false; + public bool ReadOnly { get; set; } = false; + public Type[] PossibleTypes { get; set; } = new Type[0]; + public string Description { get; set; } = ""; + public string SerializedName { get; set; } = ""; + } + + [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)] + public class CompleterInfoAttribute : Attribute + { + public string Script { get; set; } = ""; + public string Name { get; set; } = ""; + public string Description { get; set; } = ""; + } + + [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)] + public class DefaultInfoAttribute : Attribute + { + public string Script { get; set; } = ""; + public string Name { get; set; } = ""; + public string Description { get; set; } = ""; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Iso/IsoDate.cs b/swaggerci/billing/generated/runtime/Iso/IsoDate.cs new file mode 100644 index 000000000000..82e1ca7ca46a --- /dev/null +++ b/swaggerci/billing/generated/runtime/Iso/IsoDate.cs @@ -0,0 +1,214 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Text; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + internal struct IsoDate + { + internal int Year { get; set; } // 0-3000 + + internal int Month { get; set; } // 1-12 + + internal int Day { get; set; } // 1-31 + + internal int Hour { get; set; } // 0-24 + + internal int Minute { get; set; } // 0-60 (60 is a special case) + + internal int Second { get; set; } // 0-60 (60 is used for leap seconds) + + internal double Millisecond { get; set; } // 0-999.9... + + internal TimeSpan Offset { get; set; } + + internal DateTimeKind Kind { get; set; } + + internal TimeSpan TimeOfDay => new TimeSpan(Hour, Minute, Second); + + internal DateTime ToDateTime() + { + if (Kind == DateTimeKind.Utc || Offset == TimeSpan.Zero) + { + return new DateTime(Year, Month, Day, Hour, Minute, Second, (int)Millisecond, DateTimeKind.Utc); + } + + return ToDateTimeOffset().DateTime; + } + + internal DateTimeOffset ToDateTimeOffset() + { + return new DateTimeOffset( + Year, + Month, + Day, + Hour, + Minute, + Second, + (int)Millisecond, + Offset + ); + } + + internal DateTime ToUtcDateTime() + { + return ToDateTimeOffset().UtcDateTime; + } + + public override string ToString() + { + var sb = new StringBuilder(); + + // yyyy-MM-dd + sb.Append($"{Year}-{Month:00}-{Day:00}"); + + if (TimeOfDay > new TimeSpan(0)) + { + sb.Append($"T{Hour:00}:{Minute:00}"); + + if (TimeOfDay.Seconds > 0) + { + sb.Append($":{Second:00}"); + } + } + + if (Offset.Ticks == 0) + { + sb.Append('Z'); // UTC + } + else + { + if (Offset.Ticks >= 0) + { + sb.Append('+'); + } + + sb.Append($"{Offset.Hours:00}:{Offset.Minutes:00}"); + } + + return sb.ToString(); + } + + internal static IsoDate FromDateTimeOffset(DateTimeOffset date) + { + return new IsoDate { + Year = date.Year, + Month = date.Month, + Day = date.Day, + Hour = date.Hour, + Minute = date.Minute, + Second = date.Second, + Offset = date.Offset, + Kind = date.Offset == TimeSpan.Zero ? DateTimeKind.Utc : DateTimeKind.Unspecified + }; + } + + private static readonly char[] timeSeperators = { ':', '.' }; + + internal static IsoDate Parse(string text) + { + var tzIndex = -1; + var timeIndex = text.IndexOf('T'); + + var builder = new IsoDate { Day = 1, Month = 1 }; + + // TODO: strip the time zone offset off the end + string dateTime = text; + string timeZone = null; + + if (dateTime.IndexOf('Z') > -1) + { + tzIndex = dateTime.LastIndexOf('Z'); + + builder.Kind = DateTimeKind.Utc; + } + else if (dateTime.LastIndexOf('+') > 10) + { + tzIndex = dateTime.LastIndexOf('+'); + } + else if (dateTime.LastIndexOf('-') > 10) + { + tzIndex = dateTime.LastIndexOf('-'); + } + + if (tzIndex > -1) + { + timeZone = dateTime.Substring(tzIndex); + dateTime = dateTime.Substring(0, tzIndex); + } + + string date = (timeIndex == -1) ? dateTime : dateTime.Substring(0, timeIndex); + + var dateParts = date.Split(Seperator.Dash); // '-' + + for (int i = 0; i < dateParts.Length; i++) + { + var part = dateParts[i]; + + switch (i) + { + case 0: builder.Year = int.Parse(part); break; + case 1: builder.Month = int.Parse(part); break; + case 2: builder.Day = int.Parse(part); break; + } + } + + if (timeIndex > -1) + { + string[] timeParts = dateTime.Substring(timeIndex + 1).Split(timeSeperators); + + for (int i = 0; i < timeParts.Length; i++) + { + var part = timeParts[i]; + + switch (i) + { + case 0: builder.Hour = int.Parse(part); break; + case 1: builder.Minute = int.Parse(part); break; + case 2: builder.Second = int.Parse(part); break; + case 3: builder.Millisecond = double.Parse("0." + part) * 1000; break; + } + } + } + + if (timeZone != null && timeZone != "Z") + { + var hours = int.Parse(timeZone.Substring(1, 2)); + var minutes = int.Parse(timeZone.Substring(4, 2)); + + if (timeZone[0] == '-') + { + hours = -hours; + minutes = -minutes; + } + + builder.Offset = new TimeSpan(hours, minutes, 0); + } + + return builder; + } + } + + /* + YYYY # eg 1997 + YYYY-MM # eg 1997-07 + YYYY-MM-DD # eg 1997-07-16 + YYYY-MM-DDThh:mmTZD # eg 1997-07-16T19:20+01:00 + YYYY-MM-DDThh:mm:ssTZD # eg 1997-07-16T19:20:30+01:00 + YYYY-MM-DDThh:mm:ss.sTZD # eg 1997-07-16T19:20:30.45+01:00 + + where: + + YYYY = four-digit year + MM = two-digit month (01=January, etc.) + DD = two-digit day of month (01 through 31) + hh = two digits of hour (00 through 23) (am/pm NOT allowed) + mm = two digits of minute (00 through 59) + ss = two digits of second (00 through 59) + s = one or more digits representing a decimal fraction of a second + TZD = time zone designator (Z or +hh:mm or -hh:mm) + */ +} diff --git a/swaggerci/billing/generated/runtime/JsonType.cs b/swaggerci/billing/generated/runtime/JsonType.cs new file mode 100644 index 000000000000..f20cb4596d3b --- /dev/null +++ b/swaggerci/billing/generated/runtime/JsonType.cs @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + internal enum JsonType + { + Null = 0, + Object = 1, + Array = 2, + Binary = 3, + Boolean = 4, + Date = 5, + Number = 6, + String = 7 + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/MessageAttribute.cs b/swaggerci/billing/generated/runtime/MessageAttribute.cs new file mode 100644 index 000000000000..845db620ac6f --- /dev/null +++ b/swaggerci/billing/generated/runtime/MessageAttribute.cs @@ -0,0 +1,360 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.generated.runtime.Properties; + using System; + using System.Collections.Generic; + using System.Globalization; + using System.Linq; + using System.Management.Automation; + using System.Text; + + [AttributeUsage(AttributeTargets.All)] + public class GenericBreakingChangeAttribute : Attribute + { + private string _message; + //A dexcription of what the change is about, non mandatory + public string ChangeDescription { get; set; } = null; + + //The version the change is effective from, non mandatory + public string DeprecateByVersion { get; } + public bool DeprecateByVersionSet { get; } = false; + + //The date on which the change comes in effect + public DateTime ChangeInEfectByDate { get; } + public bool ChangeInEfectByDateSet { get; } = false; + + //Old way of calling the cmdlet + public string OldWay { get; set; } + //New way fo calling the cmdlet + public string NewWay { get; set; } + + public GenericBreakingChangeAttribute(string message) + { + _message = message; + } + + public GenericBreakingChangeAttribute(string message, string deprecateByVersion) + { + _message = message; + this.DeprecateByVersion = deprecateByVersion; + this.DeprecateByVersionSet = true; + } + + public GenericBreakingChangeAttribute(string message, string deprecateByVersion, string changeInEfectByDate) + { + _message = message; + this.DeprecateByVersion = deprecateByVersion; + this.DeprecateByVersionSet = true; + + if (DateTime.TryParse(changeInEfectByDate, new CultureInfo("en-US"), DateTimeStyles.None, out DateTime result)) + { + this.ChangeInEfectByDate = result; + this.ChangeInEfectByDateSet = true; + } + } + + public DateTime getInEffectByDate() + { + return this.ChangeInEfectByDate.Date; + } + + + /** + * This function prints out the breaking change message for the attribute on the cmdline + * */ + public void PrintCustomAttributeInfo(Action writeOutput) + { + + if (!GetAttributeSpecificMessage().StartsWith(Environment.NewLine)) + { + writeOutput(Environment.NewLine); + } + writeOutput(string.Format(Resources.BreakingChangesAttributesDeclarationMessage, GetAttributeSpecificMessage())); + + + if (!string.IsNullOrWhiteSpace(ChangeDescription)) + { + writeOutput(string.Format(Resources.BreakingChangesAttributesChangeDescriptionMessage, this.ChangeDescription)); + } + + if (ChangeInEfectByDateSet) + { + writeOutput(string.Format(Resources.BreakingChangesAttributesInEffectByDateMessage, this.ChangeInEfectByDate.ToString("d"))); + } + + if (DeprecateByVersionSet) + { + writeOutput(string.Format(Resources.BreakingChangesAttributesInEffectByVersion, this.DeprecateByVersion)); + } + + if (OldWay != null && NewWay != null) + { + writeOutput(string.Format(Resources.BreakingChangesAttributesUsageChangeMessageConsole, OldWay, NewWay)); + } + } + + public virtual bool IsApplicableToInvocation(InvocationInfo invocation) + { + return true; + } + + protected virtual string GetAttributeSpecificMessage() + { + return _message; + } + } + + [AttributeUsage(AttributeTargets.All)] + public class CmdletBreakingChangeAttribute : GenericBreakingChangeAttribute + { + + public string ReplacementCmdletName { get; set; } + + public CmdletBreakingChangeAttribute() : + base(string.Empty) + { + } + + public CmdletBreakingChangeAttribute(string deprecateByVersione) : + base(string.Empty, deprecateByVersione) + { + } + + public CmdletBreakingChangeAttribute(string deprecateByVersion, string changeInEfectByDate) : + base(string.Empty, deprecateByVersion, changeInEfectByDate) + { + } + + protected override string GetAttributeSpecificMessage() + { + if (string.IsNullOrWhiteSpace(ReplacementCmdletName)) + { + return Resources.BreakingChangesAttributesCmdLetDeprecationMessageNoReplacement; + } + else + { + return string.Format(Resources.BreakingChangesAttributesCmdLetDeprecationMessageWithReplacement, ReplacementCmdletName); + } + } + } + + [AttributeUsage(AttributeTargets.All)] + public class ParameterSetBreakingChangeAttribute : GenericBreakingChangeAttribute + { + public string[] ChangedParameterSet { set; get; } + public ParameterSetBreakingChangeAttribute(string[] changedParameterSet) : + base(string.Empty) + { + ChangedParameterSet = changedParameterSet; + } + + public ParameterSetBreakingChangeAttribute(string[] changedParameterSet, string deprecateByVersione) : + base(string.Empty, deprecateByVersione) + { + ChangedParameterSet = changedParameterSet; + } + + public ParameterSetBreakingChangeAttribute(string[] changedParameterSet, string deprecateByVersion, string changeInEfectByDate) : + base(string.Empty, deprecateByVersion, changeInEfectByDate) + { + ChangedParameterSet = changedParameterSet; + } + + protected override string GetAttributeSpecificMessage() + { + + return Resources.BreakingChangesAttributesParameterSetDeprecationMessageNoReplacement; + + } + + public bool IsApplicableToInvocation(InvocationInfo invocation, string parameterSetName) + { + if (ChangedParameterSet != null) + return ChangedParameterSet.Contains(parameterSetName); + return false; + } + + } + + [AttributeUsage(AttributeTargets.All)] + public class PreviewMessageAttribute : Attribute + { + public string _message; + + public PreviewMessageAttribute() + { + this._message = Resources.PreviewCmdletMessage; + } + + public PreviewMessageAttribute(string message) + { + this._message = message; + } + + public void PrintCustomAttributeInfo(System.Management.Automation.PSCmdlet psCmdlet) + { + psCmdlet.WriteWarning(this._message); + } + + public virtual bool IsApplicableToInvocation(InvocationInfo invocation) + { + return true; + } + } + + [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)] + public class ParameterBreakingChangeAttribute : GenericBreakingChangeAttribute + { + public string NameOfParameterChanging { get; } + + public string ReplaceMentCmdletParameterName { get; set; } = null; + + public bool IsBecomingMandatory { get; set; } = false; + + public String OldParamaterType { get; set; } + + public String NewParameterType { get; set; } + + public ParameterBreakingChangeAttribute(string nameOfParameterChanging) : + base(string.Empty) + { + this.NameOfParameterChanging = nameOfParameterChanging; + } + + public ParameterBreakingChangeAttribute(string nameOfParameterChanging, string deprecateByVersion) : + base(string.Empty, deprecateByVersion) + { + this.NameOfParameterChanging = nameOfParameterChanging; + } + + public ParameterBreakingChangeAttribute(string nameOfParameterChanging, string deprecateByVersion, string changeInEfectByDate) : + base(string.Empty, deprecateByVersion, changeInEfectByDate) + { + this.NameOfParameterChanging = nameOfParameterChanging; + } + + protected override string GetAttributeSpecificMessage() + { + StringBuilder message = new StringBuilder(); + if (!string.IsNullOrWhiteSpace(ReplaceMentCmdletParameterName)) + { + if (IsBecomingMandatory) + { + message.Append(string.Format(Resources.BreakingChangeAttributeParameterReplacedMandatory, NameOfParameterChanging, ReplaceMentCmdletParameterName)); + } + else + { + message.Append(string.Format(Resources.BreakingChangeAttributeParameterReplaced, NameOfParameterChanging, ReplaceMentCmdletParameterName)); + } + } + else + { + if (IsBecomingMandatory) + { + message.Append(string.Format(Resources.BreakingChangeAttributeParameterMandatoryNow, NameOfParameterChanging)); + } + else + { + message.Append(string.Format(Resources.BreakingChangeAttributeParameterChanging, NameOfParameterChanging)); + } + } + + //See if the type of the param is changing + if (OldParamaterType != null && !string.IsNullOrWhiteSpace(NewParameterType)) + { + message.Append(string.Format(Resources.BreakingChangeAttributeParameterTypeChange, OldParamaterType, NewParameterType)); + } + return message.ToString(); + } + + /// + /// See if the bound parameters contain the current parameter, if they do + /// then the attribbute is applicable + /// If the invocationInfo is null we return true + /// + /// + /// bool + public override bool IsApplicableToInvocation(InvocationInfo invocationInfo) + { + bool? applicable = invocationInfo == null ? true : invocationInfo.BoundParameters?.Keys?.Contains(this.NameOfParameterChanging); + return applicable.HasValue ? applicable.Value : false; + } + } + + [AttributeUsage(AttributeTargets.All)] + public class OutputBreakingChangeAttribute : GenericBreakingChangeAttribute + { + public string DeprecatedCmdLetOutputType { get; } + + //This is still a String instead of a Type as this + //might be undefined at the time of adding the attribute + public string ReplacementCmdletOutputType { get; set; } + + public string[] DeprecatedOutputProperties { get; set; } + + public string[] NewOutputProperties { get; set; } + + public OutputBreakingChangeAttribute(string deprecatedCmdletOutputType) : + base(string.Empty) + { + this.DeprecatedCmdLetOutputType = deprecatedCmdletOutputType; + } + + public OutputBreakingChangeAttribute(string deprecatedCmdletOutputType, string deprecateByVersion) : + base(string.Empty, deprecateByVersion) + { + this.DeprecatedCmdLetOutputType = deprecatedCmdletOutputType; + } + + public OutputBreakingChangeAttribute(string deprecatedCmdletOutputType, string deprecateByVersion, string changeInEfectByDate) : + base(string.Empty, deprecateByVersion, changeInEfectByDate) + { + this.DeprecatedCmdLetOutputType = deprecatedCmdletOutputType; + } + + protected override string GetAttributeSpecificMessage() + { + StringBuilder message = new StringBuilder(); + + //check for the deprecation scenario + if (string.IsNullOrWhiteSpace(ReplacementCmdletOutputType) && NewOutputProperties == null && DeprecatedOutputProperties == null && string.IsNullOrWhiteSpace(ChangeDescription)) + { + message.Append(string.Format(Resources.BreakingChangesAttributesCmdLetOutputTypeDeprecated, DeprecatedCmdLetOutputType)); + } + else + { + if (!string.IsNullOrWhiteSpace(ReplacementCmdletOutputType)) + { + message.Append(string.Format(Resources.BreakingChangesAttributesCmdLetOutputChange1, DeprecatedCmdLetOutputType, ReplacementCmdletOutputType)); + } + else + { + message.Append(string.Format(Resources.BreakingChangesAttributesCmdLetOutputChange2, DeprecatedCmdLetOutputType)); + } + + if (DeprecatedOutputProperties != null && DeprecatedOutputProperties.Length > 0) + { + message.Append(Resources.BreakingChangesAttributesCmdLetOutputPropertiesRemoved); + foreach (string property in DeprecatedOutputProperties) + { + message.Append(" '" + property + "'"); + } + } + + if (NewOutputProperties != null && NewOutputProperties.Length > 0) + { + message.Append(Resources.BreakingChangesAttributesCmdLetOutputPropertiesAdded); + foreach (string property in NewOutputProperties) + { + message.Append(" '" + property + "'"); + } + } + } + return message.ToString(); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/MessageAttributeHelper.cs b/swaggerci/billing/generated/runtime/MessageAttributeHelper.cs new file mode 100644 index 000000000000..da368234dcca --- /dev/null +++ b/swaggerci/billing/generated/runtime/MessageAttributeHelper.cs @@ -0,0 +1,161 @@ +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime +{ + using Microsoft.Azure.PowerShell.Cmdlets.Billing.generated.runtime.Properties; + using System; + using System.Collections.Generic; + using System.Linq; + using System.Management.Automation; + using System.Reflection; + using System.Text; + using System.Threading.Tasks; + public class MessageAttributeHelper + { + public const string BREAKING_CHANGE_ATTRIBUTE_INFORMATION_LINK = "https://aka.ms/azps-changewarnings"; + public const string SUPPRESS_ERROR_OR_WARNING_MESSAGE_ENV_VARIABLE_NAME = "SuppressAzurePowerShellBreakingChangeWarnings"; + + /** + * This function takes in a CommandInfo (CmdletInfo or FunctionInfo) + * And reads all the deprecation attributes attached to it + * Prints a message on the cmdline For each of the attribute found + * + * the boundParameterNames is a list of parameters bound to the cmdlet at runtime, + * We only process the Parameter beaking change attributes attached only params listed in this list (if present) + * */ + public static void ProcessCustomAttributesAtRuntime(CommandInfo commandInfo, InvocationInfo invocationInfo, String parameterSet, System.Management.Automation.PSCmdlet psCmdlet) + { + bool supressWarningOrError = false; + + try + { + supressWarningOrError = bool.Parse(System.Environment.GetEnvironmentVariable(SUPPRESS_ERROR_OR_WARNING_MESSAGE_ENV_VARIABLE_NAME)); + } + catch (Exception) + { + //no action + } + + if (supressWarningOrError) + { + //Do not process the attributes at runtime... The env variable to override the warning messages is set + return; + } + + List attributes = new List(GetAllBreakingChangeAttributesInType(commandInfo, invocationInfo, parameterSet)); + StringBuilder sb = new StringBuilder(); + Action appendBreakingChangeInfo = (string s) => sb.Append(s); + + if (attributes != null && attributes.Count > 0) + { + appendBreakingChangeInfo(string.Format(Resources.BreakingChangesAttributesHeaderMessage, commandInfo.Name.Split('_')[0])); + + foreach (GenericBreakingChangeAttribute attribute in attributes) + { + attribute.PrintCustomAttributeInfo(appendBreakingChangeInfo); + } + + appendBreakingChangeInfo(string.Format(Resources.BreakingChangesAttributesFooterMessage, BREAKING_CHANGE_ATTRIBUTE_INFORMATION_LINK)); + + psCmdlet.WriteWarning(sb.ToString()); + } + + List previewAttributes = new List(GetAllPreviewAttributesInType(commandInfo, invocationInfo)); + + if (previewAttributes != null && previewAttributes.Count > 0) + { + foreach (PreviewMessageAttribute attribute in previewAttributes) + { + attribute.PrintCustomAttributeInfo(psCmdlet); + } + } + } + + + /** + * This function takes in a CommandInfo (CmdletInfo or FunctionInfo) + * And returns all the deprecation attributes attached to it + * + * the boundParameterNames is a list of parameters bound to the cmdlet at runtime, + * We only process the Parameter beaking change attributes attached only params listed in this list (if present) + **/ + private static IEnumerable GetAllBreakingChangeAttributesInType(CommandInfo commandInfo, InvocationInfo invocationInfo, String parameterSet) + { + List attributeList = new List(); + + if (commandInfo.GetType() == typeof(CmdletInfo)) + { + var type = ((CmdletInfo)commandInfo).ImplementingType; + attributeList.AddRange(type.GetCustomAttributes(typeof(GenericBreakingChangeAttribute), false).Cast()); + + foreach (MethodInfo m in type.GetRuntimeMethods()) + { + attributeList.AddRange((m.GetCustomAttributes(typeof(GenericBreakingChangeAttribute), false).Cast())); + } + + foreach (FieldInfo f in type.GetRuntimeFields()) + { + attributeList.AddRange(f.GetCustomAttributes(typeof(GenericBreakingChangeAttribute), false).Cast()); + } + + foreach (PropertyInfo p in type.GetRuntimeProperties()) + { + attributeList.AddRange(p.GetCustomAttributes(typeof(GenericBreakingChangeAttribute), false).Cast()); + } + } + else if (commandInfo.GetType() == typeof(FunctionInfo)) + { + attributeList.AddRange(((FunctionInfo)commandInfo).ScriptBlock.Attributes.Where(e => typeof(GenericBreakingChangeAttribute).IsAssignableFrom(e.GetType())).Cast()); + foreach (var parameter in ((FunctionInfo)commandInfo).Parameters) + { + attributeList.AddRange(parameter.Value.Attributes.Where(e => typeof(GenericBreakingChangeAttribute).IsAssignableFrom(e.GetType())).Cast()); + } + } + return invocationInfo == null ? attributeList : attributeList.Where(e => e.GetType() == typeof(ParameterSetBreakingChangeAttribute) ? ((ParameterSetBreakingChangeAttribute)e).IsApplicableToInvocation(invocationInfo, parameterSet) : e.IsApplicableToInvocation(invocationInfo)); + } + private static IEnumerable GetAllPreviewAttributesInType(CommandInfo commandInfo, InvocationInfo invocationInfo) + { + List attributeList = new List(); + if (commandInfo.GetType() == typeof(CmdletInfo)) + { + var type = ((CmdletInfo)commandInfo).ImplementingType; + attributeList.AddRange(type.GetCustomAttributes(typeof(PreviewMessageAttribute), false).Cast()); + + foreach (MethodInfo m in type.GetRuntimeMethods()) + { + attributeList.AddRange((m.GetCustomAttributes(typeof(PreviewMessageAttribute), false).Cast())); + } + + foreach (FieldInfo f in type.GetRuntimeFields()) + { + attributeList.AddRange(f.GetCustomAttributes(typeof(PreviewMessageAttribute), false).Cast()); + } + + foreach (PropertyInfo p in type.GetRuntimeProperties()) + { + attributeList.AddRange(p.GetCustomAttributes(typeof(PreviewMessageAttribute), false).Cast()); + } + } + else if (commandInfo.GetType() == typeof(FunctionInfo)) + { + attributeList.AddRange(((FunctionInfo)commandInfo).ScriptBlock.Attributes.Where(e => typeof(PreviewMessageAttribute).IsAssignableFrom(e.GetType())).Cast()); + foreach (var parameter in ((FunctionInfo)commandInfo).Parameters) + { + attributeList.AddRange(parameter.Value.Attributes.Where(e => typeof(PreviewMessageAttribute).IsAssignableFrom(e.GetType())).Cast()); + } + } + return invocationInfo == null ? attributeList : attributeList.Where(e => e.IsApplicableToInvocation(invocationInfo)); + } + } +} diff --git a/swaggerci/billing/generated/runtime/Method.cs b/swaggerci/billing/generated/runtime/Method.cs new file mode 100644 index 000000000000..c5e3707e8945 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Method.cs @@ -0,0 +1,19 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime +{ + internal static class Method + { + internal static System.Net.Http.HttpMethod Get = System.Net.Http.HttpMethod.Get; + internal static System.Net.Http.HttpMethod Put = System.Net.Http.HttpMethod.Put; + internal static System.Net.Http.HttpMethod Head = System.Net.Http.HttpMethod.Head; + internal static System.Net.Http.HttpMethod Post = System.Net.Http.HttpMethod.Post; + internal static System.Net.Http.HttpMethod Delete = System.Net.Http.HttpMethod.Delete; + internal static System.Net.Http.HttpMethod Options = System.Net.Http.HttpMethod.Options; + internal static System.Net.Http.HttpMethod Trace = System.Net.Http.HttpMethod.Trace; + internal static System.Net.Http.HttpMethod Patch = new System.Net.Http.HttpMethod("PATCH"); + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Models/JsonMember.cs b/swaggerci/billing/generated/runtime/Models/JsonMember.cs new file mode 100644 index 000000000000..f9c06141f5ec --- /dev/null +++ b/swaggerci/billing/generated/runtime/Models/JsonMember.cs @@ -0,0 +1,83 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Reflection; +using System.Runtime.Serialization; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + + + internal sealed class JsonMember + { + private readonly TypeDetails type; + + private readonly Func getter; + private readonly Action setter; + + internal JsonMember(PropertyInfo property, int defaultOrder) + { + getter = property.GetValue; + setter = property.SetValue; + + var dataMember = property.GetCustomAttribute(); + + Name = dataMember?.Name ?? property.Name; + Order = dataMember?.Order ?? defaultOrder; + EmitDefaultValue = dataMember?.EmitDefaultValue ?? true; + + this.type = TypeDetails.Get(property.PropertyType); + + CanRead = property.CanRead; + } + + internal JsonMember(FieldInfo field, int defaultOrder) + { + getter = field.GetValue; + setter = field.SetValue; + + var dataMember = field.GetCustomAttribute(); + + Name = dataMember?.Name ?? field.Name; + Order = dataMember?.Order ?? defaultOrder; + EmitDefaultValue = dataMember?.EmitDefaultValue ?? true; + + this.type = TypeDetails.Get(field.FieldType); + + CanRead = true; + } + + internal string Name { get; } + + internal int Order { get; } + + internal TypeDetails TypeDetails => type; + + internal Type Type => type.NonNullType; + + internal bool IsList => type.IsList; + + // Arrays, Sets, ... + internal Type ElementType => type.ElementType; + + internal IJsonConverter Converter => type.JsonConverter; + + internal bool EmitDefaultValue { get; } + + internal bool IsStringLike => type.IsStringLike; + + internal object DefaultValue => type.DefaultValue; + + internal bool CanRead { get; } + + #region Helpers + + internal object GetValue(object instance) => getter(instance); + + internal void SetValue(object instance, object value) => setter(instance, value); + + #endregion + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Models/JsonModel.cs b/swaggerci/billing/generated/runtime/Models/JsonModel.cs new file mode 100644 index 000000000000..75bca860141e --- /dev/null +++ b/swaggerci/billing/generated/runtime/Models/JsonModel.cs @@ -0,0 +1,89 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections.Generic; +using System.Runtime.Serialization; +using System.Reflection; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + internal class JsonModel + { + private Dictionary map; + private readonly object _sync = new object(); + + private JsonModel(Type type, List members) + { + Type = type ?? throw new ArgumentNullException(nameof(type)); + Members = members ?? throw new ArgumentNullException(nameof(members)); + } + + internal string Name => Type.Name; + + internal Type Type { get; } + + internal List Members { get; } + + internal JsonMember this[string name] + { + get + { + if (map == null) + { + lock (_sync) + { + if (map == null) + { + map = new Dictionary(); + + foreach (JsonMember m in Members) + { + map[m.Name.ToLower()] = m; + } + } + } + } + + + map.TryGetValue(name.ToLower(), out JsonMember member); + + return member; + } + } + + internal static JsonModel FromType(Type type) + { + var members = new List(); + + int i = 0; + + // BindingFlags.Instance | BindingFlags.Public + + foreach (var member in type.GetFields()) + { + if (member.IsStatic) continue; + + if (member.IsDefined(typeof(IgnoreDataMemberAttribute))) continue; + + members.Add(new JsonMember(member, i)); + + i++; + } + + foreach (var member in type.GetProperties(BindingFlags.Public | BindingFlags.Instance)) + { + if (member.IsDefined(typeof(IgnoreDataMemberAttribute))) continue; + + members.Add(new JsonMember(member, i)); + + i++; + } + + members.Sort((a, b) => a.Order.CompareTo(b.Order)); // inline sort + + return new JsonModel(type, members); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Models/JsonModelCache.cs b/swaggerci/billing/generated/runtime/Models/JsonModelCache.cs new file mode 100644 index 000000000000..78a2c64edeca --- /dev/null +++ b/swaggerci/billing/generated/runtime/Models/JsonModelCache.cs @@ -0,0 +1,19 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Runtime.CompilerServices; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + internal static class JsonModelCache + { + private static readonly ConditionalWeakTable cache + = new ConditionalWeakTable(); + + internal static JsonModel Get(Type type) => cache.GetValue(type, Create); + + private static JsonModel Create(Type type) => JsonModel.FromType(type); + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Nodes/Collections/JsonArray.cs b/swaggerci/billing/generated/runtime/Nodes/Collections/JsonArray.cs new file mode 100644 index 000000000000..f1f3697f4ef3 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Nodes/Collections/JsonArray.cs @@ -0,0 +1,65 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections; +using System.Collections.Generic; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + public abstract partial class JsonArray : JsonNode, IEnumerable + { + internal override JsonType Type => JsonType.Array; + + internal abstract JsonType? ElementType { get; } + + public abstract int Count { get; } + + internal virtual bool IsSet => false; + + internal bool IsEmpty => Count == 0; + + #region IEnumerable + + IEnumerator IEnumerable.GetEnumerator() + { + throw new NotImplementedException(); + } + + IEnumerator IEnumerable.GetEnumerator() + { + throw new NotImplementedException(); + } + + #endregion + + #region Static Helpers + + internal static JsonArray Create(short[] values) + => new XImmutableArray(values); + + internal static JsonArray Create(int[] values) + => new XImmutableArray(values); + + internal static JsonArray Create(long[] values) + => new XImmutableArray(values); + + internal static JsonArray Create(decimal[] values) + => new XImmutableArray(values); + + internal static JsonArray Create(float[] values) + => new XImmutableArray(values); + + internal static JsonArray Create(string[] values) + => new XImmutableArray(values); + + internal static JsonArray Create(XBinary[] values) + => new XImmutableArray(values); + + #endregion + + internal static new JsonArray Parse(string text) + => (JsonArray)JsonNode.Parse(text); + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Nodes/Collections/XImmutableArray.cs b/swaggerci/billing/generated/runtime/Nodes/Collections/XImmutableArray.cs new file mode 100644 index 000000000000..0662875d0084 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Nodes/Collections/XImmutableArray.cs @@ -0,0 +1,62 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections; +using System.Collections.Generic; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + internal sealed class XImmutableArray : JsonArray, IEnumerable + { + private readonly T[] values; + private readonly JsonType elementType; + private readonly TypeCode elementCode; + + internal XImmutableArray(T[] values) + { + this.values = values ?? throw new ArgumentNullException(nameof(values)); + this.elementCode = System.Type.GetTypeCode(typeof(T)); + this.elementType = XHelper.GetElementType(this.elementCode); + } + + public override JsonNode this[int index] => + XHelper.Create(elementType, elementCode, values[index]); + + internal override JsonType? ElementType => elementType; + + public override int Count => values.Length; + + public bool IsReadOnly => true; + + #region IEnumerable Members + + IEnumerator IEnumerable.GetEnumerator() + { + foreach (T value in values) + { + yield return XHelper.Create(elementType, elementCode, value); + } + } + + IEnumerator IEnumerable.GetEnumerator() + { + foreach (T value in values) + { + yield return XHelper.Create(elementType, elementCode, value); + } + } + + #endregion + + #region Static Constructor + + internal XImmutableArray Create(T[] items) + { + return new XImmutableArray(items); + } + + #endregion + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Nodes/Collections/XList.cs b/swaggerci/billing/generated/runtime/Nodes/Collections/XList.cs new file mode 100644 index 000000000000..51ba5ee70efb --- /dev/null +++ b/swaggerci/billing/generated/runtime/Nodes/Collections/XList.cs @@ -0,0 +1,64 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections; +using System.Collections.Generic; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + internal sealed class XList : JsonArray, IEnumerable + { + private readonly IList values; + private readonly JsonType elementType; + private readonly TypeCode elementCode; + + internal XList(IList values) + { + this.values = values ?? throw new ArgumentNullException(nameof(values)); + this.elementCode = System.Type.GetTypeCode(typeof(T)); + this.elementType = XHelper.GetElementType(this.elementCode); + } + + public override JsonNode this[int index] => + XHelper.Create(elementType, elementCode, values[index]); + + internal override JsonType? ElementType => elementType; + + public override int Count => values.Count; + + public bool IsReadOnly => values.IsReadOnly; + + #region IList + + public void Add(T value) + { + values.Add(value); + } + + public bool Contains(T value) => values.Contains(value); + + #endregion + + #region IEnumerable Members + + IEnumerator IEnumerable.GetEnumerator() + { + foreach (var value in values) + { + yield return XHelper.Create(elementType, elementCode, value); + } + } + + IEnumerator IEnumerable.GetEnumerator() + { + foreach (var value in values) + { + yield return XHelper.Create(elementType, elementCode, value); + } + } + + #endregion + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Nodes/Collections/XNodeArray.cs b/swaggerci/billing/generated/runtime/Nodes/Collections/XNodeArray.cs new file mode 100644 index 000000000000..e5a80fc28c3e --- /dev/null +++ b/swaggerci/billing/generated/runtime/Nodes/Collections/XNodeArray.cs @@ -0,0 +1,68 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System.Collections; +using System.Collections.Generic; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + public sealed partial class XNodeArray : JsonArray, ICollection + { + private readonly List items; + + internal XNodeArray() + { + items = new List(); + } + + internal XNodeArray(params JsonNode[] values) + { + items = new List(values); + } + + public override JsonNode this[int index] => items[index]; + + internal override JsonType? ElementType => null; + + public bool IsReadOnly => false; + + public override int Count => items.Count; + + #region ICollection Members + + public void Add(JsonNode item) + { + items.Add(item); + } + + void ICollection.Clear() + { + items.Clear(); + } + + public bool Contains(JsonNode item) => items.Contains(item); + + void ICollection.CopyTo(JsonNode[] array, int arrayIndex) + { + items.CopyTo(array, arrayIndex); + } + + public bool Remove(JsonNode item) + { + return items.Remove(item); + } + + #endregion + + #region IEnumerable Members + + IEnumerator IEnumerable.GetEnumerator() + => items.GetEnumerator(); + + IEnumerator IEnumerable.GetEnumerator() + => items.GetEnumerator(); + + #endregion + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Nodes/Collections/XSet.cs b/swaggerci/billing/generated/runtime/Nodes/Collections/XSet.cs new file mode 100644 index 000000000000..f5814ea5cd80 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Nodes/Collections/XSet.cs @@ -0,0 +1,60 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections; +using System.Collections.Generic; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + internal sealed class XSet : JsonArray, IEnumerable + { + private readonly HashSet values; + private readonly JsonType elementType; + private readonly TypeCode elementCode; + + internal XSet(IEnumerable values) + : this(new HashSet(values)) + { } + + internal XSet(HashSet values) + { + this.values = values ?? throw new ArgumentNullException(nameof(values)); + this.elementCode = System.Type.GetTypeCode(typeof(T)); + this.elementType = XHelper.GetElementType(this.elementCode); + } + + internal override JsonType Type => JsonType.Array; + + internal override JsonType? ElementType => elementType; + + public bool IsReadOnly => true; + + public override int Count => values.Count; + + internal override bool IsSet => true; + + #region IEnumerable Members + + IEnumerator IEnumerable.GetEnumerator() + { + foreach (var value in values) + { + yield return XHelper.Create(elementType, elementCode, value); + } + } + + IEnumerator IEnumerable.GetEnumerator() + { + foreach (var value in values) + { + yield return XHelper.Create(elementType, elementCode, value); + } + } + + #endregion + + internal HashSet AsHashSet() => values; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Nodes/JsonBoolean.cs b/swaggerci/billing/generated/runtime/Nodes/JsonBoolean.cs new file mode 100644 index 000000000000..b8a6e5b24e30 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Nodes/JsonBoolean.cs @@ -0,0 +1,42 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + internal sealed partial class JsonBoolean : JsonNode + { + internal static readonly JsonBoolean True = new JsonBoolean(true); + internal static readonly JsonBoolean False = new JsonBoolean(false); + + internal JsonBoolean(bool value) + { + Value = value; + } + + internal bool Value { get; } + + internal override JsonType Type => JsonType.Boolean; + + internal static new JsonBoolean Parse(string text) + { + switch (text) + { + case "false": return False; + case "true": return True; + + default: throw new ArgumentException($"Expected true or false. Was {text}."); + } + } + + #region Implicit Casts + + public static implicit operator bool(JsonBoolean data) => data.Value; + + public static implicit operator JsonBoolean(bool data) => new JsonBoolean(data); + + #endregion + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Nodes/JsonDate.cs b/swaggerci/billing/generated/runtime/Nodes/JsonDate.cs new file mode 100644 index 000000000000..e0ee4718e2ec --- /dev/null +++ b/swaggerci/billing/generated/runtime/Nodes/JsonDate.cs @@ -0,0 +1,173 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + + + internal sealed partial class JsonDate : JsonNode, IEquatable, IComparable + { + internal static bool AssumeUtcWhenKindIsUnspecified = true; + + private readonly DateTimeOffset value; + + internal JsonDate(DateTime value) + { + if (value.Kind == DateTimeKind.Unspecified && AssumeUtcWhenKindIsUnspecified) + { + value = DateTime.SpecifyKind(value, DateTimeKind.Utc); + } + + this.value = value; + } + + internal JsonDate(DateTimeOffset value) + { + this.value = value; + } + + internal override JsonType Type => JsonType.Date; + + #region Helpers + + internal DateTimeOffset ToDateTimeOffset() + { + return value; + } + + internal DateTime ToDateTime() + { + if (value.Offset == TimeSpan.Zero) + { + return value.UtcDateTime; + } + + return value.DateTime; + } + + internal DateTime ToUtcDateTime() => value.UtcDateTime; + + internal int ToUnixTimeSeconds() + { + return (int)value.ToUnixTimeSeconds(); + } + + internal long ToUnixTimeMilliseconds() + { + return (int)value.ToUnixTimeMilliseconds(); + } + + internal string ToIsoString() + { + return IsoDate.FromDateTimeOffset(value).ToString(); + } + + #endregion + + public override string ToString() + { + return ToIsoString(); + } + + internal static new JsonDate Parse(string text) + { + if (text == null) throw new ArgumentNullException(nameof(text)); + + // TODO support: unixtimeseconds.partialseconds + + if (text.Length > 4 && _IsNumber(text)) // UnixTime + { + var date = DateTimeOffset.FromUnixTimeSeconds(long.Parse(text)); + + return new JsonDate(date); + } + else if (text.Length <= 4 || text[4] == '-') // ISO: 2012- + { + return new JsonDate(IsoDate.Parse(text).ToDateTimeOffset()); + } + else + { + // NOT ISO ENCODED + // "Thu, 5 Apr 2012 16:59:01 +0200", + return new JsonDate(DateTimeOffset.Parse(text)); + } + } + + private static bool _IsNumber(string text) + { + foreach (var c in text) + { + if (!char.IsDigit(c)) return false; + } + + return true; + } + + internal static JsonDate FromUnixTime(int seconds) + { + return new JsonDate(DateTimeOffset.FromUnixTimeSeconds(seconds)); + } + + internal static JsonDate FromUnixTime(double seconds) + { + var milliseconds = (long)(seconds * 1000d); + + return new JsonDate(DateTimeOffset.FromUnixTimeMilliseconds(milliseconds)); + } + + #region Implicit Casts + + public static implicit operator DateTimeOffset(JsonDate value) + => value.ToDateTimeOffset(); + + public static implicit operator DateTime(JsonDate value) + => value.ToDateTime(); + + // From Date + public static implicit operator JsonDate(DateTimeOffset value) + { + return new JsonDate(value); + } + + public static implicit operator JsonDate(DateTime value) + { + return new JsonDate(value); + } + + // From String + public static implicit operator JsonDate(string value) + { + return Parse(value); + } + + #endregion + + #region Equality + + public override bool Equals(object obj) + { + return obj is JsonDate date && date.value == this.value; + } + + public bool Equals(JsonDate other) + { + return this.value == other.value; + } + + public override int GetHashCode() => value.GetHashCode(); + + #endregion + + #region IComparable Members + + int IComparable.CompareTo(JsonDate other) + { + return value.CompareTo(other.value); + } + + #endregion + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Nodes/JsonNode.cs b/swaggerci/billing/generated/runtime/Nodes/JsonNode.cs new file mode 100644 index 000000000000..aa718deec31e --- /dev/null +++ b/swaggerci/billing/generated/runtime/Nodes/JsonNode.cs @@ -0,0 +1,250 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.IO; +using System.Text; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + + + public abstract partial class JsonNode + { + internal abstract JsonType Type { get; } + + public virtual JsonNode this[int index] => throw new NotImplementedException(); + + public virtual JsonNode this[string name] + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + + #region Type Helpers + + internal bool IsArray => Type == JsonType.Array; + + internal bool IsDate => Type == JsonType.Date; + + internal bool IsObject => Type == JsonType.Object; + + internal bool IsNumber => Type == JsonType.Number; + + internal bool IsNull => Type == JsonType.Null; + + #endregion + + internal void WriteTo(TextWriter textWriter, bool pretty = true) + { + var writer = new JsonWriter(textWriter, pretty); + + writer.WriteNode(this); + } + + internal T As() + where T : new() + => new JsonSerializer().Deseralize((JsonObject)this); + + internal T[] ToArrayOf() + { + return (T[])new JsonSerializer().DeserializeArray(typeof(T[]), (JsonArray)this); + } + + #region ToString Overrides + + public override string ToString() => ToString(pretty: true); + + internal string ToString(bool pretty) + { + var sb = new StringBuilder(); + + using (var writer = new StringWriter(sb)) + { + WriteTo(writer, pretty); + + return sb.ToString(); + } + } + + #endregion + + #region Static Constructors + + internal static JsonNode Parse(string text) + { + return Parse(new SourceReader(new StringReader(text))); + } + + internal static JsonNode Parse(TextReader textReader) + => Parse(new SourceReader(textReader)); + + private static JsonNode Parse(SourceReader sourceReader) + { + using (var parser = new JsonParser(sourceReader)) + { + return parser.ReadNode(); + } + } + + internal static JsonNode FromObject(object instance) + => new JsonSerializer().Serialize(instance); + + #endregion + + #region Implict Casts + + public static implicit operator string(JsonNode node) => node.ToString(); + + #endregion + + #region Explict Casts + + public static explicit operator DateTime(JsonNode node) + { + switch (node.Type) + { + case JsonType.Date: + return ((JsonDate)node).ToDateTime(); + + case JsonType.String: + return JsonDate.Parse(node.ToString()).ToDateTime(); + + case JsonType.Number: + var num = (JsonNumber)node; + + if (num.IsInteger) + { + return DateTimeOffset.FromUnixTimeSeconds(num).UtcDateTime; + } + else + { + return DateTimeOffset.FromUnixTimeMilliseconds((long)((double)num * 1000)).UtcDateTime; + } + } + + throw new ConversionException(node, typeof(DateTime)); + } + + public static explicit operator DateTimeOffset(JsonNode node) + { + switch (node.Type) + { + case JsonType.Date : return ((JsonDate)node).ToDateTimeOffset(); + case JsonType.String : return JsonDate.Parse(node.ToString()).ToDateTimeOffset(); + + case JsonType.Number: + var num = (JsonNumber)node; + + if (num.IsInteger) + { + return DateTimeOffset.FromUnixTimeSeconds(num); + } + else + { + return DateTimeOffset.FromUnixTimeMilliseconds((long)((double)num * 1000)); + } + + } + + throw new ConversionException(node, typeof(DateTimeOffset)); + } + + public static explicit operator float(JsonNode node) + { + switch (node.Type) + { + case JsonType.Number : return (JsonNumber)node; + case JsonType.String : return float.Parse(node.ToString()); + } + + throw new ConversionException(node, typeof(float)); + } + + public static explicit operator double(JsonNode node) + { + switch (node.Type) + { + case JsonType.Number : return (JsonNumber)node; + case JsonType.String : return double.Parse(node.ToString()); + } + + throw new ConversionException(node, typeof(double)); + } + + public static explicit operator decimal(JsonNode node) + { + switch (node.Type) + { + case JsonType.Number: return (JsonNumber)node; + case JsonType.String: return decimal.Parse(node.ToString()); + } + + throw new ConversionException(node, typeof(decimal)); + } + + public static explicit operator Guid(JsonNode node) + => new Guid(node.ToString()); + + public static explicit operator short(JsonNode node) + { + switch (node.Type) + { + case JsonType.Number : return (JsonNumber)node; + case JsonType.String : return short.Parse(node.ToString()); + } + + throw new ConversionException(node, typeof(short)); + } + + public static explicit operator int(JsonNode node) + { + switch (node.Type) + { + case JsonType.Number : return (JsonNumber)node; + case JsonType.String : return int.Parse(node.ToString()); + } + + throw new ConversionException(node, typeof(int)); + } + + public static explicit operator long(JsonNode node) + { + switch (node.Type) + { + case JsonType.Number: return (JsonNumber)node; + case JsonType.String: return long.Parse(node.ToString()); + } + + throw new ConversionException(node, typeof(long)); + } + + public static explicit operator bool(JsonNode node) + => ((JsonBoolean)node).Value; + + public static explicit operator ushort(JsonNode node) + => (JsonNumber)node; + + public static explicit operator uint(JsonNode node) + => (JsonNumber)node; + + public static explicit operator ulong(JsonNode node) + => (JsonNumber)node; + + public static explicit operator TimeSpan(JsonNode node) + => TimeSpan.Parse(node.ToString()); + + public static explicit operator Uri(JsonNode node) + { + if (node.Type == JsonType.String) + { + return new Uri(node.ToString()); + } + + throw new ConversionException(node, typeof(Uri)); + } + + #endregion + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Nodes/JsonNumber.cs b/swaggerci/billing/generated/runtime/Nodes/JsonNumber.cs new file mode 100644 index 000000000000..8f3220259131 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Nodes/JsonNumber.cs @@ -0,0 +1,109 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + public sealed partial class JsonNumber : JsonNode + { + private readonly string value; + private readonly bool overflows = false; + + internal JsonNumber(string value) + { + this.value = value ?? throw new ArgumentNullException(nameof(value)); + } + + internal JsonNumber(int value) + { + this.value = value.ToString(); + } + + internal JsonNumber(long value) + { + this.value = value.ToString(); + + if (value > 9007199254740991) + { + overflows = true; + } + } + + internal JsonNumber(float value) + { + this.value = value.ToString(System.Globalization.CultureInfo.InvariantCulture); + } + + internal JsonNumber(double value) + { + this.value = value.ToString(System.Globalization.CultureInfo.InvariantCulture); + } + + internal override JsonType Type => JsonType.Number; + + internal string Value => value; + + #region Helpers + + internal bool Overflows => overflows; + + internal bool IsInteger => !value.Contains("."); + + internal bool IsFloat => value.Contains("."); + + #endregion + + #region Casting + + public static implicit operator byte(JsonNumber number) + => byte.Parse(number.Value); + + public static implicit operator short(JsonNumber number) + => short.Parse(number.Value); + + public static implicit operator int(JsonNumber number) + => int.Parse(number.Value); + + public static implicit operator long(JsonNumber number) + => long.Parse(number.value); + + public static implicit operator UInt16(JsonNumber number) + => ushort.Parse(number.Value); + + public static implicit operator UInt32(JsonNumber number) + => uint.Parse(number.Value); + + public static implicit operator UInt64(JsonNumber number) + => ulong.Parse(number.Value); + + public static implicit operator decimal(JsonNumber number) + => decimal.Parse(number.Value, System.Globalization.CultureInfo.InvariantCulture); + + public static implicit operator Double(JsonNumber number) + => double.Parse(number.value, System.Globalization.CultureInfo.InvariantCulture); + + public static implicit operator float(JsonNumber number) + => float.Parse(number.value, System.Globalization.CultureInfo.InvariantCulture); + + public static implicit operator JsonNumber(short data) + => new JsonNumber(data.ToString()); + + public static implicit operator JsonNumber(int data) + => new JsonNumber(data); + + public static implicit operator JsonNumber(long data) + => new JsonNumber(data); + + public static implicit operator JsonNumber(Single data) + => new JsonNumber(data.ToString()); + + public static implicit operator JsonNumber(double data) + => new JsonNumber(data.ToString()); + + #endregion + + public override string ToString() => value; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Nodes/JsonObject.cs b/swaggerci/billing/generated/runtime/Nodes/JsonObject.cs new file mode 100644 index 000000000000..c9775e9050ae --- /dev/null +++ b/swaggerci/billing/generated/runtime/Nodes/JsonObject.cs @@ -0,0 +1,172 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + public partial class JsonObject : JsonNode, IDictionary + { + private readonly Dictionary items; + + internal JsonObject() + { + items = new Dictionary(); + } + + internal JsonObject(IEnumerable> properties) + { + if (properties == null) throw new ArgumentNullException(nameof(properties)); + + items = new Dictionary(); + + foreach (var field in properties) + { + items.Add(field.Key, field.Value); + } + } + + #region IDictionary Constructors + + internal JsonObject(IDictionary dic) + { + items = new Dictionary(dic.Count); + + foreach (var pair in dic) + { + Add(pair.Key, pair.Value); + } + } + + #endregion + + internal override JsonType Type => JsonType.Object; + + #region Add Overloads + + public void Add(string name, JsonNode value) => + items.Add(name, value); + + public void Add(string name, byte[] value) => + items.Add(name, new XBinary(value)); + + public void Add(string name, DateTime value) => + items.Add(name, new JsonDate(value)); + + public void Add(string name, int value) => + items.Add(name, new JsonNumber(value.ToString())); + + public void Add(string name, long value) => + items.Add(name, new JsonNumber(value.ToString())); + + public void Add(string name, float value) => + items.Add(name, new JsonNumber(value.ToString())); + + public void Add(string name, double value) => + items.Add(name, new JsonNumber(value.ToString())); + + public void Add(string name, string value) => + items.Add(name, new JsonString(value)); + + public void Add(string name, bool value) => + items.Add(name, new JsonBoolean(value)); + + public void Add(string name, Uri url) => + items.Add(name, new JsonString(url.AbsoluteUri)); + + public void Add(string name, string[] values) => + items.Add(name, new XImmutableArray(values)); + + public void Add(string name, int[] values) => + items.Add(name, new XImmutableArray(values)); + + #endregion + + #region ICollection> Members + + void ICollection>.Add(KeyValuePair item) + { + items.Add(item.Key, item.Value); + } + + void ICollection>.Clear() + { + items.Clear(); + } + + bool ICollection>.Contains(KeyValuePair item) => + throw new NotImplementedException(); + + void ICollection>.CopyTo(KeyValuePair[] array, int arrayIndex) => + throw new NotImplementedException(); + + + int ICollection>.Count => items.Count; + + bool ICollection>.IsReadOnly => false; + + bool ICollection>.Remove(KeyValuePair item) => + throw new NotImplementedException(); + + #endregion + + #region IDictionary Members + + public bool ContainsKey(string key) => items.ContainsKey(key); + + public ICollection Keys => items.Keys; + + public bool Remove(string key) => items.Remove(key); + + public bool TryGetValue(string key, out JsonNode value) => + items.TryGetValue(key, out value); + + public ICollection Values => items.Values; + + public override JsonNode this[string key] + { + get => items[key]; + set => items[key] = value; + } + + #endregion + + #region IEnumerable + + IEnumerator> IEnumerable>.GetEnumerator() + => items.GetEnumerator(); + + IEnumerator IEnumerable.GetEnumerator() + => items.GetEnumerator(); + + #endregion + + #region Helpers + + internal static new JsonObject FromObject(object instance) => + (JsonObject)new JsonSerializer().Serialize(instance); + + #endregion + + #region Static Constructors + + internal static JsonObject FromStream(Stream stream) + { + using (var tr = new StreamReader(stream)) + { + return (JsonObject)Parse(tr); + } + } + + internal static new JsonObject Parse(string text) + { + return (JsonObject)JsonNode.Parse(text); + } + + #endregion + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Nodes/JsonString.cs b/swaggerci/billing/generated/runtime/Nodes/JsonString.cs new file mode 100644 index 000000000000..c637637b6109 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Nodes/JsonString.cs @@ -0,0 +1,42 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + public sealed partial class JsonString : JsonNode, IEquatable + { + private readonly string value; + + internal JsonString(string value) + { + this.value = value ?? throw new ArgumentNullException(nameof(value)); + } + + internal override JsonType Type => JsonType.String; + + internal string Value => value; + + internal int Length => value.Length; + + #region #region Implicit Casts + + public static implicit operator string(JsonString data) => data.Value; + + public static implicit operator JsonString(string value) => new JsonString(value); + + #endregion + + public override int GetHashCode() => value.GetHashCode(); + + public override string ToString() => value; + + #region IEquatable + + bool IEquatable.Equals(JsonString other) => this.Value == other.Value; + + #endregion + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Nodes/XBinary.cs b/swaggerci/billing/generated/runtime/Nodes/XBinary.cs new file mode 100644 index 000000000000..e627da4fca80 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Nodes/XBinary.cs @@ -0,0 +1,40 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + internal sealed class XBinary : JsonNode + { + private readonly byte[] _value; + private readonly string _base64; + + internal XBinary(byte[] value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + internal XBinary(string base64EncodedString) + { + _base64 = base64EncodedString ?? throw new ArgumentNullException(nameof(base64EncodedString)); + } + + internal override JsonType Type => JsonType.Binary; + + internal byte[] Value => _value ?? Convert.FromBase64String(_base64); + + #region #region Implicit Casts + + public static implicit operator byte[] (XBinary data) => data.Value; + + public static implicit operator XBinary(byte[] data) => new XBinary(data); + + #endregion + + public override int GetHashCode() => Value.GetHashCode(); + + public override string ToString() => _base64 ?? Convert.ToBase64String(_value); + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Nodes/XNull.cs b/swaggerci/billing/generated/runtime/Nodes/XNull.cs new file mode 100644 index 000000000000..678fbdd6bb07 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Nodes/XNull.cs @@ -0,0 +1,15 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + internal sealed class XNull : JsonNode + { + internal static readonly XNull Instance = new XNull(); + + private XNull() { } + + internal override JsonType Type => JsonType.Null; + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Parser/Exceptions/ParseException.cs b/swaggerci/billing/generated/runtime/Parser/Exceptions/ParseException.cs new file mode 100644 index 000000000000..3607d61013e9 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Parser/Exceptions/ParseException.cs @@ -0,0 +1,24 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + internal class ParserException : Exception + { + internal ParserException(string message) + : base(message) + { } + + internal ParserException(string message, SourceLocation location) + : base(message) + { + + Location = location; + } + + internal SourceLocation Location { get; } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Parser/JsonParser.cs b/swaggerci/billing/generated/runtime/Parser/JsonParser.cs new file mode 100644 index 000000000000..0a89b7266df4 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Parser/JsonParser.cs @@ -0,0 +1,180 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections.Generic; +using System.IO; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + public class JsonParser : IDisposable + { + private readonly TokenReader reader; + + internal JsonParser(TextReader reader) + : this(new SourceReader(reader)) { } + + internal JsonParser(SourceReader sourceReader) + { + if (sourceReader == null) + throw new ArgumentNullException(nameof(sourceReader)); + + this.reader = new TokenReader(new JsonTokenizer(sourceReader)); + + this.reader.Next(); // Start with the first token + } + + internal IEnumerable ReadNodes() + { + JsonNode node; + + while ((node = ReadNode()) != null) yield return node; + } + + internal JsonNode ReadNode() + { + if (reader.Current.Kind == TokenKind.Eof || reader.Current.IsTerminator) + { + return null; + } + + switch (reader.Current.Kind) + { + case TokenKind.LeftBrace : return ReadObject(); // { + case TokenKind.LeftBracket : return ReadArray(); // [ + + default: throw new ParserException($"Expected '{{' or '['. Was {reader.Current}."); + } + } + + private JsonNode ReadFieldValue() + { + // Boolean, Date, Null, Number, String, Uri + if (reader.Current.IsLiteral) + { + return ReadLiteral(); + } + else + { + switch (reader.Current.Kind) + { + case TokenKind.LeftBracket: return ReadArray(); + case TokenKind.LeftBrace : return ReadObject(); + + default: throw new ParserException($"Unexpected token reading field value. Was {reader.Current}."); + } + } + } + + private JsonNode ReadLiteral() + { + var literal = reader.Current; + + reader.Next(); // Read the literal token + + switch (literal.Kind) + { + case TokenKind.Boolean : return JsonBoolean.Parse(literal.Value); + case TokenKind.Null : return XNull.Instance; + case TokenKind.Number : return new JsonNumber(literal.Value); + case TokenKind.String : return new JsonString(literal.Value); + + default: throw new ParserException($"Unexpected token reading literal. Was {literal}."); + } + } + + internal JsonObject ReadObject() + { + reader.Ensure(TokenKind.LeftBrace, "object"); + + reader.Next(); // Read '{' (Object start) + + var jsonObject = new JsonObject(); + + // Read the object's fields until we reach the end of the object ('}') + while (reader.Current.Kind != TokenKind.RightBrace) + { + if (reader.Current.Kind == TokenKind.Comma) + { + reader.Next(); // Read ',' (Seperator) + } + + // Ensure we have a field name + reader.Ensure(TokenKind.String, "Expected field name"); + + var field = ReadField(); + + jsonObject.Add(field.Key, field.Value); + } + + reader.Next(); // Read '}' (Object end) + + return jsonObject; + } + + + // TODO: Use ValueTuple in C#7 + private KeyValuePair ReadField() + { + var fieldName = reader.Current.Value; + + reader.Next(); // Read the field name + + reader.Ensure(TokenKind.Colon, "field"); + + reader.Next(); // Read ':' (Field value indicator) + + return new KeyValuePair(fieldName, ReadFieldValue()); + } + + + internal JsonArray ReadArray() + { + reader.Ensure(TokenKind.LeftBracket, "array"); + + var array = new XNodeArray(); + + reader.Next(); // Read the '[' (Array start) + + // Read the array's items + while (reader.Current.Kind != TokenKind.RightBracket) + { + if (reader.Current.Kind == TokenKind.Comma) + { + reader.Next(); // Read the ',' (Seperator) + } + + if (reader.Current.IsLiteral) + { + array.Add(ReadLiteral()); // Boolean, Date, Number, Null, String, Uri + } + else if (reader.Current.Kind == TokenKind.LeftBracket) + { + array.Add(ReadArray()); // Array + } + else if (reader.Current.Kind == TokenKind.LeftBrace) + { + array.Add(ReadObject()); // Object + } + else + { + throw new ParserException($"Expected comma, literal, or object. Was {reader.Current}."); + } + } + + reader.Next(); // Read the ']' (Array end) + + return array; + } + + #region IDisposable + + public void Dispose() + { + reader.Dispose(); + } + + #endregion + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Parser/JsonToken.cs b/swaggerci/billing/generated/runtime/Parser/JsonToken.cs new file mode 100644 index 000000000000..7ce0f21e1c06 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Parser/JsonToken.cs @@ -0,0 +1,66 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + internal enum TokenKind + { + LeftBrace, // { Object start + RightBrace, // } Object end + + LeftBracket, // [ Array start + RightBracket, // ] Array end + + Comma, // , Comma + Colon, // : Value indicator + Dot, // . Access field indicator + Terminator, // \0 Stream terminator + + Boolean = 31, // true or false + Null = 33, // null + Number = 34, // i.e. -1.93, -1, 0, 1, 1.1 + String = 35, // i.e. "text" + + Eof = 50 + } + + internal /* readonly */ struct JsonToken + { + internal static readonly JsonToken BraceOpen = new JsonToken(TokenKind.LeftBrace, "{"); + internal static readonly JsonToken BraceClose = new JsonToken(TokenKind.RightBrace, "}"); + + internal static readonly JsonToken BracketOpen = new JsonToken(TokenKind.LeftBracket, "["); + internal static readonly JsonToken BracketClose = new JsonToken(TokenKind.RightBracket, "]"); + + internal static readonly JsonToken Colon = new JsonToken(TokenKind.Colon, ":"); + internal static readonly JsonToken Comma = new JsonToken(TokenKind.Comma, ","); + internal static readonly JsonToken Terminator = new JsonToken(TokenKind.Terminator, "\0"); + + internal static readonly JsonToken True = new JsonToken(TokenKind.Boolean, "true"); + internal static readonly JsonToken False = new JsonToken(TokenKind.Boolean, "false"); + internal static readonly JsonToken Null = new JsonToken(TokenKind.Null, "null"); + + internal static readonly JsonToken Eof = new JsonToken(TokenKind.Eof, null); + + internal JsonToken(TokenKind kind, string value) + { + Kind = kind; + Value = value; + } + + internal readonly TokenKind Kind; + + internal readonly string Value; + + public override string ToString() => Kind + ": " + Value; + + #region Helpers + + internal bool IsLiteral => (byte)Kind > 30 && (byte)Kind < 40; + + internal bool IsTerminator => Kind == TokenKind.Terminator; + + #endregion + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Parser/JsonTokenizer.cs b/swaggerci/billing/generated/runtime/Parser/JsonTokenizer.cs new file mode 100644 index 000000000000..250bcfff4ede --- /dev/null +++ b/swaggerci/billing/generated/runtime/Parser/JsonTokenizer.cs @@ -0,0 +1,177 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Text; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + using System.IO; + + + public class JsonTokenizer : IDisposable + { + private readonly StringBuilder sb = new StringBuilder(); + + private readonly SourceReader reader; + + internal JsonTokenizer(TextReader reader) + : this(new SourceReader(reader)) { } + + internal JsonTokenizer(SourceReader reader) + { + this.reader = reader; + + reader.Next(); // Start with the first char + } + + internal JsonToken ReadNext() + { + reader.SkipWhitespace(); + + if (reader.IsEof) return JsonToken.Eof; + + switch (reader.Current) + { + case '"': return ReadQuotedString(); + + // Symbols + case '[' : reader.Next(); return JsonToken.BracketOpen; // Array start + case ']' : reader.Next(); return JsonToken.BracketClose; // Array end + case ',' : reader.Next(); return JsonToken.Comma; // Value seperator + case ':' : reader.Next(); return JsonToken.Colon; // Field value indicator + case '{' : reader.Next(); return JsonToken.BraceOpen; // Object start + case '}' : reader.Next(); return JsonToken.BraceClose; // Object end + case '\0' : reader.Next(); return JsonToken.Terminator; // Stream terminiator + + default: return ReadLiteral(); + } + } + + private JsonToken ReadQuotedString() + { + Expect('"', "quoted string indicator"); + + reader.Next(); // Read '"' (Starting quote) + + // Read until we reach an unescaped quote char + while (reader.Current != '"') + { + EnsureNotEof("quoted string"); + + if (reader.Current == '\\') + { + char escapedCharacter = reader.ReadEscapeCode(); + + sb.Append(escapedCharacter); + + continue; + } + + StoreCurrentCharacterAndReadNext(); + } + + reader.Next(); // Read '"' (Ending quote) + + return new JsonToken(TokenKind.String, value: sb.Extract()); + } + + private JsonToken ReadLiteral() + { + if (char.IsDigit(reader.Current) || + reader.Current == '-' || + reader.Current == '+') + { + return ReadNumber(); + } + + return ReadIdentifer(); + } + + private JsonToken ReadNumber() + { + // Read until we hit a non-numeric character + // -6.247737e-06 + // E + + while (char.IsDigit(reader.Current) + || reader.Current == '.' + || reader.Current == 'e' + || reader.Current == 'E' + || reader.Current == '-' + || reader.Current == '+') + { + StoreCurrentCharacterAndReadNext(); + } + + return new JsonToken(TokenKind.Number, value: sb.Extract()); + } + + int count = 0; + + private JsonToken ReadIdentifer() + { + count++; + + if (!char.IsLetter(reader.Current)) + { + throw new ParserException( + message : $"Expected literal (number, boolean, or null). Was '{reader.Current}'.", + location : reader.Location + ); + } + + // Read letters, numbers, and underscores '_' + while (char.IsLetterOrDigit(reader.Current) || reader.Current == '_') + { + StoreCurrentCharacterAndReadNext(); + } + + string text = sb.Extract(); + + switch (text) + { + case "true": return JsonToken.True; + case "false": return JsonToken.False; + case "null": return JsonToken.Null; + + default: return new JsonToken(TokenKind.String, text); + } + } + + private void Expect(char character, string description) + { + if (reader.Current != character) + { + throw new ParserException( + message: $"Expected {description} ('{character}'). Was '{reader.Current}'.", + location: reader.Location + ); + } + } + + private void EnsureNotEof(string tokenType) + { + if (reader.IsEof) + { + throw new ParserException( + message: $"Unexpected EOF while reading {tokenType}.", + location: reader.Location + ); + } + } + + private void StoreCurrentCharacterAndReadNext() + { + sb.Append(reader.Current); + + reader.Next(); + } + + public void Dispose() + { + reader.Dispose(); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Parser/Location.cs b/swaggerci/billing/generated/runtime/Parser/Location.cs new file mode 100644 index 000000000000..d10c8a571a2b --- /dev/null +++ b/swaggerci/billing/generated/runtime/Parser/Location.cs @@ -0,0 +1,43 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + internal struct SourceLocation + { + private int line; + private int column; + private int position; + + internal SourceLocation(int line = 0, int column = 0, int position = 0) + { + this.line = line; + this.column = column; + this.position = position; + } + + internal int Line => line; + + internal int Column => column; + + internal int Position => position; + + internal void Advance() + { + this.column++; + this.position++; + } + + internal void MarkNewLine() + { + this.line++; + this.column = 0; + } + + internal SourceLocation Clone() + { + return new SourceLocation(line, column, position); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Parser/Readers/SourceReader.cs b/swaggerci/billing/generated/runtime/Parser/Readers/SourceReader.cs new file mode 100644 index 000000000000..072dd64303f3 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Parser/Readers/SourceReader.cs @@ -0,0 +1,130 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Globalization; +using System.IO; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + public sealed class SourceReader : IDisposable + { + private readonly TextReader source; + + private char current; + + private readonly SourceLocation location = new SourceLocation(); + + private bool isEof = false; + + internal SourceReader(TextReader textReader) + { + this.source = textReader ?? throw new ArgumentNullException(nameof(textReader)); + } + + /// + /// Advances to the next character + /// + internal void Next() + { + // Advance to the new line when we see a new line '\n'. + // A new line may be prefixed by a carriage return '\r'. + + if (current == '\n') + { + location.MarkNewLine(); + } + + int charCode = source.Read(); // -1 for end + + if (charCode >= 0) + { + current = (char)charCode; + } + else + { + // If we've already marked this as the EOF, throw an exception + if (isEof) + { + throw new EndOfStreamException("Cannot advance past end of stream."); + } + + isEof = true; + + current = '\0'; + } + + location.Advance(); + } + + internal void SkipWhitespace() + { + while (char.IsWhiteSpace(current)) + { + Next(); + } + } + + internal char ReadEscapeCode() + { + Next(); + + char escapedChar = current; + + Next(); // Consume escaped character + + switch (escapedChar) + { + // Special escape codes + case '"': return '"'; // " (Quotation mark) U+0022 + case '/': return '/'; // / (Solidus) U+002F + case '\\': return '\\'; // \ (Reverse solidus) U+005C + + // Control Characters + case '0': return '\0'; // Nul (0) U+0000 + case 'a': return '\a'; // Alert (7) + case 'b': return '\b'; // Backspace (8) U+0008 + case 'f': return '\f'; // Form feed (12) U+000C + case 'n': return '\n'; // Line feed (10) U+000A + case 'r': return '\r'; // Carriage return (13) U+000D + case 't': return '\t'; // Horizontal tab (9) U+0009 + case 'v': return '\v'; // Vertical tab + + // Unicode escape sequence + case 'u': return ReadUnicodeEscapeSequence(); // U+XXXX + + default: throw new Exception($"Unrecognized escape sequence '\\{escapedChar}'"); + } + } + + private readonly char[] hexCode = new char[4]; + + private char ReadUnicodeEscapeSequence() + { + hexCode[0] = current; Next(); + hexCode[1] = current; Next(); + hexCode[2] = current; Next(); + hexCode[3] = current; Next(); + + return Convert.ToChar(int.Parse( + s : new string(hexCode), + style : NumberStyles.HexNumber, + provider: NumberFormatInfo.InvariantInfo + )); + } + + internal char Current => current; + + internal bool IsEof => isEof; + + internal char Peek() => (char)source.Peek(); + + internal SourceLocation Location => location; + + public void Dispose() + { + source.Dispose(); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Parser/TokenReader.cs b/swaggerci/billing/generated/runtime/Parser/TokenReader.cs new file mode 100644 index 000000000000..a68275cb9e01 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Parser/TokenReader.cs @@ -0,0 +1,39 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + public class TokenReader : IDisposable + { + private readonly JsonTokenizer tokenizer; + private JsonToken current; + + internal TokenReader(JsonTokenizer tokenizer) + { + this.tokenizer = tokenizer ?? throw new ArgumentNullException(nameof(tokenizer)); + } + + internal void Next() + { + current = tokenizer.ReadNext(); + } + + internal JsonToken Current => current; + + internal void Ensure(TokenKind kind, string readerName) + { + if (current.Kind != kind) + { + throw new ParserException($"Expected {kind} while reading {readerName}). Was {current}."); + } + } + + public void Dispose() + { + tokenizer.Dispose(); + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/PipelineMocking.cs b/swaggerci/billing/generated/runtime/PipelineMocking.cs new file mode 100644 index 000000000000..550d40b8f078 --- /dev/null +++ b/swaggerci/billing/generated/runtime/PipelineMocking.cs @@ -0,0 +1,262 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime +{ + using System.Threading.Tasks; + using System.Collections.Generic; + using System.Net.Http; + using System.Linq; + using System.Net; + using Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json; + + public enum MockMode + { + Live, + Record, + Playback, + + } + + public class PipelineMock + { + + private System.Collections.Generic.Stack scenario = new System.Collections.Generic.Stack(); + private System.Collections.Generic.Stack context = new System.Collections.Generic.Stack(); + private System.Collections.Generic.Stack description = new System.Collections.Generic.Stack(); + + private readonly string recordingPath; + private int counter = 0; + + public static implicit operator Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep(PipelineMock instance) => instance.SendAsync; + + public MockMode Mode { get; set; } = MockMode.Live; + public PipelineMock(string recordingPath) + { + this.recordingPath = recordingPath; + } + + public void PushContext(string text) => context.Push(text); + + public void PushDescription(string text) => description.Push(text); + + + public void PushScenario(string it) + { + // reset counter too + counter = 0; + + scenario.Push(it); + } + + public void PopContext() => context.Pop(); + + public void PopDescription() => description.Pop(); + + public void PopScenario() => scenario.Pop(); + + public void SetRecord() => Mode = MockMode.Record; + + public void SetPlayback() => Mode = MockMode.Playback; + + public void SetLive() => Mode = MockMode.Live; + + public string Scenario => (scenario.Count > 0 ? scenario.Peek() : "[NoScenario]"); + public string Description => (description.Count > 0 ? description.Peek() : "[NoDescription]"); + public string Context => (context.Count > 0 ? context.Peek() : "[NoContext]"); + + /// + /// Headers that we substitute out blank values for in the recordings + /// Add additional headers as necessary + /// + public static HashSet Blacklist = new HashSet(System.StringComparer.CurrentCultureIgnoreCase) { + "Authorization", + }; + + public Dictionary ForceResponseHeaders = new Dictionary(); + + internal static XImmutableArray Removed = new XImmutableArray(new string[] { "[Filtered]" }); + + internal static IEnumerable> FilterHeaders(IEnumerable>> headers) => headers.Select(header => new KeyValuePair(header.Key, Blacklist.Contains(header.Key) ? Removed : new XImmutableArray(header.Value.ToArray()))); + + internal static JsonNode SerializeContent(HttpContent content, ref bool isBase64) => content == null ? XNull.Instance : SerializeContent(content.ReadAsByteArrayAsync().Result, ref isBase64); + + internal static JsonNode SerializeContent(byte[] content, ref bool isBase64) + { + if (null == content || content.Length == 0) + { + return XNull.Instance; + } + var first = content[0]; + var last = content[content.Length - 1]; + + // plaintext for JSON/SGML/XML/HTML/STRINGS/ARRAYS + if ((first == '{' && last == '}') || (first == '<' && last == '>') || (first == '[' && last == ']') || (first == '"' && last == '"')) + { + return new JsonString(System.Text.Encoding.UTF8.GetString(content)); + } + + // base64 for everyone else + return new JsonString(System.Convert.ToBase64String(content)); + } + + internal static byte[] DeserializeContent(string content, bool isBase64) + { + if (string.IsNullOrWhiteSpace(content)) + { + return new byte[0]; + } + + if (isBase64) + { + try + { + return System.Convert.FromBase64String(content); + } + catch + { + // hmm. didn't work, return it as a string I guess. + } + } + return System.Text.Encoding.UTF8.GetBytes(content); + } + + public void SaveMessage(string rqKey, HttpRequestMessage request, HttpResponseMessage response) + { + var messages = System.IO.File.Exists(this.recordingPath) ? Load() : new JsonObject() ?? new JsonObject(); + bool isBase64Request = false; + bool isBase64Response = false; + messages[rqKey] = new JsonObject { + { "Request",new JsonObject { + { "Method", request.Method.Method }, + { "RequestUri", request.RequestUri }, + { "Content", SerializeContent( request.Content, ref isBase64Request) }, + { "isContentBase64", isBase64Request }, + { "Headers", new JsonObject(FilterHeaders(request.Headers)) }, + { "ContentHeaders", request.Content == null ? new JsonObject() : new JsonObject(FilterHeaders(request.Content.Headers))} + } }, + {"Response", new JsonObject { + { "StatusCode", (int)response.StatusCode}, + { "Headers", new JsonObject(FilterHeaders(response.Headers))}, + { "ContentHeaders", new JsonObject(FilterHeaders(response.Content.Headers))}, + { "Content", SerializeContent(response.Content, ref isBase64Response) }, + { "isContentBase64", isBase64Response }, + }} + }; + System.IO.File.WriteAllText(this.recordingPath, messages.ToString()); + } + + private JsonObject Load() + { + if (System.IO.File.Exists(this.recordingPath)) + { + try + { + return JsonObject.FromStream(System.IO.File.OpenRead(this.recordingPath)); + } + catch + { + throw new System.Exception($"Invalid recording file: '{recordingPath}'"); + } + } + + throw new System.ArgumentException($"Missing recording file: '{recordingPath}'", nameof(recordingPath)); + } + + public HttpResponseMessage LoadMessage(string rqKey) + { + var responses = Load(); + var message = responses.Property(rqKey); + + if (null == message) + { + throw new System.ArgumentException($"Missing Request '{rqKey}' in recording file", nameof(rqKey)); + } + + var sc = 0; + var reqMessage = message.Property("Request"); + var respMessage = message.Property("Response"); + + // --------------------------- deserialize response ---------------------------------------------------------------- + bool isBase64Response = false; + respMessage.BooleanProperty("isContentBase64", ref isBase64Response); + var response = new HttpResponseMessage + { + StatusCode = (HttpStatusCode)respMessage.NumberProperty("StatusCode", ref sc), + Content = new System.Net.Http.ByteArrayContent(DeserializeContent(respMessage.StringProperty("Content"), isBase64Response)) + }; + + foreach (var each in respMessage.Property("Headers")) + { + response.Headers.TryAddWithoutValidation(each.Key, each.Value.ToArrayOf()); + } + + foreach (var frh in ForceResponseHeaders) + { + response.Headers.Remove(frh.Key); + response.Headers.TryAddWithoutValidation(frh.Key, frh.Value); + } + + foreach (var each in respMessage.Property("ContentHeaders")) + { + response.Content.Headers.TryAddWithoutValidation(each.Key, each.Value.ToArrayOf()); + } + + // --------------------------- deserialize request ---------------------------------------------------------------- + bool isBase64Request = false; + reqMessage.BooleanProperty("isContentBase64", ref isBase64Request); + response.RequestMessage = new HttpRequestMessage + { + Method = new HttpMethod(reqMessage.StringProperty("Method")), + RequestUri = new System.Uri(reqMessage.StringProperty("RequestUri")), + Content = new System.Net.Http.ByteArrayContent(DeserializeContent(reqMessage.StringProperty("Content"), isBase64Request)) + }; + + foreach (var each in reqMessage.Property("Headers")) + { + response.RequestMessage.Headers.TryAddWithoutValidation(each.Key, each.Value.ToArrayOf()); + } + foreach (var each in reqMessage.Property("ContentHeaders")) + { + response.RequestMessage.Content.Headers.TryAddWithoutValidation(each.Key, each.Value.ToArrayOf()); + } + + return response; + } + + public async Task SendAsync(HttpRequestMessage request, IEventListener callback, ISendAsync next) + { + counter++; + var rqkey = $"{Description}+{Context}+{Scenario}+${request.Method.Method}+{request.RequestUri}+{counter}"; + + switch (Mode) + { + case MockMode.Record: + //Add following code since the request.Content will be released after sendAsync + var requestClone = request; + if (requestClone.Content != null) + { + requestClone = await request.CloneWithContent(request.RequestUri, request.Method); + } + // make the call + var response = await next.SendAsync(request, callback); + + // save the message to the recording file + SaveMessage(rqkey, requestClone, response); + + // return the response. + return response; + + case MockMode.Playback: + // load and return the response. + return LoadMessage(rqkey); + + default: + // pass-thru, do nothing + return await next.SendAsync(request, callback); + } + } + } +} diff --git a/swaggerci/billing/generated/runtime/Properties/Resources.Designer.cs b/swaggerci/billing/generated/runtime/Properties/Resources.Designer.cs new file mode 100644 index 000000000000..03a3ef42b395 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Properties/Resources.Designer.cs @@ -0,0 +1,5633 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.generated.runtime.Properties +{ + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Resources.ResourceManager ResourceManager + { + get + { + if (object.ReferenceEquals(resourceMan, null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.Azure.PowerShell.Cmdlets.Billing.generated.runtime.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + + /// + /// Looks up a localized string similar to The remote server returned an error: (401) Unauthorized.. + /// + public static string AccessDeniedExceptionMessage + { + get + { + return ResourceManager.GetString("AccessDeniedExceptionMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Account id doesn't match one in subscription.. + /// + public static string AccountIdDoesntMatchSubscription + { + get + { + return ResourceManager.GetString("AccountIdDoesntMatchSubscription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Account needs to be specified. + /// + public static string AccountNeedsToBeSpecified + { + get + { + return ResourceManager.GetString("AccountNeedsToBeSpecified", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Account "{0}" has been added.. + /// + public static string AddAccountAdded + { + get + { + return ResourceManager.GetString("AddAccountAdded", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to To switch to a different subscription, please use Select-AzureSubscription.. + /// + public static string AddAccountChangeSubscription + { + get + { + return ResourceManager.GetString("AddAccountChangeSubscription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Skipping external tenant {0}, because you are using a guest or a foreign principal object identity. In order to access this tenant, please run Add-AzureAccount without "-Credential".. + /// + public static string AddAccountNonInteractiveGuestOrFpo + { + get + { + return ResourceManager.GetString("AddAccountNonInteractiveGuestOrFpo", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Subscription "{0}" is selected as the default subscription.. + /// + public static string AddAccountShowDefaultSubscription + { + get + { + return ResourceManager.GetString("AddAccountShowDefaultSubscription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to To view all the subscriptions, please use Get-AzureSubscription.. + /// + public static string AddAccountViewSubscriptions + { + get + { + return ResourceManager.GetString("AddAccountViewSubscriptions", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Add-On {0} is created successfully.. + /// + public static string AddOnCreatedMessage + { + get + { + return ResourceManager.GetString("AddOnCreatedMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Add-on name {0} is already used.. + /// + public static string AddOnNameAlreadyUsed + { + get + { + return ResourceManager.GetString("AddOnNameAlreadyUsed", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Add-On {0} not found.. + /// + public static string AddOnNotFound + { + get + { + return ResourceManager.GetString("AddOnNotFound", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Add-on {0} is removed successfully.. + /// + public static string AddOnRemovedMessage + { + get + { + return ResourceManager.GetString("AddOnRemovedMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Add-On {0} is updated successfully.. + /// + public static string AddOnUpdatedMessage + { + get + { + return ResourceManager.GetString("AddOnUpdatedMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Role has been created at {0}\{1}.. + /// + public static string AddRoleMessageCreate + { + get + { + return ResourceManager.GetString("AddRoleMessageCreate", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Role has been created at {0}\{1}. For easy access to Microsoft Azure services from your application code, install the Microsoft Azure client library for Node.js by running ‘npm install azure’.. + /// + public static string AddRoleMessageCreateNode + { + get + { + return ResourceManager.GetString("AddRoleMessageCreateNode", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Role has been created at {0}\{1}. For easy access to Microsoft Azure services from your application code, install the Microsoft Azure client library for PHP by running "pear WindowsAzure/WindowsAzure".. + /// + public static string AddRoleMessageCreatePHP + { + get + { + return ResourceManager.GetString("AddRoleMessageCreatePHP", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unable to set role permissions. Please give the 'Network Service' user 'Read & execute' and 'Modify' permissions to the role folder, or run PowerShell as an Administrator. + /// + public static string AddRoleMessageInsufficientPermissions + { + get + { + return ResourceManager.GetString("AddRoleMessageInsufficientPermissions", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to A role name '{0}' already exists. + /// + public static string AddRoleMessageRoleExists + { + get + { + return ResourceManager.GetString("AddRoleMessageRoleExists", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Profile {0} already has an endpoint with name {1}. + /// + public static string AddTrafficManagerEndpointFailed + { + get + { + return ResourceManager.GetString("AddTrafficManagerEndpointFailed", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Azure PowerShell collects usage data in order to improve your experience. + ///The data is anonymous and does not include commandline argument values. + ///The data is collected by Microsoft. + /// + ///Use the Disable-AzDataCollection cmdlet to turn the feature Off. The cmdlet can be found in the Az.Accounts module. To disable data collection: PS > Disable-AzDataCollection. + ///Use the Enable-AzDataCollection cmdlet to turn the feature On. The cmdlet can be found in the Az.Accounts module. To enable [rest of string was truncated]";. + /// + public static string ARMDataCollectionMessage + { + get + { + return ResourceManager.GetString("ARMDataCollectionMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [Common.Authentication]: Authenticating for account {0} with single tenant {1}.. + /// + public static string AuthenticatingForSingleTenant + { + get + { + return ResourceManager.GetString("AuthenticatingForSingleTenant", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Windows Azure Powershell\. + /// + public static string AzureDirectory + { + get + { + return ResourceManager.GetString("AzureDirectory", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to https://manage.windowsazure.com. + /// + public static string AzurePortalUrl + { + get + { + return ResourceManager.GetString("AzurePortalUrl", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to AZURE_PORTAL_URL. + /// + public static string AzurePortalUrlEnv + { + get + { + return ResourceManager.GetString("AzurePortalUrlEnv", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Selected profile must not be null.. + /// + public static string AzureProfileMustNotBeNull + { + get + { + return ResourceManager.GetString("AzureProfileMustNotBeNull", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Azure SDK\{0}\. + /// + public static string AzureSdkDirectory + { + get + { + return ResourceManager.GetString("AzureSdkDirectory", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to File '{0}' already exists. Use the -Force parameter to overwrite it.. + /// + public static string AzureVMDscArchiveAlreadyExists + { + get + { + return ResourceManager.GetString("AzureVMDscArchiveAlreadyExists", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cannot find configuration data file: {0}. + /// + public static string AzureVMDscCannotFindConfigurationDataFile + { + get + { + return ResourceManager.GetString("AzureVMDscCannotFindConfigurationDataFile", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Create Archive. + /// + public static string AzureVMDscCreateArchiveAction + { + get + { + return ResourceManager.GetString("AzureVMDscCreateArchiveAction", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The configuration data must be a .psd1 file. + /// + public static string AzureVMDscInvalidConfigurationDataFile + { + get + { + return ResourceManager.GetString("AzureVMDscInvalidConfigurationDataFile", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Parsing configuration script: {0}. + /// + public static string AzureVMDscParsingConfiguration + { + get + { + return ResourceManager.GetString("AzureVMDscParsingConfiguration", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Storage Blob '{0}' already exists. Use the -Force parameter to overwrite it.. + /// + public static string AzureVMDscStorageBlobAlreadyExists + { + get + { + return ResourceManager.GetString("AzureVMDscStorageBlobAlreadyExists", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Upload '{0}'. + /// + public static string AzureVMDscUploadToBlobStorageAction + { + get + { + return ResourceManager.GetString("AzureVMDscUploadToBlobStorageAction", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Execution failed because a background thread could not prompt the user.. + /// + public static string BaseShouldMethodFailureReason + { + get + { + return ResourceManager.GetString("BaseShouldMethodFailureReason", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Base Uri was empty.. + /// + public static string BaseUriEmpty + { + get + { + return ResourceManager.GetString("BaseUriEmpty", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} begin processing without ParameterSet.. + /// + public static string BeginProcessingWithoutParameterSetLog + { + get + { + return ResourceManager.GetString("BeginProcessingWithoutParameterSetLog", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} begin processing with ParameterSet '{1}'.. + /// + public static string BeginProcessingWithParameterSetLog + { + get + { + return ResourceManager.GetString("BeginProcessingWithParameterSetLog", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Blob with the name {0} already exists in the account.. + /// + public static string BlobAlreadyExistsInTheAccount + { + get + { + return ResourceManager.GetString("BlobAlreadyExistsInTheAccount", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to https://{0}.blob.core.windows.net/. + /// + public static string BlobEndpointUri + { + get + { + return ResourceManager.GetString("BlobEndpointUri", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to AZURE_BLOBSTORAGE_TEMPLATE. + /// + public static string BlobEndpointUriEnv + { + get + { + return ResourceManager.GetString("BlobEndpointUriEnv", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The parameter : '{0}' is changing.. + /// + public static string BreakingChangeAttributeParameterChanging + { + get + { + return ResourceManager.GetString("BreakingChangeAttributeParameterChanging", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The parameter : '{0}' is becoming mandatory.. + /// + public static string BreakingChangeAttributeParameterMandatoryNow + { + get + { + return ResourceManager.GetString("BreakingChangeAttributeParameterMandatoryNow", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The parameter : '{0}' is being replaced by parameter : '{1}'.. + /// + public static string BreakingChangeAttributeParameterReplaced + { + get + { + return ResourceManager.GetString("BreakingChangeAttributeParameterReplaced", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The parameter : '{0}' is being replaced by mandatory parameter : '{1}'.. + /// + public static string BreakingChangeAttributeParameterReplacedMandatory + { + get + { + return ResourceManager.GetString("BreakingChangeAttributeParameterReplacedMandatory", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The type of the parameter is changing from '{0}' to '{1}'.. + /// + public static string BreakingChangeAttributeParameterTypeChange + { + get + { + return ResourceManager.GetString("BreakingChangeAttributeParameterTypeChange", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Change description : {0} + ///. + /// + public static string BreakingChangesAttributesChangeDescriptionMessage + { + get + { + return ResourceManager.GetString("BreakingChangesAttributesChangeDescriptionMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The cmdlet is being deprecated. There will be no replacement for it.. + /// + public static string BreakingChangesAttributesCmdLetDeprecationMessageNoReplacement + { + get + { + return ResourceManager.GetString("BreakingChangesAttributesCmdLetDeprecationMessageNoReplacement", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The cmdlet is being deprecated. There will be no replacement for it.. + /// + public static string BreakingChangesAttributesParameterSetDeprecationMessageNoReplacement + { + get + { + return ResourceManager.GetString("BreakingChangesAttributesParameterSetDeprecationMessageNoReplacement", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The cmdlet '{0}' is replacing this cmdlet.. + /// + public static string BreakingChangesAttributesCmdLetDeprecationMessageWithReplacement + { + get + { + return ResourceManager.GetString("BreakingChangesAttributesCmdLetDeprecationMessageWithReplacement", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The output type is changing from the existing type :'{0}' to the new type :'{1}'. + /// + public static string BreakingChangesAttributesCmdLetOutputChange1 + { + get + { + return ResourceManager.GetString("BreakingChangesAttributesCmdLetOutputChange1", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to "The output type '{0}' is changing". + /// + public static string BreakingChangesAttributesCmdLetOutputChange2 + { + get + { + return ResourceManager.GetString("BreakingChangesAttributesCmdLetOutputChange2", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to + ///- The following properties are being added to the output type : + ///. + /// + public static string BreakingChangesAttributesCmdLetOutputPropertiesAdded + { + get + { + return ResourceManager.GetString("BreakingChangesAttributesCmdLetOutputPropertiesAdded", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to + /// - The following properties in the output type are being deprecated : + ///. + /// + public static string BreakingChangesAttributesCmdLetOutputPropertiesRemoved + { + get + { + return ResourceManager.GetString("BreakingChangesAttributesCmdLetOutputPropertiesRemoved", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The output type '{0}' is being deprecated without a replacement.. + /// + public static string BreakingChangesAttributesCmdLetOutputTypeDeprecated + { + get + { + return ResourceManager.GetString("BreakingChangesAttributesCmdLetOutputTypeDeprecated", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to - {0} + /// + ///. + /// + public static string BreakingChangesAttributesDeclarationMessage + { + get + { + return ResourceManager.GetString("BreakingChangesAttributesDeclarationMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to - Cmdlet : '{0}' + /// - {1} + ///. + /// + public static string BreakingChangesAttributesDeclarationMessageWithCmdletName + { + get + { + return ResourceManager.GetString("BreakingChangesAttributesDeclarationMessageWithCmdletName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to NOTE : Go to {0} for steps to suppress (and other related information on) the breaking change messages.. + /// + public static string BreakingChangesAttributesFooterMessage + { + get + { + return ResourceManager.GetString("BreakingChangesAttributesFooterMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Breaking changes in the cmdlet '{0}' :. + /// + public static string BreakingChangesAttributesHeaderMessage + { + get + { + return ResourceManager.GetString("BreakingChangesAttributesHeaderMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Note : This change will take effect on '{0}' + ///. + /// + public static string BreakingChangesAttributesInEffectByDateMessage + { + get + { + return ResourceManager.GetString("BreakingChangesAttributesInEffectByDateMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Note :The change is expected to take effect from the version : '{0}' + /// + ///. + /// + public static string BreakingChangesAttributesInEffectByVersion + { + get + { + return ResourceManager.GetString("BreakingChangesAttributesInEffectByVersion", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ```powershell + ///# Old + ///{0} + /// + ///# New + ///{1} + ///``` + /// + ///. + /// + public static string BreakingChangesAttributesUsageChangeMessage + { + get + { + return ResourceManager.GetString("BreakingChangesAttributesUsageChangeMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cmdlet invocation changes : + /// Old Way : {0} + /// New Way : {1}. + /// + public static string BreakingChangesAttributesUsageChangeMessageConsole + { + get + { + return ResourceManager.GetString("BreakingChangesAttributesUsageChangeMessageConsole", resourceCulture); + } + } + + /// + /// The cmdlet is in experimental stage. The function may not be enabled in current subscription. + /// + public static string ExperimentalCmdletMessage + { + get + { + return ResourceManager.GetString("ExperimentalCmdletMessage", resourceCulture); + } + } + + + + /// + /// Looks up a localized string similar to CACHERUNTIMEURL. + /// + public static string CacheRuntimeUrl + { + get + { + return ResourceManager.GetString("CacheRuntimeUrl", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to cache. + /// + public static string CacheRuntimeValue + { + get + { + return ResourceManager.GetString("CacheRuntimeValue", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to CacheRuntimeVersion. + /// + public static string CacheRuntimeVersionKey + { + get + { + return ResourceManager.GetString("CacheRuntimeVersionKey", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Installing caching version {0} for Role '{1}' (the caching version locally installed is: {2}). + /// + public static string CacheVersionWarningText + { + get + { + return ResourceManager.GetString("CacheVersionWarningText", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cannot change built-in environment {0}.. + /// + public static string CannotChangeBuiltinEnvironment + { + get + { + return ResourceManager.GetString("CannotChangeBuiltinEnvironment", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cannot find {0} with name {1}.. + /// + public static string CannotFind + { + get + { + return ResourceManager.GetString("CannotFind", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Deployment for service {0} with {1} slot doesn't exist. + /// + public static string CannotFindDeployment + { + get + { + return ResourceManager.GetString("CannotFindDeployment", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Can't find valid Microsoft Azure role in current directory {0}. + /// + public static string CannotFindRole + { + get + { + return ResourceManager.GetString("CannotFindRole", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to service {0} configuration file (ServiceConfiguration.Cloud.cscfg) is either null or doesn't exist. + /// + public static string CannotFindServiceConfigurationFile + { + get + { + return ResourceManager.GetString("CannotFindServiceConfigurationFile", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Invalid service path! Cannot locate ServiceDefinition.csdef in current folder or parent folders.. + /// + public static string CannotFindServiceRoot + { + get + { + return ResourceManager.GetString("CannotFindServiceRoot", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The subscription named {0} with id {1} is not currently imported. You must import this subscription before it can be updated.. + /// + public static string CannotUpdateUnknownSubscription + { + get + { + return ResourceManager.GetString("CannotUpdateUnknownSubscription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ManagementCertificate. + /// + public static string CertificateElementName + { + get + { + return ResourceManager.GetString("CertificateElementName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to certificate.pfx. + /// + public static string CertificateFileName + { + get + { + return ResourceManager.GetString("CertificateFileName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Certificate imported into CurrentUser\My\{0}. + /// + public static string CertificateImportedMessage + { + get + { + return ResourceManager.GetString("CertificateImportedMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No certificate was found in the certificate store with thumbprint {0}. + /// + public static string CertificateNotFoundInStore + { + get + { + return ResourceManager.GetString("CertificateNotFoundInStore", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Your account does not have access to the private key for certificate {0}. + /// + public static string CertificatePrivateKeyAccessError + { + get + { + return ResourceManager.GetString("CertificatePrivateKeyAccessError", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} {1} deployment for {2} service. + /// + public static string ChangeDeploymentStateWaitMessage + { + get + { + return ResourceManager.GetString("ChangeDeploymentStateWaitMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cloud service {0} is in {1} state.. + /// + public static string ChangeDeploymentStatusCompleteMessage + { + get + { + return ResourceManager.GetString("ChangeDeploymentStatusCompleteMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Changing/Removing public environment '{0}' is not allowed.. + /// + public static string ChangePublicEnvironmentMessage + { + get + { + return ResourceManager.GetString("ChangePublicEnvironmentMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Service {0} is set to value {1}. + /// + public static string ChangeSettingsElementMessage + { + get + { + return ResourceManager.GetString("ChangeSettingsElementMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Changing public environment is not supported.. + /// + public static string ChangingDefaultEnvironmentNotSupported + { + get + { + return ResourceManager.GetString("ChangingDefaultEnvironmentNotSupported", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Choose which publish settings file to use:. + /// + public static string ChoosePublishSettingsFile + { + get + { + return ResourceManager.GetString("ChoosePublishSettingsFile", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Microsoft.WindowsAzure.Plugins.Caching.ClientDiagnosticLevel. + /// + public static string ClientDiagnosticLevelName + { + get + { + return ResourceManager.GetString("ClientDiagnosticLevelName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 1. + /// + public static string ClientDiagnosticLevelValue + { + get + { + return ResourceManager.GetString("ClientDiagnosticLevelValue", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to cloud_package.cspkg. + /// + public static string CloudPackageFileName + { + get + { + return ResourceManager.GetString("CloudPackageFileName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ServiceConfiguration.Cloud.cscfg. + /// + public static string CloudServiceConfigurationFileName + { + get + { + return ResourceManager.GetString("CloudServiceConfigurationFileName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Add-ons for {0}. + /// + public static string CloudServiceDescription + { + get + { + return ResourceManager.GetString("CloudServiceDescription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Communication could not be established. This could be due to an invalid subscription ID. Note that subscription IDs are case sensitive.. + /// + public static string CommunicationCouldNotBeEstablished + { + get + { + return ResourceManager.GetString("CommunicationCouldNotBeEstablished", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Complete. + /// + public static string CompleteMessage + { + get + { + return ResourceManager.GetString("CompleteMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OperationID : '{0}'. + /// + public static string ComputeCloudExceptionOperationIdMessage + { + get + { + return ResourceManager.GetString("ComputeCloudExceptionOperationIdMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to config.json. + /// + public static string ConfigurationFileName + { + get + { + return ResourceManager.GetString("ConfigurationFileName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to VirtualMachine creation failed.. + /// + public static string CreateFailedErrorMessage + { + get + { + return ResourceManager.GetString("CreateFailedErrorMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Creating the website failed. If this is the first website for this subscription, please create it using the management portal instead.. + /// + public static string CreateWebsiteFailed + { + get + { + return ResourceManager.GetString("CreateWebsiteFailed", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Microsoft.ApplicationServer.Caching.DataCacheClientsSection, Microsoft.ApplicationServer.Caching.Core. + /// + public static string DataCacheClientsType + { + get + { + return ResourceManager.GetString("DataCacheClientsType", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to //blobcontainer[@datacenter='{0}']. + /// + public static string DatacenterBlobQuery + { + get + { + return ResourceManager.GetString("DatacenterBlobQuery", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Microsoft Azure PowerShell Data Collection Confirmation. + /// + public static string DataCollectionActivity + { + get + { + return ResourceManager.GetString("DataCollectionActivity", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You choose not to participate in Microsoft Azure PowerShell data collection.. + /// + public static string DataCollectionConfirmNo + { + get + { + return ResourceManager.GetString("DataCollectionConfirmNo", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to This confirmation message will be dismissed in '{0}' second(s).... + /// + public static string DataCollectionConfirmTime + { + get + { + return ResourceManager.GetString("DataCollectionConfirmTime", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You choose to participate in Microsoft Azure PowerShell data collection.. + /// + public static string DataCollectionConfirmYes + { + get + { + return ResourceManager.GetString("DataCollectionConfirmYes", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The setting profile has been saved to the following path '{0}'.. + /// + public static string DataCollectionSaveFileInformation + { + get + { + return ResourceManager.GetString("DataCollectionSaveFileInformation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Setting: {0} as the default and current subscription. To view other subscriptions use Get-AzureSubscription. + /// + public static string DefaultAndCurrentSubscription + { + get + { + return ResourceManager.GetString("DefaultAndCurrentSubscription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to none. + /// + public static string DefaultFileVersion + { + get + { + return ResourceManager.GetString("DefaultFileVersion", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to There are no hostnames which could be used for validation.. + /// + public static string DefaultHostnamesValidation + { + get + { + return ResourceManager.GetString("DefaultHostnamesValidation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 8080. + /// + public static string DefaultPort + { + get + { + return ResourceManager.GetString("DefaultPort", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 1000. + /// + public static string DefaultRoleCachingInMB + { + get + { + return ResourceManager.GetString("DefaultRoleCachingInMB", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Auto. + /// + public static string DefaultUpgradeMode + { + get + { + return ResourceManager.GetString("DefaultUpgradeMode", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 80. + /// + public static string DefaultWebPort + { + get + { + return ResourceManager.GetString("DefaultWebPort", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Delete. + /// + public static string Delete + { + get + { + return ResourceManager.GetString("Delete", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The {0} slot for service {1} is already in {2} state. + /// + public static string DeploymentAlreadyInState + { + get + { + return ResourceManager.GetString("DeploymentAlreadyInState", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The deployment in {0} slot for service {1} is removed. + /// + public static string DeploymentRemovedMessage + { + get + { + return ResourceManager.GetString("DeploymentRemovedMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Microsoft.WindowsAzure.Plugins.Caching.DiagnosticLevel. + /// + public static string DiagnosticLevelName + { + get + { + return ResourceManager.GetString("DiagnosticLevelName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 1. + /// + public static string DiagnosticLevelValue + { + get + { + return ResourceManager.GetString("DiagnosticLevelValue", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The key to add already exists in the dictionary.. + /// + public static string DictionaryAddAlreadyContainsKey + { + get + { + return ResourceManager.GetString("DictionaryAddAlreadyContainsKey", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The array index cannot be less than zero.. + /// + public static string DictionaryCopyToArrayIndexLessThanZero + { + get + { + return ResourceManager.GetString("DictionaryCopyToArrayIndexLessThanZero", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The supplied array does not have enough room to contain the copied elements.. + /// + public static string DictionaryCopyToArrayTooShort + { + get + { + return ResourceManager.GetString("DictionaryCopyToArrayTooShort", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The provided dns {0} doesn't exist. + /// + public static string DnsDoesNotExist + { + get + { + return ResourceManager.GetString("DnsDoesNotExist", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Microsoft Azure Certificate. + /// + public static string EnableRemoteDesktop_FriendlyCertificateName + { + get + { + return ResourceManager.GetString("EnableRemoteDesktop_FriendlyCertificateName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Endpoint can't be retrieved for storage account. + /// + public static string EndPointNotFoundForBlobStorage + { + get + { + return ResourceManager.GetString("EndPointNotFoundForBlobStorage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} end processing.. + /// + public static string EndProcessingLog + { + get + { + return ResourceManager.GetString("EndProcessingLog", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to To use Active Directory authentication, you must configure the ActiveDirectoryEndpoint, ActiveDirectoryTenantId, and ActiveDirectorServiceEndpointResourceId for environment of '{0}'. You can configure these properties for this environment using the Set-AzureEnvironment cmdlet.. + /// + public static string EnvironmentDoesNotSupportActiveDirectory + { + get + { + return ResourceManager.GetString("EnvironmentDoesNotSupportActiveDirectory", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The environment '{0}' already exists.. + /// + public static string EnvironmentExists + { + get + { + return ResourceManager.GetString("EnvironmentExists", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Environment name doesn't match one in subscription.. + /// + public static string EnvironmentNameDoesntMatchSubscription + { + get + { + return ResourceManager.GetString("EnvironmentNameDoesntMatchSubscription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Environment name needs to be specified.. + /// + public static string EnvironmentNameNeedsToBeSpecified + { + get + { + return ResourceManager.GetString("EnvironmentNameNeedsToBeSpecified", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Environment needs to be specified.. + /// + public static string EnvironmentNeedsToBeSpecified + { + get + { + return ResourceManager.GetString("EnvironmentNeedsToBeSpecified", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The environment name '{0}' is not found.. + /// + public static string EnvironmentNotFound + { + get + { + return ResourceManager.GetString("EnvironmentNotFound", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to environments.xml. + /// + public static string EnvironmentsFileName + { + get + { + return ResourceManager.GetString("EnvironmentsFileName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Error creating VirtualMachine. + /// + public static string ErrorCreatingVirtualMachine + { + get + { + return ResourceManager.GetString("ErrorCreatingVirtualMachine", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unable to download available runtimes for location '{0}'. + /// + public static string ErrorRetrievingRuntimesForLocation + { + get + { + return ResourceManager.GetString("ErrorRetrievingRuntimesForLocation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Error updating VirtualMachine. + /// + public static string ErrorUpdatingVirtualMachine + { + get + { + return ResourceManager.GetString("ErrorUpdatingVirtualMachine", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Job Id {0} failed. Error: {1}, ExceptionDetails: {2}. + /// + public static string FailedJobErrorMessage + { + get + { + return ResourceManager.GetString("FailedJobErrorMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to File path is not valid.. + /// + public static string FilePathIsNotValid + { + get + { + return ResourceManager.GetString("FilePathIsNotValid", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The HTTP request was forbidden with client authentication scheme 'Anonymous'.. + /// + public static string FirstPurchaseErrorMessage + { + get + { + return ResourceManager.GetString("FirstPurchaseErrorMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to This add-on requires you to purchase the first instance through the Microsoft Azure Portal. Subsequent purchases can be performed through PowerShell.. + /// + public static string FirstPurchaseMessage + { + get + { + return ResourceManager.GetString("FirstPurchaseMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Operation Status:. + /// + public static string GatewayOperationStatus + { + get + { + return ResourceManager.GetString("GatewayOperationStatus", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Resources\Scaffolding\General. + /// + public static string GeneralScaffolding + { + get + { + return ResourceManager.GetString("GeneralScaffolding", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Getting all available Microsoft Azure Add-Ons, this may take few minutes.... + /// + public static string GetAllAddOnsWaitMessage + { + get + { + return ResourceManager.GetString("GetAllAddOnsWaitMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Name{0}Primary Key{0}Seconday Key. + /// + public static string GetStorageKeysHeader + { + get + { + return ResourceManager.GetString("GetStorageKeysHeader", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Git not found. Please install git and place it in your command line path.. + /// + public static string GitNotFound + { + get + { + return ResourceManager.GetString("GitNotFound", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Could not find publish settings. Please run Import-AzurePublishSettingsFile.. + /// + public static string GlobalSettingsManager_Load_PublishSettingsNotFound + { + get + { + return ResourceManager.GetString("GlobalSettingsManager_Load_PublishSettingsNotFound", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cannot find the WadCfg end element in the config.. + /// + public static string IaasDiagnosticsBadConfigNoEndWadCfg + { + get + { + return ResourceManager.GetString("IaasDiagnosticsBadConfigNoEndWadCfg", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to WadCfg start element in the config is not matching the end element.. + /// + public static string IaasDiagnosticsBadConfigNoMatchingWadCfg + { + get + { + return ResourceManager.GetString("IaasDiagnosticsBadConfigNoMatchingWadCfg", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cannot find the WadCfg element in the config.. + /// + public static string IaasDiagnosticsBadConfigNoWadCfg + { + get + { + return ResourceManager.GetString("IaasDiagnosticsBadConfigNoWadCfg", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to iisnode.dll. + /// + public static string IISNodeDll + { + get + { + return ResourceManager.GetString("IISNodeDll", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to iisnode. + /// + public static string IISNodeEngineKey + { + get + { + return ResourceManager.GetString("IISNodeEngineKey", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to iisnode-dev\\release\\x64. + /// + public static string IISNodePath + { + get + { + return ResourceManager.GetString("IISNodePath", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to iisnode. + /// + public static string IISNodeRuntimeValue + { + get + { + return ResourceManager.GetString("IISNodeRuntimeValue", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Installing IISNode version {0} in Azure for WebRole '{1}' (the version locally installed is: {2}). + /// + public static string IISNodeVersionWarningText + { + get + { + return ResourceManager.GetString("IISNodeVersionWarningText", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Illegal characters in path.. + /// + public static string IllegalPath + { + get + { + return ResourceManager.GetString("IllegalPath", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Internal Server Error. + /// + public static string InternalServerErrorMessage + { + get + { + return ResourceManager.GetString("InternalServerErrorMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cannot enable memcach protocol on a cache worker role {0}.. + /// + public static string InvalidCacheRoleName + { + get + { + return ResourceManager.GetString("InvalidCacheRoleName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Invalid certificate format. Publish settings may be corrupted. Use Get-AzurePublishSettingsFile to download updated settings. + /// + public static string InvalidCertificate + { + get + { + return ResourceManager.GetString("InvalidCertificate", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Invalid certificate format.. + /// + public static string InvalidCertificateSingle + { + get + { + return ResourceManager.GetString("InvalidCertificateSingle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The provided configuration path is invalid or doesn't exist. + /// + public static string InvalidConfigPath + { + get + { + return ResourceManager.GetString("InvalidConfigPath", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The country name is invalid, please use a valid two character country code, as described in ISO 3166-1 alpha-2.. + /// + public static string InvalidCountryNameMessage + { + get + { + return ResourceManager.GetString("InvalidCountryNameMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No default subscription has been designated. Use Select-AzureSubscription -Default <subscriptionName> to set the default subscription.. + /// + public static string InvalidDefaultSubscription + { + get + { + return ResourceManager.GetString("InvalidDefaultSubscription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Deployment with {0} does not exist. + /// + public static string InvalidDeployment + { + get + { + return ResourceManager.GetString("InvalidDeployment", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The deployment slot name {0} is invalid. Slot name must be either "Staging" or "Production".. + /// + public static string InvalidDeploymentSlot + { + get + { + return ResourceManager.GetString("InvalidDeploymentSlot", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to "{0}" is an invalid DNS name for {1}. + /// + public static string InvalidDnsName + { + get + { + return ResourceManager.GetString("InvalidDnsName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Invalid service endpoint.. + /// + public static string InvalidEndpoint + { + get + { + return ResourceManager.GetString("InvalidEndpoint", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The provided file in {0} must be have {1} extension. + /// + public static string InvalidFileExtension + { + get + { + return ResourceManager.GetString("InvalidFileExtension", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to File {0} has invalid characters. + /// + public static string InvalidFileName + { + get + { + return ResourceManager.GetString("InvalidFileName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You must create your git publishing credentials using the Microsoft Azure portal. + ///Please follow these steps in the portal: + ///1. On the left side open "Web Sites" + ///2. Click on any website + ///3. Choose "Setup Git Publishing" or "Reset deployment credentials" + ///4. Back in the PowerShell window, rerun this command by typing "New-AzureWebSite {site name} -Git -PublishingUsername {username}. + /// + public static string InvalidGitCredentials + { + get + { + return ResourceManager.GetString("InvalidGitCredentials", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The value {0} provided is not a valid GUID. Please provide a valid GUID.. + /// + public static string InvalidGuid + { + get + { + return ResourceManager.GetString("InvalidGuid", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The specified hostname does not exist. Please specify a valid hostname for the site.. + /// + public static string InvalidHostnameValidation + { + get + { + return ResourceManager.GetString("InvalidHostnameValidation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Role {0} instances must be greater than or equal 0 and less than or equal 20. + /// + public static string InvalidInstancesCount + { + get + { + return ResourceManager.GetString("InvalidInstancesCount", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to There was an error creating your webjob. Please make sure that the script is in the root folder of the zip file.. + /// + public static string InvalidJobFile + { + get + { + return ResourceManager.GetString("InvalidJobFile", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Could not download a valid runtime manifest, Please check your internet connection and try again.. + /// + public static string InvalidManifestError + { + get + { + return ResourceManager.GetString("InvalidManifestError", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The account {0} was not found. Please specify a valid account name.. + /// + public static string InvalidMediaServicesAccount + { + get + { + return ResourceManager.GetString("InvalidMediaServicesAccount", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The provided name "{0}" does not match the service bus namespace naming rules.. + /// + public static string InvalidNamespaceName + { + get + { + return ResourceManager.GetString("InvalidNamespaceName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Path must specify a valid path to an Azure profile.. + /// + public static string InvalidNewProfilePath + { + get + { + return ResourceManager.GetString("InvalidNewProfilePath", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Value cannot be null. Parameter name: '{0}'. + /// + public static string InvalidNullArgument + { + get + { + return ResourceManager.GetString("InvalidNullArgument", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} is invalid or empty. + /// + public static string InvalidOrEmptyArgumentMessage + { + get + { + return ResourceManager.GetString("InvalidOrEmptyArgumentMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The provided package path is invalid or doesn't exist. + /// + public static string InvalidPackagePath + { + get + { + return ResourceManager.GetString("InvalidPackagePath", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to '{0}' is an invalid parameter set name.. + /// + public static string InvalidParameterSetName + { + get + { + return ResourceManager.GetString("InvalidParameterSetName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} doesn't exist in {1} or you've not passed valid value for it. + /// + public static string InvalidPath + { + get + { + return ResourceManager.GetString("InvalidPath", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Path {0} has invalid characters. + /// + public static string InvalidPathName + { + get + { + return ResourceManager.GetString("InvalidPathName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Property bag Hashtable must contain one of the following sets of properties: {SubscriptionId, Certificate}, {SubscriptionId, Username, Password}, {SubscriptionId, ServicePrincipal, Password, Tenant}, {SubscriptionId, AccountId, Token}. + /// + public static string InvalidProfileProperties + { + get + { + return ResourceManager.GetString("InvalidProfileProperties", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The provided publish settings file {0} has invalid content. Please get valid by running cmdlet Get-AzurePublishSettingsFile. + /// + public static string InvalidPublishSettingsSchema + { + get + { + return ResourceManager.GetString("InvalidPublishSettingsSchema", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The provided role name "{0}" has invalid characters. + /// + public static string InvalidRoleNameMessage + { + get + { + return ResourceManager.GetString("InvalidRoleNameMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to A valid name for the service root folder is required. + /// + public static string InvalidRootNameMessage + { + get + { + return ResourceManager.GetString("InvalidRootNameMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} is not a recognized runtime type. + /// + public static string InvalidRuntimeError + { + get + { + return ResourceManager.GetString("InvalidRuntimeError", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to A valid language is required. + /// + public static string InvalidScaffoldingLanguageArg + { + get + { + return ResourceManager.GetString("InvalidScaffoldingLanguageArg", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No subscription is currently selected. Use Select-Subscription to activate a subscription.. + /// + public static string InvalidSelectedSubscription + { + get + { + return ResourceManager.GetString("InvalidSelectedSubscription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The provided location "{0}" does not exist in the available locations use Get-AzureSBLocation for listing available locations.. + /// + public static string InvalidServiceBusLocation + { + get + { + return ResourceManager.GetString("InvalidServiceBusLocation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Please provide a service name or run this command from inside a service project directory.. + /// + public static string InvalidServiceName + { + get + { + return ResourceManager.GetString("InvalidServiceName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You must provide valid value for {0}. + /// + public static string InvalidServiceSettingElement + { + get + { + return ResourceManager.GetString("InvalidServiceSettingElement", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to settings.json is invalid or doesn't exist. + /// + public static string InvalidServiceSettingMessage + { + get + { + return ResourceManager.GetString("InvalidServiceSettingMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The subscription named '{0}' cannot be found. Use Set-AzureSubscription to initialize the subscription data.. + /// + public static string InvalidSubscription + { + get + { + return ResourceManager.GetString("InvalidSubscription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The provided subscription id {0} is not valid. + /// + public static string InvalidSubscriptionId + { + get + { + return ResourceManager.GetString("InvalidSubscriptionId", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Must specify a non-null subscription name.. + /// + public static string InvalidSubscriptionName + { + get + { + return ResourceManager.GetString("InvalidSubscriptionName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to A valid subscription name is required. This can be provided using the -Subscription parameter or by setting the subscription via the Set-AzureSubscription cmdlet. + /// + public static string InvalidSubscriptionNameMessage + { + get + { + return ResourceManager.GetString("InvalidSubscriptionNameMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The provided subscriptions file {0} has invalid content.. + /// + public static string InvalidSubscriptionsDataSchema + { + get + { + return ResourceManager.GetString("InvalidSubscriptionsDataSchema", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Role {0} VM size should be ExtraSmall, Small, Medium, Large or ExtraLarge.. + /// + public static string InvalidVMSize + { + get + { + return ResourceManager.GetString("InvalidVMSize", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The web job file must have *.zip extension. + /// + public static string InvalidWebJobFile + { + get + { + return ResourceManager.GetString("InvalidWebJobFile", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Singleton option works for continuous jobs only.. + /// + public static string InvalidWebJobSingleton + { + get + { + return ResourceManager.GetString("InvalidWebJobSingleton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The website {0} was not found. Please specify a valid website name.. + /// + public static string InvalidWebsite + { + get + { + return ResourceManager.GetString("InvalidWebsite", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No job for id: {0} was found.. + /// + public static string JobNotFound + { + get + { + return ResourceManager.GetString("JobNotFound", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to engines. + /// + public static string JsonEnginesSectionName + { + get + { + return ResourceManager.GetString("JsonEnginesSectionName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Scaffolding for this language is not yet supported. + /// + public static string LanguageScaffoldingIsNotSupported + { + get + { + return ResourceManager.GetString("LanguageScaffoldingIsNotSupported", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Link already established. + /// + public static string LinkAlreadyEstablished + { + get + { + return ResourceManager.GetString("LinkAlreadyEstablished", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to local_package.csx. + /// + public static string LocalPackageFileName + { + get + { + return ResourceManager.GetString("LocalPackageFileName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ServiceConfiguration.Local.cscfg. + /// + public static string LocalServiceConfigurationFileName + { + get + { + return ResourceManager.GetString("LocalServiceConfigurationFileName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Looking for {0} deployment for {1} cloud service.... + /// + public static string LookingForDeploymentMessage + { + get + { + return ResourceManager.GetString("LookingForDeploymentMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Looking for cloud service {0}.... + /// + public static string LookingForServiceMessage + { + get + { + return ResourceManager.GetString("LookingForServiceMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Azure Long-Running Job. + /// + public static string LROJobName + { + get + { + return ResourceManager.GetString("LROJobName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The cmdlet failed in background execution. The returned error was '{0}'. Please execute the cmdlet again. You may need to execute this cmdlet synchronously, by omitting the '-AsJob' parameter.. + /// + public static string LROTaskExceptionMessage + { + get + { + return ResourceManager.GetString("LROTaskExceptionMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to managementCertificate.pem. + /// + public static string ManagementCertificateFileName + { + get + { + return ResourceManager.GetString("ManagementCertificateFileName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ?whr={0}. + /// + public static string ManagementPortalRealmFormat + { + get + { + return ResourceManager.GetString("ManagementPortalRealmFormat", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to //baseuri. + /// + public static string ManifestBaseUriQuery + { + get + { + return ResourceManager.GetString("ManifestBaseUriQuery", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to uri. + /// + public static string ManifestBlobUriKey + { + get + { + return ResourceManager.GetString("ManifestBlobUriKey", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to http://az413943.vo.msecnd.net/node/runtimemanifest_0.7.5.2.xml. + /// + public static string ManifestUri + { + get + { + return ResourceManager.GetString("ManifestUri", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Property bag Hashtable must contain a 'Certificate' of type 'X509Certificate2'.. + /// + public static string MissingCertificateInProfileProperties + { + get + { + return ResourceManager.GetString("MissingCertificateInProfileProperties", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Property bag Hashtable must contain a 'Password' with an associated 'Username' or 'ServicePrincipal'.. + /// + public static string MissingPasswordInProfileProperties + { + get + { + return ResourceManager.GetString("MissingPasswordInProfileProperties", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Property bag Hashtable must contain a 'SubscriptionId'.. + /// + public static string MissingSubscriptionInProfileProperties + { + get + { + return ResourceManager.GetString("MissingSubscriptionInProfileProperties", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Multiple Add-Ons found holding name {0}. + /// + public static string MultipleAddOnsFoundMessage + { + get + { + return ResourceManager.GetString("MultipleAddOnsFoundMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Multiple possible publishing users. Please go to the Portal and use the listed deployment user, or click 'set/reset deployment credentials' to set up a new user account, then reurn this cmdlet and specify PublishingUsername.. + /// + public static string MultiplePublishingUsernames + { + get + { + return ResourceManager.GetString("MultiplePublishingUsernames", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The first publish settings file "{0}" is used. If you want to use another file specify the file name.. + /// + public static string MultiplePublishSettingsFilesFoundMessage + { + get + { + return ResourceManager.GetString("MultiplePublishSettingsFilesFoundMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Microsoft.WindowsAzure.Plugins.Caching.NamedCaches. + /// + public static string NamedCacheSettingName + { + get + { + return ResourceManager.GetString("NamedCacheSettingName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {"caches":[{"name":"default","policy":{"eviction":{"type":0},"expiration":{"defaultTTL":10,"isExpirable":true,"type":1},"serverNotification":{"isEnabled":false}},"secondaries":0}]}. + /// + public static string NamedCacheSettingValue + { + get + { + return ResourceManager.GetString("NamedCacheSettingValue", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to A publishing username is required. Please specify one using the argument PublishingUsername.. + /// + public static string NeedPublishingUsernames + { + get + { + return ResourceManager.GetString("NeedPublishingUsernames", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to New Add-On Confirmation. + /// + public static string NewAddOnConformation + { + get + { + return ResourceManager.GetString("NewAddOnConformation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to By typing "Yes", I (a) authorize Microsoft to charge my current payment method on a monthly basis + ///for the amount indicated at {0} for {1} until my service is cancelled or terminated, and (b) + ///agree to the {2}'s terms of user and privacy statement at {0} and (c) agree to sharing my + ///contact information with {2}.. + /// + public static string NewMicrosoftAddOnMessage + { + get + { + return ResourceManager.GetString("NewMicrosoftAddOnMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Internal Server Error. This could happen because the namespace name is already used or due to an incorrect location name. Use Get-AzureSBLocation cmdlet to list valid names.. + /// + public static string NewNamespaceErrorMessage + { + get + { + return ResourceManager.GetString("NewNamespaceErrorMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to By typing "Yes", I (a) authorize Microsoft to charge my current payment method on a monthly basis + ///for the amount indicated at {0} for {1} until my service is cancelled or terminated, and (b) + ///acknowledge the offering is provided by {2}, not Microsoft, and agree to {2}'s terms of + ///use and privacy statement at {0} and (c) agree to sharing my contact information with {2}.. + /// + public static string NewNonMicrosoftAddOnMessage + { + get + { + return ResourceManager.GetString("NewNonMicrosoftAddOnMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Service has been created at {0}. + /// + public static string NewServiceCreatedMessage + { + get + { + return ResourceManager.GetString("NewServiceCreatedMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No. + /// + public static string No + { + get + { + return ResourceManager.GetString("No", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to There is no access token cached for subscription {0}, user id {1}. Use the Add-AzureAccount cmdlet to log in again and get a token for this subscription.. + /// + public static string NoCachedToken + { + get + { + return ResourceManager.GetString("NoCachedToken", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The service does not have any cache worker roles, add one first by running cmdlet Add-AzureCacheWorkerRole.. + /// + public static string NoCacheWorkerRoles + { + get + { + return ResourceManager.GetString("NoCacheWorkerRoles", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No clouds available. + /// + public static string NoCloudsAvailable + { + get + { + return ResourceManager.GetString("NoCloudsAvailable", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to "There is no current context, please log in using Connect-AzAccount.". + /// + public static string NoCurrentContextForDataCmdlet + { + get + { + return ResourceManager.GetString("NoCurrentContextForDataCmdlet", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to nodejs. + /// + public static string NodeDirectory + { + get + { + return ResourceManager.GetString("NodeDirectory", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to node. + /// + public static string NodeEngineKey + { + get + { + return ResourceManager.GetString("NodeEngineKey", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to node.exe. + /// + public static string NodeExe + { + get + { + return ResourceManager.GetString("NodeExe", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to There is no default subscription set, please set a default subscription by running Set-AzureSubscription -Default <subscription name>. + /// + public static string NoDefaultSubscriptionMessage + { + get + { + return ResourceManager.GetString("NoDefaultSubscriptionMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Microsoft SDKs\Azure\Nodejs\Nov2011. + /// + public static string NodeModulesPath + { + get + { + return ResourceManager.GetString("NodeModulesPath", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to nodejs. + /// + public static string NodeProgramFilesFolderName + { + get + { + return ResourceManager.GetString("NodeProgramFilesFolderName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to node. + /// + public static string NodeRuntimeValue + { + get + { + return ResourceManager.GetString("NodeRuntimeValue", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Resources\Scaffolding\Node. + /// + public static string NodeScaffolding + { + get + { + return ResourceManager.GetString("NodeScaffolding", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Microsoft.WindowsAzure.Commands.CloudService.ScaffoldingResources.Node. + /// + public static string NodeScaffoldingResources + { + get + { + return ResourceManager.GetString("NodeScaffoldingResources", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Installing Node version {0} in Azure for Role '{1}' (the Node version locally installed is: {2}). + /// + public static string NodeVersionWarningText + { + get + { + return ResourceManager.GetString("NodeVersionWarningText", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No, I do not agree. + /// + public static string NoHint + { + get + { + return ResourceManager.GetString("NoHint", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Please connect to internet before executing this cmdlet. + /// + public static string NoInternetConnection + { + get + { + return ResourceManager.GetString("NoInternetConnection", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to <NONE>. + /// + public static string None + { + get + { + return ResourceManager.GetString("None", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No publish settings files with extension *.publishsettings are found in the directory "{0}".. + /// + public static string NoPublishSettingsFilesFoundMessage + { + get + { + return ResourceManager.GetString("NoPublishSettingsFilesFoundMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to There is no subscription associated with account {0}.. + /// + public static string NoSubscriptionAddedMessage + { + get + { + return ResourceManager.GetString("NoSubscriptionAddedMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No subscriptions are associated with the logged in account in Azure Service Management (RDFE). This means that the logged in user is not an administrator or co-administrator for any account.\r\nDid you mean to execute Connect-AzAccount?. + /// + public static string NoSubscriptionFoundForTenant + { + get + { + return ResourceManager.GetString("NoSubscriptionFoundForTenant", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to '{0}' must be a cache worker role. Verify that it has proper cache worker role configuration.. + /// + public static string NotCacheWorkerRole + { + get + { + return ResourceManager.GetString("NotCacheWorkerRole", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Certificate can't be null.. + /// + public static string NullCertificateMessage + { + get + { + return ResourceManager.GetString("NullCertificateMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} could not be null or empty. + /// + public static string NullObjectMessage + { + get + { + return ResourceManager.GetString("NullObjectMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unable to add a null RoleSettings to {0}. + /// + public static string NullRoleSettingsMessage + { + get + { + return ResourceManager.GetString("NullRoleSettingsMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unable to add new role to null service definition. + /// + public static string NullServiceDefinitionMessage + { + get + { + return ResourceManager.GetString("NullServiceDefinitionMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The request offer '{0}' is not found.. + /// + public static string OfferNotFoundMessage + { + get + { + return ResourceManager.GetString("OfferNotFoundMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Operation "{0}" failed on VM with ID: {1}. + /// + public static string OperationFailedErrorMessage + { + get + { + return ResourceManager.GetString("OperationFailedErrorMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The REST operation failed with message '{0}' and error code '{1}'. + /// + public static string OperationFailedMessage + { + get + { + return ResourceManager.GetString("OperationFailedMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Job Id {0} did not complete within expected time or it is in Failed/Canceled/Invalid state.. + /// + public static string OperationTimedOutOrError + { + get + { + return ResourceManager.GetString("OperationTimedOutOrError", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to package. + /// + public static string Package + { + get + { + return ResourceManager.GetString("Package", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Package is created at service root path {0}.. + /// + public static string PackageCreated + { + get + { + return ResourceManager.GetString("PackageCreated", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {{ + /// "author": "", + /// + /// "name": "{0}", + /// "version": "0.0.0", + /// "dependencies":{{}}, + /// "devDependencies":{{}}, + /// "optionalDependencies": {{}}, + /// "engines": {{ + /// "node": "*", + /// "iisnode": "*" + /// }} + /// + ///}} + ///. + /// + public static string PackageJsonDefaultFile + { + get + { + return ResourceManager.GetString("PackageJsonDefaultFile", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to package.json. + /// + public static string PackageJsonFileName + { + get + { + return ResourceManager.GetString("PackageJsonFileName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Path {0} doesn't exist.. + /// + public static string PathDoesNotExist + { + get + { + return ResourceManager.GetString("PathDoesNotExist", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Path for {0} doesn't exist in {1}.. + /// + public static string PathDoesNotExistForElement + { + get + { + return ResourceManager.GetString("PathDoesNotExistForElement", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to A value for the Peer Asn has to be provided.. + /// + public static string PeerAsnRequired + { + get + { + return ResourceManager.GetString("PeerAsnRequired", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 5.4.0. + /// + public static string PHPDefaultRuntimeVersion + { + get + { + return ResourceManager.GetString("PHPDefaultRuntimeVersion", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to php. + /// + public static string PhpRuntimeValue + { + get + { + return ResourceManager.GetString("PhpRuntimeValue", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Resources\Scaffolding\PHP. + /// + public static string PHPScaffolding + { + get + { + return ResourceManager.GetString("PHPScaffolding", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Microsoft.WindowsAzure.Commands.CloudService.ScaffoldingResources.PHP. + /// + public static string PHPScaffoldingResources + { + get + { + return ResourceManager.GetString("PHPScaffoldingResources", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Installing PHP version {0} for Role '{1}' (the PHP version locally installed is: {2}). + /// + public static string PHPVersionWarningText + { + get + { + return ResourceManager.GetString("PHPVersionWarningText", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You must create your first web site using the Microsoft Azure portal. + ///Please follow these steps in the portal: + ///1. At the bottom of the page, click on New > Web Site > Quick Create + ///2. Type {0} in the URL field + ///3. Click on "Create Web Site" + ///4. Once the site has been created, click on the site name + ///5. Click on "Set up Git publishing" or "Reset deployment credentials" and setup a publishing username and password. Use those credentials for all new websites you create.. + /// + public static string PortalInstructions + { + get + { + return ResourceManager.GetString("PortalInstructions", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 6. Back in the console window, rerun this command by typing "New-AzureWebsite <site name> -Git". + /// + public static string PortalInstructionsGit + { + get + { + return ResourceManager.GetString("PortalInstructionsGit", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to This cmdlet is in preview. The functionality may not be available in the selected subscription. + /// + public static string PreviewCmdletMessage + { + get + { + return ResourceManager.GetString("PreviewCmdletMessage", resourceCulture); + } + } + + + /// + /// Looks up a localized string similar to A value for the Primary Peer Subnet has to be provided.. + /// + public static string PrimaryPeerSubnetRequired + { + get + { + return ResourceManager.GetString("PrimaryPeerSubnetRequired", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Promotion code can be used only when updating to a new plan.. + /// + public static string PromotionCodeWithCurrentPlanMessage + { + get + { + return ResourceManager.GetString("PromotionCodeWithCurrentPlanMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Service not published at user request.. + /// + public static string PublishAbortedAtUserRequest + { + get + { + return ResourceManager.GetString("PublishAbortedAtUserRequest", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Complete.. + /// + public static string PublishCompleteMessage + { + get + { + return ResourceManager.GetString("PublishCompleteMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Connecting.... + /// + public static string PublishConnectingMessage + { + get + { + return ResourceManager.GetString("PublishConnectingMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Created Deployment ID: {0}.. + /// + public static string PublishCreatedDeploymentMessage + { + get + { + return ResourceManager.GetString("PublishCreatedDeploymentMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Created hosted service '{0}'.. + /// + public static string PublishCreatedServiceMessage + { + get + { + return ResourceManager.GetString("PublishCreatedServiceMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Created Website URL: {0}.. + /// + public static string PublishCreatedWebsiteMessage + { + get + { + return ResourceManager.GetString("PublishCreatedWebsiteMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Creating.... + /// + public static string PublishCreatingServiceMessage + { + get + { + return ResourceManager.GetString("PublishCreatingServiceMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Initializing.... + /// + public static string PublishInitializingMessage + { + get + { + return ResourceManager.GetString("PublishInitializingMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to busy. + /// + public static string PublishInstanceStatusBusy + { + get + { + return ResourceManager.GetString("PublishInstanceStatusBusy", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to creating the virtual machine. + /// + public static string PublishInstanceStatusCreating + { + get + { + return ResourceManager.GetString("PublishInstanceStatusCreating", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Instance {0} of role {1} is {2}.. + /// + public static string PublishInstanceStatusMessage + { + get + { + return ResourceManager.GetString("PublishInstanceStatusMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ready. + /// + public static string PublishInstanceStatusReady + { + get + { + return ResourceManager.GetString("PublishInstanceStatusReady", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Preparing deployment for {0} with Subscription ID: {1}.... + /// + public static string PublishPreparingDeploymentMessage + { + get + { + return ResourceManager.GetString("PublishPreparingDeploymentMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Publishing {0} to Microsoft Azure. This may take several minutes.... + /// + public static string PublishServiceStartMessage + { + get + { + return ResourceManager.GetString("PublishServiceStartMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to publish settings. + /// + public static string PublishSettings + { + get + { + return ResourceManager.GetString("PublishSettings", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Azure. + /// + public static string PublishSettingsElementName + { + get + { + return ResourceManager.GetString("PublishSettingsElementName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to .PublishSettings. + /// + public static string PublishSettingsFileExtention + { + get + { + return ResourceManager.GetString("PublishSettingsFileExtention", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to publishSettings.xml. + /// + public static string PublishSettingsFileName + { + get + { + return ResourceManager.GetString("PublishSettingsFileName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to &whr={0}. + /// + public static string PublishSettingsFileRealmFormat + { + get + { + return ResourceManager.GetString("PublishSettingsFileRealmFormat", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Publish settings imported. + /// + public static string PublishSettingsSetSuccessfully + { + get + { + return ResourceManager.GetString("PublishSettingsSetSuccessfully", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to AZURE_PUBLISHINGPROFILE_URL. + /// + public static string PublishSettingsUrlEnv + { + get + { + return ResourceManager.GetString("PublishSettingsUrlEnv", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Starting.... + /// + public static string PublishStartingMessage + { + get + { + return ResourceManager.GetString("PublishStartingMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Upgrading.... + /// + public static string PublishUpgradingMessage + { + get + { + return ResourceManager.GetString("PublishUpgradingMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Uploading Package to storage service {0}.... + /// + public static string PublishUploadingPackageMessage + { + get + { + return ResourceManager.GetString("PublishUploadingPackageMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Verifying storage account '{0}'.... + /// + public static string PublishVerifyingStorageMessage + { + get + { + return ResourceManager.GetString("PublishVerifyingStorageMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Path '{0}' not found.. + /// + public static string PublishVMDscExtensionAdditionalContentPathNotExist + { + get + { + return ResourceManager.GetString("PublishVMDscExtensionAdditionalContentPathNotExist", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Configuration published to {0}. + /// + public static string PublishVMDscExtensionArchiveUploadedMessage + { + get + { + return ResourceManager.GetString("PublishVMDscExtensionArchiveUploadedMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Copy '{0}' to '{1}'.. + /// + public static string PublishVMDscExtensionCopyFileVerbose + { + get + { + return ResourceManager.GetString("PublishVMDscExtensionCopyFileVerbose", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Copy the module '{0}' to '{1}'.. + /// + public static string PublishVMDscExtensionCopyModuleVerbose + { + get + { + return ResourceManager.GetString("PublishVMDscExtensionCopyModuleVerbose", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Invalid configuration file: {0}. + ///The file needs to be a PowerShell script (.ps1 or .psm1).. + /// + public static string PublishVMDscExtensionCreateArchiveConfigFileInvalidExtension + { + get + { + return ResourceManager.GetString("PublishVMDscExtensionCreateArchiveConfigFileInvalidExtension", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Deleted '{0}'. + /// + public static string PublishVMDscExtensionDeletedFileMessage + { + get + { + return ResourceManager.GetString("PublishVMDscExtensionDeletedFileMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cannot delete '{0}': {1}. + /// + public static string PublishVMDscExtensionDeleteErrorMessage + { + get + { + return ResourceManager.GetString("PublishVMDscExtensionDeleteErrorMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Path '{0}' not found.. + /// + public static string PublishVMDscExtensionDirectoryNotExist + { + get + { + return ResourceManager.GetString("PublishVMDscExtensionDirectoryNotExist", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cannot get module for DscResource '{0}'. Possible solutions: + ///1) Specify -ModuleName for Import-DscResource in your configuration. + ///2) Unblock module that contains resource. + ///3) Move Import-DscResource inside Node block. + ///. + /// + public static string PublishVMDscExtensionGetDscResourceFailed + { + get + { + return ResourceManager.GetString("PublishVMDscExtensionGetDscResourceFailed", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to List of required modules: [{0}].. + /// + public static string PublishVMDscExtensionRequiredModulesVerbose + { + get + { + return ResourceManager.GetString("PublishVMDscExtensionRequiredModulesVerbose", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Your current PowerShell version {1} is less then required by this cmdlet {0}. Consider download and install latest PowerShell version.. + /// + public static string PublishVMDscExtensionRequiredPsVersion + { + get + { + return ResourceManager.GetString("PublishVMDscExtensionRequiredPsVersion", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Configuration script '{0}' contained parse errors: + ///{1}. + /// + public static string PublishVMDscExtensionStorageParserErrors + { + get + { + return ResourceManager.GetString("PublishVMDscExtensionStorageParserErrors", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Temp folder '{0}' created.. + /// + public static string PublishVMDscExtensionTempFolderVerbose + { + get + { + return ResourceManager.GetString("PublishVMDscExtensionTempFolderVerbose", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Invalid configuration file: {0}. + ///The file needs to be a PowerShell script (.ps1 or .psm1) or a ZIP archive (.zip).. + /// + public static string PublishVMDscExtensionUploadArchiveConfigFileInvalidExtension + { + get + { + return ResourceManager.GetString("PublishVMDscExtensionUploadArchiveConfigFileInvalidExtension", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Configuration file '{0}' not found.. + /// + public static string PublishVMDscExtensionUploadArchiveConfigFileNotExist + { + get + { + return ResourceManager.GetString("PublishVMDscExtensionUploadArchiveConfigFileNotExist", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Azure PowerShell collects usage data in order to improve your experience. + ///The data is anonymous and does not include commandline argument values. + ///The data is collected by Microsoft. + /// + ///Use the Disable-AzureDataCollection cmdlet to turn the feature Off. The cmdlet can be found in the Azure module. To disable data collection: PS > Disable-AzureDataCollection. + ///Use the Enable-AzureDataCollection cmdlet to turn the feature On. The cmdlet can be found in the Azure module. To enable data collection: PS > Enab [rest of string was truncated]";. + /// + public static string RDFEDataCollectionMessage + { + get + { + return ResourceManager.GetString("RDFEDataCollectionMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Replace current deployment with '{0}' Id ?. + /// + public static string RedeployCommit + { + get + { + return ResourceManager.GetString("RedeployCommit", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to regenerate key?. + /// + public static string RegenerateKeyWarning + { + get + { + return ResourceManager.GetString("RegenerateKeyWarning", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Generate new key.. + /// + public static string RegenerateKeyWhatIfMessage + { + get + { + return ResourceManager.GetString("RegenerateKeyWhatIfMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to remove account '{0}'?. + /// + public static string RemoveAccountConfirmation + { + get + { + return ResourceManager.GetString("RemoveAccountConfirmation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Removing account. + /// + public static string RemoveAccountMessage + { + get + { + return ResourceManager.GetString("RemoveAccountMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Remove Add-On Confirmation. + /// + public static string RemoveAddOnConformation + { + get + { + return ResourceManager.GetString("RemoveAddOnConformation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to If you delete this add-on, your data may be deleted and the operation may not be undone. You may have to purchase it again from the Microsoft Azure Store to use it. The price of the add-on may not be refunded. Are you sure you want to delete this add-on? Enter “Yes” to confirm.. + /// + public static string RemoveAddOnMessage + { + get + { + return ResourceManager.GetString("RemoveAddOnMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Remove-AzureBGPPeering Operation failed.. + /// + public static string RemoveAzureBGPPeeringFailed + { + get + { + return ResourceManager.GetString("RemoveAzureBGPPeeringFailed", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Removing Bgp Peering. + /// + public static string RemoveAzureBGPPeeringMessage + { + get + { + return ResourceManager.GetString("RemoveAzureBGPPeeringMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Successfully removed Azure Bgp Peering with Service Key {0}.. + /// + public static string RemoveAzureBGPPeeringSucceeded + { + get + { + return ResourceManager.GetString("RemoveAzureBGPPeeringSucceeded", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to remove the Bgp Peering with service key '{0}'?. + /// + public static string RemoveAzureBGPPeeringWarning + { + get + { + return ResourceManager.GetString("RemoveAzureBGPPeeringWarning", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to remove the Dedicated Circuit with service key '{0}'?. + /// + public static string RemoveAzureDedicatdCircuitWarning + { + get + { + return ResourceManager.GetString("RemoveAzureDedicatdCircuitWarning", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Remove-AzureDedicatedCircuit Operation failed.. + /// + public static string RemoveAzureDedicatedCircuitFailed + { + get + { + return ResourceManager.GetString("RemoveAzureDedicatedCircuitFailed", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Remove-AzureDedicatedCircuitLink Operation failed.. + /// + public static string RemoveAzureDedicatedCircuitLinkFailed + { + get + { + return ResourceManager.GetString("RemoveAzureDedicatedCircuitLinkFailed", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Removing Dedicated Circui Link. + /// + public static string RemoveAzureDedicatedCircuitLinkMessage + { + get + { + return ResourceManager.GetString("RemoveAzureDedicatedCircuitLinkMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Successfully removed Azure Dedicated Circuit Link with Service Key {0} and Vnet Name {1}. + /// + public static string RemoveAzureDedicatedCircuitLinkSucceeded + { + get + { + return ResourceManager.GetString("RemoveAzureDedicatedCircuitLinkSucceeded", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to remove the Dedicated Circuit Link with service key '{0}' and virtual network name '{1}'?. + /// + public static string RemoveAzureDedicatedCircuitLinkWarning + { + get + { + return ResourceManager.GetString("RemoveAzureDedicatedCircuitLinkWarning", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Removing Dedicated Circuit. + /// + public static string RemoveAzureDedicatedCircuitMessage + { + get + { + return ResourceManager.GetString("RemoveAzureDedicatedCircuitMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Successfully removed Azure Dedicated Circuit with Service Key {0}.. + /// + public static string RemoveAzureDedicatedCircuitSucceeded + { + get + { + return ResourceManager.GetString("RemoveAzureDedicatedCircuitSucceeded", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Removing cloud service {0}.... + /// + public static string RemoveAzureServiceWaitMessage + { + get + { + return ResourceManager.GetString("RemoveAzureServiceWaitMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The default subscription is being removed. Use Select-AzureSubscription -Default <subscriptionName> to select a new default subscription.. + /// + public static string RemoveDefaultSubscription + { + get + { + return ResourceManager.GetString("RemoveDefaultSubscription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Removing {0} deployment for {1} service. + /// + public static string RemoveDeploymentWaitMessage + { + get + { + return ResourceManager.GetString("RemoveDeploymentWaitMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Removing an environment will remove all associated subscriptions and accounts. Are you sure you want to remove an environment '{0}'?. + /// + public static string RemoveEnvironmentConfirmation + { + get + { + return ResourceManager.GetString("RemoveEnvironmentConfirmation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Removing environment. + /// + public static string RemoveEnvironmentMessage + { + get + { + return ResourceManager.GetString("RemoveEnvironmentMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Removing job collection. + /// + public static string RemoveJobCollectionMessage + { + get + { + return ResourceManager.GetString("RemoveJobCollectionMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to remove the job collection "{0}". + /// + public static string RemoveJobCollectionWarning + { + get + { + return ResourceManager.GetString("RemoveJobCollectionWarning", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Removing job. + /// + public static string RemoveJobMessage + { + get + { + return ResourceManager.GetString("RemoveJobMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to remove the job "{0}". + /// + public static string RemoveJobWarning + { + get + { + return ResourceManager.GetString("RemoveJobWarning", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to remove the account?. + /// + public static string RemoveMediaAccountWarning + { + get + { + return ResourceManager.GetString("RemoveMediaAccountWarning", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Account removed.. + /// + public static string RemoveMediaAccountWhatIfMessage + { + get + { + return ResourceManager.GetString("RemoveMediaAccountWhatIfMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Internal Server Error. This could happen because the namespace does not exist or it does not exist under your subscription.. + /// + public static string RemoveNamespaceErrorMessage + { + get + { + return ResourceManager.GetString("RemoveNamespaceErrorMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Removing old package {0}.... + /// + public static string RemovePackage + { + get + { + return ResourceManager.GetString("RemovePackage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Removing the Azure profile will remove all associated environments, subscriptions, and accounts. Are you sure you want to remove the Azure profile?. + /// + public static string RemoveProfileConfirmation + { + get + { + return ResourceManager.GetString("RemoveProfileConfirmation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Removing the Azure profile. + /// + public static string RemoveProfileMessage + { + get + { + return ResourceManager.GetString("RemoveProfileMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to delete the namespace '{0}'?. + /// + public static string RemoveServiceBusNamespaceConfirmation + { + get + { + return ResourceManager.GetString("RemoveServiceBusNamespaceConfirmation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to remove cloud service?. + /// + public static string RemoveServiceWarning + { + get + { + return ResourceManager.GetString("RemoveServiceWarning", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Remove cloud service and all it's deployments. + /// + public static string RemoveServiceWhatIfMessage + { + get + { + return ResourceManager.GetString("RemoveServiceWhatIfMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to remove subscription '{0}'?. + /// + public static string RemoveSubscriptionConfirmation + { + get + { + return ResourceManager.GetString("RemoveSubscriptionConfirmation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Removing subscription. + /// + public static string RemoveSubscriptionMessage + { + get + { + return ResourceManager.GetString("RemoveSubscriptionMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The endpoint {0} cannot be removed from profile {1} because it's not in the profile.. + /// + public static string RemoveTrafficManagerEndpointMissing + { + get + { + return ResourceManager.GetString("RemoveTrafficManagerEndpointMissing", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Remove-AzureTrafficManagerProfile Operation failed.. + /// + public static string RemoveTrafficManagerProfileFailed + { + get + { + return ResourceManager.GetString("RemoveTrafficManagerProfileFailed", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Successfully removed Traffic Manager profile with name {0}.. + /// + public static string RemoveTrafficManagerProfileSucceeded + { + get + { + return ResourceManager.GetString("RemoveTrafficManagerProfileSucceeded", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to remove the Traffic Manager profile "{0}"?. + /// + public static string RemoveTrafficManagerProfileWarning + { + get + { + return ResourceManager.GetString("RemoveTrafficManagerProfileWarning", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to delete the VM '{0}'?. + /// + public static string RemoveVMConfirmationMessage + { + get + { + return ResourceManager.GetString("RemoveVMConfirmationMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Deleting VM.. + /// + public static string RemoveVMMessage + { + get + { + return ResourceManager.GetString("RemoveVMMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Removing WebJob.... + /// + public static string RemoveWebJobMessage + { + get + { + return ResourceManager.GetString("RemoveWebJobMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to remove job '{0}'?. + /// + public static string RemoveWebJobWarning + { + get + { + return ResourceManager.GetString("RemoveWebJobWarning", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Removing website. + /// + public static string RemoveWebsiteMessage + { + get + { + return ResourceManager.GetString("RemoveWebsiteMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to remove the website "{0}". + /// + public static string RemoveWebsiteWarning + { + get + { + return ResourceManager.GetString("RemoveWebsiteWarning", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Removing public environment is not supported.. + /// + public static string RemovingDefaultEnvironmentsNotSupported + { + get + { + return ResourceManager.GetString("RemovingDefaultEnvironmentsNotSupported", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Deleting namespace. + /// + public static string RemovingNamespaceMessage + { + get + { + return ResourceManager.GetString("RemovingNamespaceMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Repository is not setup. You need to pass a valid site name.. + /// + public static string RepositoryNotSetup + { + get + { + return ResourceManager.GetString("RepositoryNotSetup", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reserved IP with the Name:'{0}' will no longer be in use after the deployment is deleted, and it is still reserved for later use.. + /// + public static string ReservedIPNameNoLongerInUseButStillBeingReserved + { + get + { + return ResourceManager.GetString("ReservedIPNameNoLongerInUseButStillBeingReserved", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Resource with ID : {0} does not exist.. + /// + public static string ResourceNotFound + { + get + { + return ResourceManager.GetString("ResourceNotFound", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Restart. + /// + public static string Restart + { + get + { + return ResourceManager.GetString("Restart", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Resume. + /// + public static string Resume + { + get + { + return ResourceManager.GetString("Resume", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to /role:{0};"{1}/{0}" . + /// + public static string RoleArgTemplate + { + get + { + return ResourceManager.GetString("RoleArgTemplate", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to bin. + /// + public static string RoleBinFolderName + { + get + { + return ResourceManager.GetString("RoleBinFolderName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Role {0} is {1}. + /// + public static string RoleInstanceWaitMsg + { + get + { + return ResourceManager.GetString("RoleInstanceWaitMsg", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 20. + /// + public static string RoleMaxInstances + { + get + { + return ResourceManager.GetString("RoleMaxInstances", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to role name. + /// + public static string RoleName + { + get + { + return ResourceManager.GetString("RoleName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The provided role name {0} doesn't exist. + /// + public static string RoleNotFoundMessage + { + get + { + return ResourceManager.GetString("RoleNotFoundMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to RoleSettings.xml. + /// + public static string RoleSettingsTemplateFileName + { + get + { + return ResourceManager.GetString("RoleSettingsTemplateFileName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Role type {0} doesn't exist. + /// + public static string RoleTypeDoesNotExist + { + get + { + return ResourceManager.GetString("RoleTypeDoesNotExist", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to public static Dictionary<string, Location> ReverseLocations { get; private set; }. + /// + public static string RuntimeDeploymentLocationError + { + get + { + return ResourceManager.GetString("RuntimeDeploymentLocationError", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Preparing runtime deployment for service '{0}'. + /// + public static string RuntimeDeploymentStart + { + get + { + return ResourceManager.GetString("RuntimeDeploymentStart", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to WARNING Runtime Mismatch: Are you sure that you want to publish service '{0}' using an Azure runtime version that does not match your local runtime version?. + /// + public static string RuntimeMismatchWarning + { + get + { + return ResourceManager.GetString("RuntimeMismatchWarning", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to RUNTIMEOVERRIDEURL. + /// + public static string RuntimeOverrideKey + { + get + { + return ResourceManager.GetString("RuntimeOverrideKey", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to /runtimemanifest/runtimes/runtime. + /// + public static string RuntimeQuery + { + get + { + return ResourceManager.GetString("RuntimeQuery", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to RUNTIMEID. + /// + public static string RuntimeTypeKey + { + get + { + return ResourceManager.GetString("RuntimeTypeKey", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to RUNTIMEURL. + /// + public static string RuntimeUrlKey + { + get + { + return ResourceManager.GetString("RuntimeUrlKey", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to RUNTIMEVERSIONPRIMARYKEY. + /// + public static string RuntimeVersionPrimaryKey + { + get + { + return ResourceManager.GetString("RuntimeVersionPrimaryKey", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to scaffold.xml. + /// + public static string ScaffoldXml + { + get + { + return ResourceManager.GetString("ScaffoldXml", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Invalid location entered. Pick one of the locations from Get-AzureSchedulerLocation. + /// + public static string SchedulerInvalidLocation + { + get + { + return ResourceManager.GetString("SchedulerInvalidLocation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to A value for the Secondary Peer Subnet has to be provided.. + /// + public static string SecondaryPeerSubnetRequired + { + get + { + return ResourceManager.GetString("SecondaryPeerSubnetRequired", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Service {0} already exists on disk in location {1}. + /// + public static string ServiceAlreadyExistsOnDisk + { + get + { + return ResourceManager.GetString("ServiceAlreadyExistsOnDisk", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No ServiceBus authorization rule with the given characteristics was found. + /// + public static string ServiceBusAuthorizationRuleNotFound + { + get + { + return ResourceManager.GetString("ServiceBusAuthorizationRuleNotFound", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The service bus entity '{0}' is not found.. + /// + public static string ServiceBusEntityTypeNotFound + { + get + { + return ResourceManager.GetString("ServiceBusEntityTypeNotFound", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Internal Server Error. This could happen due to an incorrect/missing namespace. + /// + public static string ServiceBusNamespaceMissingMessage + { + get + { + return ResourceManager.GetString("ServiceBusNamespaceMissingMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to service configuration. + /// + public static string ServiceConfiguration + { + get + { + return ResourceManager.GetString("ServiceConfiguration", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to service definition. + /// + public static string ServiceDefinition + { + get + { + return ResourceManager.GetString("ServiceDefinition", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ServiceDefinition.csdef. + /// + public static string ServiceDefinitionFileName + { + get + { + return ResourceManager.GetString("ServiceDefinitionFileName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0}Deploy. + /// + public static string ServiceDeploymentName + { + get + { + return ResourceManager.GetString("ServiceDeploymentName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The specified cloud service "{0}" does not exist.. + /// + public static string ServiceDoesNotExist + { + get + { + return ResourceManager.GetString("ServiceDoesNotExist", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} slot for service {1} is in {2} state, please wait until it finish and update it's status. + /// + public static string ServiceIsInTransitionState + { + get + { + return ResourceManager.GetString("ServiceIsInTransitionState", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to "An exception occurred when calling the ServiceManagement API. HTTP Status Code: {0}. Service Management Error Code: {1}. Message: {2}. Operation Tracking ID: {3}.". + /// + public static string ServiceManagementClientExceptionStringFormat + { + get + { + return ResourceManager.GetString("ServiceManagementClientExceptionStringFormat", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Begin Operation: {0}. + /// + public static string ServiceManagementExecuteClientActionBeginOperation + { + get + { + return ResourceManager.GetString("ServiceManagementExecuteClientActionBeginOperation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Completed Operation: {0}. + /// + public static string ServiceManagementExecuteClientActionCompletedOperation + { + get + { + return ResourceManager.GetString("ServiceManagementExecuteClientActionCompletedOperation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Begin Operation: {0}. + /// + public static string ServiceManagementExecuteClientActionInOCSBeginOperation + { + get + { + return ResourceManager.GetString("ServiceManagementExecuteClientActionInOCSBeginOperation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Completed Operation: {0}. + /// + public static string ServiceManagementExecuteClientActionInOCSCompletedOperation + { + get + { + return ResourceManager.GetString("ServiceManagementExecuteClientActionInOCSCompletedOperation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to service name. + /// + public static string ServiceName + { + get + { + return ResourceManager.GetString("ServiceName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The provided service name {0} already exists, please pick another name. + /// + public static string ServiceNameExists + { + get + { + return ResourceManager.GetString("ServiceNameExists", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Please provide name for the hosted service. + /// + public static string ServiceNameMissingMessage + { + get + { + return ResourceManager.GetString("ServiceNameMissingMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to service parent directory. + /// + public static string ServiceParentDirectory + { + get + { + return ResourceManager.GetString("ServiceParentDirectory", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Service {0} removed successfully. + /// + public static string ServiceRemovedMessage + { + get + { + return ResourceManager.GetString("ServiceRemovedMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to service directory. + /// + public static string ServiceRoot + { + get + { + return ResourceManager.GetString("ServiceRoot", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to service settings. + /// + public static string ServiceSettings + { + get + { + return ResourceManager.GetString("ServiceSettings", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The storage account name '{0}' is invalid. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.. + /// + public static string ServiceSettings_ValidateStorageAccountName_InvalidName + { + get + { + return ResourceManager.GetString("ServiceSettings_ValidateStorageAccountName_InvalidName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The {0} slot for cloud service {1} doesn't exist.. + /// + public static string ServiceSlotDoesNotExist + { + get + { + return ResourceManager.GetString("ServiceSlotDoesNotExist", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} slot for service {1} is {2}. + /// + public static string ServiceStatusChanged + { + get + { + return ResourceManager.GetString("ServiceStatusChanged", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Set Add-On Confirmation. + /// + public static string SetAddOnConformation + { + get + { + return ResourceManager.GetString("SetAddOnConformation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Profile {0} does not contain endpoint {1}. Adding it.. + /// + public static string SetInexistentTrafficManagerEndpointMessage + { + get + { + return ResourceManager.GetString("SetInexistentTrafficManagerEndpointMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Note - You will be charged the amount for the new plan, without being refunded for time remaining + ///in the existing plan. + ///By typing "Yes", I (a) authorize Microsoft to charge my current payment method on a monthly basis + ///for the amount indicated at {0} for {1} until my service is cancelled or terminated, and (b) + ///agree to the {2}'s terms of user and privacy statement at {0} and (c) agree to sharing my + ///contact information with {2}.. + /// + public static string SetMicrosoftAddOnMessage + { + get + { + return ResourceManager.GetString("SetMicrosoftAddOnMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Note - You will be charged the amount for the new plan, without being refunded for time remaining + ///in the existing plan. + ///By typing "Yes", I (a) authorize Microsoft to charge my current payment method on a monthly basis + ///for the amount indicated at {0} for {1} until my service is cancelled or terminated, and (b) + ///acknowledge the offering is provided by {2}, not Microsoft, and agree to {2}'s terms of + ///use and privacy statement at <url> and (c) agree to sharing my contact information with {2}.. + /// + public static string SetNonMicrosoftAddOnMessage + { + get + { + return ResourceManager.GetString("SetNonMicrosoftAddOnMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Role {0} instances are set to {1}. + /// + public static string SetRoleInstancesMessage + { + get + { + return ResourceManager.GetString("SetRoleInstancesMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {"Slot":"","Location":"","Subscription":"","StorageAccountName":""}. + /// + public static string SettingsFileEmptyContent + { + get + { + return ResourceManager.GetString("SettingsFileEmptyContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to deploymentSettings.json. + /// + public static string SettingsFileName + { + get + { + return ResourceManager.GetString("SettingsFileName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Insufficient parameters passed to create a new endpoint.. + /// + public static string SetTrafficManagerEndpointNeedsParameters + { + get + { + return ResourceManager.GetString("SetTrafficManagerEndpointNeedsParameters", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Ambiguous operation: the profile name specified doesn't match the name of the profile object.. + /// + public static string SetTrafficManagerProfileAmbiguous + { + get + { + return ResourceManager.GetString("SetTrafficManagerProfileAmbiguous", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Please execute the cmdlet again and include the 'Force' parameter, if available, to avoid unnecessary prompts.. + /// + public static string ShouldContinueFail + { + get + { + return ResourceManager.GetString("ShouldContinueFail", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Confirm. + /// + public static string ShouldProcessCaption + { + get + { + return ResourceManager.GetString("ShouldProcessCaption", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Please execute the cmdlet again and omit the 'Confirm' parameter when using the 'AsJob' parameter.. + /// + public static string ShouldProcessFailConfirm + { + get + { + return ResourceManager.GetString("ShouldProcessFailConfirm", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Please increase the user $ConfirmPreference setting, or include turn off confirmation using '-Confirm:$false' when using the 'AsJob' parameter and execute the cmdet again.. + /// + public static string ShouldProcessFailImpact + { + get + { + return ResourceManager.GetString("ShouldProcessFailImpact", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Please execute the cmdlet again and omit the 'WhatIf' parameter when using the 'AsJob' parameter.. + /// + public static string ShouldProcessFailWhatIf + { + get + { + return ResourceManager.GetString("ShouldProcessFailWhatIf", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Shutdown. + /// + public static string Shutdown + { + get + { + return ResourceManager.GetString("Shutdown", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to /sites:{0};{1};"{2}/{0}" . + /// + public static string SitesArgTemplate + { + get + { + return ResourceManager.GetString("SitesArgTemplate", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 1000. + /// + public static string StandardRetryDelayInMs + { + get + { + return ResourceManager.GetString("StandardRetryDelayInMs", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Start. + /// + public static string Start + { + get + { + return ResourceManager.GetString("Start", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Started. + /// + public static string StartedEmulator + { + get + { + return ResourceManager.GetString("StartedEmulator", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Starting Emulator.... + /// + public static string StartingEmulator + { + get + { + return ResourceManager.GetString("StartingEmulator", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to start. + /// + public static string StartStorageEmulatorCommandArgument + { + get + { + return ResourceManager.GetString("StartStorageEmulatorCommandArgument", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Stop. + /// + public static string Stop + { + get + { + return ResourceManager.GetString("Stop", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Stopping emulator.... + /// + public static string StopEmulatorMessage + { + get + { + return ResourceManager.GetString("StopEmulatorMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Stopped. + /// + public static string StoppedEmulatorMessage + { + get + { + return ResourceManager.GetString("StoppedEmulatorMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to stop. + /// + public static string StopStorageEmulatorCommandArgument + { + get + { + return ResourceManager.GetString("StopStorageEmulatorCommandArgument", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Account Name:. + /// + public static string StorageAccountName + { + get + { + return ResourceManager.GetString("StorageAccountName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cannot find storage account '{0}' please type the name of an existing storage account.. + /// + public static string StorageAccountNotFound + { + get + { + return ResourceManager.GetString("StorageAccountNotFound", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to AzureStorageEmulator.exe. + /// + public static string StorageEmulatorExe + { + get + { + return ResourceManager.GetString("StorageEmulatorExe", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to InstallPath. + /// + public static string StorageEmulatorInstallPathRegistryKeyValue + { + get + { + return ResourceManager.GetString("StorageEmulatorInstallPathRegistryKeyValue", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to SOFTWARE\Microsoft\Windows Azure Storage Emulator. + /// + public static string StorageEmulatorRegistryKey + { + get + { + return ResourceManager.GetString("StorageEmulatorRegistryKey", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Primary Key:. + /// + public static string StoragePrimaryKey + { + get + { + return ResourceManager.GetString("StoragePrimaryKey", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Secondary Key:. + /// + public static string StorageSecondaryKey + { + get + { + return ResourceManager.GetString("StorageSecondaryKey", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The subscription named {0} already exists.. + /// + public static string SubscriptionAlreadyExists + { + get + { + return ResourceManager.GetString("SubscriptionAlreadyExists", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The SubscriptionDataFile parameter is deprecated. This parameter will be removed in a future release. See https://github.com/Azure/azure-powershell/wiki/Proposed-Design-Stateless-Azure-Profile for a description of the upcoming mechanism for providing alternate sources of subscription information.. + /// + public static string SubscriptionDataFileDeprecated + { + get + { + return ResourceManager.GetString("SubscriptionDataFileDeprecated", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to DefaultSubscriptionData.xml. + /// + public static string SubscriptionDataFileName + { + get + { + return ResourceManager.GetString("SubscriptionDataFileName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The subscription data file {0} does not exist.. + /// + public static string SubscriptionDataFileNotFound + { + get + { + return ResourceManager.GetString("SubscriptionDataFileNotFound", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The subscription id {0} doesn't exist.. + /// + public static string SubscriptionIdNotFoundMessage + { + get + { + return ResourceManager.GetString("SubscriptionIdNotFoundMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Subscription must not be null. + /// + public static string SubscriptionMustNotBeNull + { + get + { + return ResourceManager.GetString("SubscriptionMustNotBeNull", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Subscription name needs to be specified.. + /// + public static string SubscriptionNameNeedsToBeSpecified + { + get + { + return ResourceManager.GetString("SubscriptionNameNeedsToBeSpecified", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The subscription name {0} doesn't exist.. + /// + public static string SubscriptionNameNotFoundMessage + { + get + { + return ResourceManager.GetString("SubscriptionNameNotFoundMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Subscription needs to be specified.. + /// + public static string SubscriptionNeedsToBeSpecified + { + get + { + return ResourceManager.GetString("SubscriptionNeedsToBeSpecified", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Suspend. + /// + public static string Suspend + { + get + { + return ResourceManager.GetString("Suspend", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Swapping website production slot .... + /// + public static string SwappingWebsite + { + get + { + return ResourceManager.GetString("SwappingWebsite", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to swap the website '{0}' production slot with slot '{1}'?. + /// + public static string SwapWebsiteSlotWarning + { + get + { + return ResourceManager.GetString("SwapWebsiteSlotWarning", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The Switch-AzureMode cmdlet is deprecated and will be removed in a future release.. + /// + public static string SwitchAzureModeDeprecated + { + get + { + return ResourceManager.GetString("SwitchAzureModeDeprecated", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [AzureLongRunningJob]: Starting cmdlet execution, setting for cmdlet confirmation required: '{0}'. + /// + public static string TraceBeginLROJob + { + get + { + return ResourceManager.GetString("TraceBeginLROJob", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [AzureLongRunningJob]: Blocking job for ShouldMethod '{0}'. + /// + public static string TraceBlockLROThread + { + get + { + return ResourceManager.GetString("TraceBlockLROThread", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [AzureLongRunningJob]: Completing cmdlet execution in RunJob. + /// + public static string TraceEndLROJob + { + get + { + return ResourceManager.GetString("TraceEndLROJob", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [AzureLongRunningJob]: State change from '{0}' to '{1}' because '{2}'. + /// + public static string TraceHandleLROStateChange + { + get + { + return ResourceManager.GetString("TraceHandleLROStateChange", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [AzureLongRunningJob]: Unblocking job due to stoppage or failure. + /// + public static string TraceHandlerCancelJob + { + get + { + return ResourceManager.GetString("TraceHandlerCancelJob", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [AzureLongRunningJob]: Unblocking job that was previously blocked.. + /// + public static string TraceHandlerUnblockJob + { + get + { + return ResourceManager.GetString("TraceHandlerUnblockJob", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [AzureLongRunningJob]: Error in cmdlet execution. + /// + public static string TraceLROJobException + { + get + { + return ResourceManager.GetString("TraceLROJobException", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [AzureLongRunningJob]: Removing state changed event handler, exception '{0}'. + /// + public static string TraceRemoveLROEventHandler + { + get + { + return ResourceManager.GetString("TraceRemoveLROEventHandler", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [AzureLongRunningJob]: ShouldMethod '{0}' unblocked.. + /// + public static string TraceUnblockLROThread + { + get + { + return ResourceManager.GetString("TraceUnblockLROThread", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unable to decode string from base 64. Please make sure the string is correctly encoded: {0}.. + /// + public static string UnableToDecodeBase64String + { + get + { + return ResourceManager.GetString("UnableToDecodeBase64String", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unable to update mismatching Json structured: {0} {1}.. + /// + public static string UnableToPatchJson + { + get + { + return ResourceManager.GetString("UnableToPatchJson", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The provider {0} is unknown.. + /// + public static string UnknownProviderMessage + { + get + { + return ResourceManager.GetString("UnknownProviderMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Update. + /// + public static string Update + { + get + { + return ResourceManager.GetString("Update", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Updated settings for subscription '{0}'. Current subscription is '{1}'.. + /// + public static string UpdatedSettings + { + get + { + return ResourceManager.GetString("UpdatedSettings", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to User name is not valid.. + /// + public static string UserNameIsNotValid + { + get + { + return ResourceManager.GetString("UserNameIsNotValid", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to User name needs to be specified.. + /// + public static string UserNameNeedsToBeSpecified + { + get + { + return ResourceManager.GetString("UserNameNeedsToBeSpecified", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to A value for the VLan Id has to be provided.. + /// + public static string VlanIdRequired + { + get + { + return ResourceManager.GetString("VlanIdRequired", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Please wait.... + /// + public static string WaitMessage + { + get + { + return ResourceManager.GetString("WaitMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The azure storage emulator is not installed, skip launching.... + /// + public static string WarningWhenStorageEmulatorIsMissing + { + get + { + return ResourceManager.GetString("WarningWhenStorageEmulatorIsMissing", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Web.cloud.config. + /// + public static string WebCloudConfig + { + get + { + return ResourceManager.GetString("WebCloudConfig", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to web.config. + /// + public static string WebConfigTemplateFileName + { + get + { + return ResourceManager.GetString("WebConfigTemplateFileName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to MSDeploy. + /// + public static string WebDeployKeywordInWebSitePublishProfile + { + get + { + return ResourceManager.GetString("WebDeployKeywordInWebSitePublishProfile", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cannot build the project successfully. Please see logs in {0}.. + /// + public static string WebProjectBuildFailTemplate + { + get + { + return ResourceManager.GetString("WebProjectBuildFailTemplate", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to WebRole. + /// + public static string WebRole + { + get + { + return ResourceManager.GetString("WebRole", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to setup_web.cmd > log.txt. + /// + public static string WebRoleStartupTaskCommandLine + { + get + { + return ResourceManager.GetString("WebRoleStartupTaskCommandLine", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to WebRole.xml. + /// + public static string WebRoleTemplateFileName + { + get + { + return ResourceManager.GetString("WebRoleTemplateFileName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to WebSite with given name {0} already exists in the specified Subscription and Webspace.. + /// + public static string WebsiteAlreadyExists + { + get + { + return ResourceManager.GetString("WebsiteAlreadyExists", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to WebSite with given name {0} already exists in the specified Subscription and Location.. + /// + public static string WebsiteAlreadyExistsReplacement + { + get + { + return ResourceManager.GetString("WebsiteAlreadyExistsReplacement", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Site {0} already has repository created for it.. + /// + public static string WebsiteRepositoryAlreadyExists + { + get + { + return ResourceManager.GetString("WebsiteRepositoryAlreadyExists", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Workspaces/WebsiteExtension/Website/{0}/dashboard/. + /// + public static string WebsiteSufixUrl + { + get + { + return ResourceManager.GetString("WebsiteSufixUrl", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to https://{0}/msdeploy.axd?site={1}. + /// + public static string WebSiteWebDeployUriTemplate + { + get + { + return ResourceManager.GetString("WebSiteWebDeployUriTemplate", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to WorkerRole. + /// + public static string WorkerRole + { + get + { + return ResourceManager.GetString("WorkerRole", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to setup_worker.cmd > log.txt. + /// + public static string WorkerRoleStartupTaskCommandLine + { + get + { + return ResourceManager.GetString("WorkerRoleStartupTaskCommandLine", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to WorkerRole.xml. + /// + public static string WorkerRoleTemplateFileName + { + get + { + return ResourceManager.GetString("WorkerRoleTemplateFileName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to (x86). + /// + public static string x86InProgramFiles + { + get + { + return ResourceManager.GetString("x86InProgramFiles", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Yes. + /// + public static string Yes + { + get + { + return ResourceManager.GetString("Yes", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Yes, I agree. + /// + public static string YesHint + { + get + { + return ResourceManager.GetString("YesHint", resourceCulture); + } + } + } +} diff --git a/swaggerci/billing/generated/runtime/Properties/Resources.resx b/swaggerci/billing/generated/runtime/Properties/Resources.resx new file mode 100644 index 000000000000..598cd53e958a --- /dev/null +++ b/swaggerci/billing/generated/runtime/Properties/Resources.resx @@ -0,0 +1,1741 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + The remote server returned an error: (401) Unauthorized. + + + Account "{0}" has been added. + + + To switch to a different subscription, please use Select-AzureSubscription. + + + Subscription "{0}" is selected as the default subscription. + + + To view all the subscriptions, please use Get-AzureSubscription. + + + Add-On {0} is created successfully. + + + Add-on name {0} is already used. + + + Add-On {0} not found. + + + Add-on {0} is removed successfully. + + + Add-On {0} is updated successfully. + + + Role has been created at {0}\{1}. + + + Role has been created at {0}\{1}. For easy access to Microsoft Azure services from your application code, install the Microsoft Azure client library for Node.js by running ‘npm install azure’. + + + Role has been created at {0}\{1}. For easy access to Microsoft Azure services from your application code, install the Microsoft Azure client library for PHP by running "pear WindowsAzure/WindowsAzure". + + + Unable to set role permissions. Please give the 'Network Service' user 'Read & execute' and 'Modify' permissions to the role folder, or run PowerShell as an Administrator + + + A role name '{0}' already exists + + + Windows Azure Powershell\ + + + https://manage.windowsazure.com + + + AZURE_PORTAL_URL + + + Azure SDK\{0}\ + + + Base Uri was empty. + WAPackIaaS + + + {0} begin processing without ParameterSet. + + + {0} begin processing with ParameterSet '{1}'. + + + Blob with the name {0} already exists in the account. + + + https://{0}.blob.core.windows.net/ + + + AZURE_BLOBSTORAGE_TEMPLATE + + + CACHERUNTIMEURL + + + cache + + + CacheRuntimeVersion + + + Installing caching version {0} for Role '{1}' (the caching version locally installed is: {2}) + + + Cannot find {0} with name {1}. + + + Deployment for service {0} with {1} slot doesn't exist + + + Can't find valid Microsoft Azure role in current directory {0} + + + service {0} configuration file (ServiceConfiguration.Cloud.cscfg) is either null or doesn't exist + + + Invalid service path! Cannot locate ServiceDefinition.csdef in current folder or parent folders. + + + The subscription named {0} with id {1} is not currently imported. You must import this subscription before it can be updated. + + + ManagementCertificate + + + certificate.pfx + + + Certificate imported into CurrentUser\My\{0} + + + Your account does not have access to the private key for certificate {0} + + + {0} {1} deployment for {2} service + + + Cloud service {0} is in {1} state. + + + Changing/Removing public environment '{0}' is not allowed. + + + Service {0} is set to value {1} + + + Choose which publish settings file to use: + + + Microsoft.WindowsAzure.Plugins.Caching.ClientDiagnosticLevel + + + 1 + + + cloud_package.cspkg + + + ServiceConfiguration.Cloud.cscfg + + + Add-ons for {0} + + + Communication could not be established. This could be due to an invalid subscription ID. Note that subscription IDs are case sensitive. + + + Complete + + + config.json + + + VirtualMachine creation failed. + WAPackIaaS + + + Creating the website failed. If this is the first website for this subscription, please create it using the management portal instead. + + + Microsoft.ApplicationServer.Caching.DataCacheClientsSection, Microsoft.ApplicationServer.Caching.Core + + + //blobcontainer[@datacenter='{0}'] + + + Setting: {0} as the default and current subscription. To view other subscriptions use Get-AzureSubscription + + + none + + + There are no hostnames which could be used for validation. + + + 8080 + + + 1000 + + + Auto + + + 80 + + + Delete + WAPackIaaS + + + The {0} slot for service {1} is already in {2} state + + + The deployment in {0} slot for service {1} is removed + + + Microsoft.WindowsAzure.Plugins.Caching.DiagnosticLevel + + + 1 + + + The key to add already exists in the dictionary. + + + The array index cannot be less than zero. + + + The supplied array does not have enough room to contain the copied elements. + + + The provided dns {0} doesn't exist + + + Microsoft Azure Certificate + + + Endpoint can't be retrieved for storage account + + + {0} end processing. + + + To use Active Directory authentication, you must configure the ActiveDirectoryEndpoint, ActiveDirectoryTenantId, and ActiveDirectorServiceEndpointResourceId for environment of '{0}'. You can configure these properties for this environment using the Set-AzureEnvironment cmdlet. + + + The environment '{0}' already exists. + + + environments.xml + + + Error creating VirtualMachine + WAPackIaaS + + + Unable to download available runtimes for location '{0}' + + + Error updating VirtualMachine + WAPackIaaS + + + Job Id {0} failed. Error: {1}, ExceptionDetails: {2} + WAPackIaaS + + + The HTTP request was forbidden with client authentication scheme 'Anonymous'. + + + This add-on requires you to purchase the first instance through the Microsoft Azure Portal. Subsequent purchases can be performed through PowerShell. + + + Operation Status: + + + Resources\Scaffolding\General + + + Getting all available Microsoft Azure Add-Ons, this may take few minutes... + + + Name{0}Primary Key{0}Seconday Key + + + Git not found. Please install git and place it in your command line path. + + + Could not find publish settings. Please run Import-AzurePublishSettingsFile. + + + iisnode.dll + + + iisnode + + + iisnode-dev\\release\\x64 + + + iisnode + + + Installing IISNode version {0} in Azure for WebRole '{1}' (the version locally installed is: {2}) + + + Internal Server Error + + + Cannot enable memcach protocol on a cache worker role {0}. + + + Invalid certificate format. + + + The provided configuration path is invalid or doesn't exist + + + The country name is invalid, please use a valid two character country code, as described in ISO 3166-1 alpha-2. + + + Deployment with {0} does not exist + + + The deployment slot name {0} is invalid. Slot name must be either "Staging" or "Production". + + + Invalid service endpoint. + + + File {0} has invalid characters + + + You must create your git publishing credentials using the Microsoft Azure portal. +Please follow these steps in the portal: +1. On the left side open "Web Sites" +2. Click on any website +3. Choose "Setup Git Publishing" or "Reset deployment credentials" +4. Back in the PowerShell window, rerun this command by typing "New-AzureWebSite {site name} -Git -PublishingUsername {username} + + + The value {0} provided is not a valid GUID. Please provide a valid GUID. + + + The specified hostname does not exist. Please specify a valid hostname for the site. + + + Role {0} instances must be greater than or equal 0 and less than or equal 20 + + + There was an error creating your webjob. Please make sure that the script is in the root folder of the zip file. + + + Could not download a valid runtime manifest, Please check your internet connection and try again. + + + The account {0} was not found. Please specify a valid account name. + + + The provided name "{0}" does not match the service bus namespace naming rules. + + + Value cannot be null. Parameter name: '{0}' + + + The provided package path is invalid or doesn't exist + + + '{0}' is an invalid parameter set name. + + + {0} doesn't exist in {1} or you've not passed valid value for it + + + Path {0} has invalid characters + + + The provided publish settings file {0} has invalid content. Please get valid by running cmdlet Get-AzurePublishSettingsFile + + + The provided role name "{0}" has invalid characters + + + A valid name for the service root folder is required + + + {0} is not a recognized runtime type + + + A valid language is required + + + No subscription is currently selected. Use Select-Subscription to activate a subscription. + + + The provided location "{0}" does not exist in the available locations use Get-AzureSBLocation for listing available locations. + + + Please provide a service name or run this command from inside a service project directory. + + + You must provide valid value for {0} + + + settings.json is invalid or doesn't exist + + + The subscription named '{0}' cannot be found. Use Set-AzureSubscription to initialize the subscription data. + + + The provided subscription id {0} is not valid + + + A valid subscription name is required. This can be provided using the -Subscription parameter or by setting the subscription via the Set-AzureSubscription cmdlet + + + The provided subscriptions file {0} has invalid content. + + + Role {0} VM size should be ExtraSmall, Small, Medium, Large or ExtraLarge. + + + The web job file must have *.zip extension + + + Singleton option works for continuous jobs only. + + + The website {0} was not found. Please specify a valid website name. + + + No job for id: {0} was found. + WAPackIaaS + + + engines + + + Scaffolding for this language is not yet supported + + + Link already established + + + local_package.csx + + + ServiceConfiguration.Local.cscfg + + + Looking for {0} deployment for {1} cloud service... + + + Looking for cloud service {0}... + + + managementCertificate.pem + + + ?whr={0} + + + //baseuri + + + uri + + + http://az413943.vo.msecnd.net/node/runtimemanifest_0.7.5.2.xml + + + Multiple Add-Ons found holding name {0} + + + Multiple possible publishing users. Please go to the Portal and use the listed deployment user, or click 'set/reset deployment credentials' to set up a new user account, then reurn this cmdlet and specify PublishingUsername. + + + The first publish settings file "{0}" is used. If you want to use another file specify the file name. + + + Microsoft.WindowsAzure.Plugins.Caching.NamedCaches + + + {"caches":[{"name":"default","policy":{"eviction":{"type":0},"expiration":{"defaultTTL":10,"isExpirable":true,"type":1},"serverNotification":{"isEnabled":false}},"secondaries":0}]} + + + A publishing username is required. Please specify one using the argument PublishingUsername. + + + New Add-On Confirmation + + + By typing "Yes", I (a) authorize Microsoft to charge my current payment method on a monthly basis +for the amount indicated at {0} for {1} until my service is cancelled or terminated, and (b) +agree to the {2}'s terms of user and privacy statement at {0} and (c) agree to sharing my +contact information with {2}. + + + Internal Server Error. This could happen because the namespace name is already used or due to an incorrect location name. Use Get-AzureSBLocation cmdlet to list valid names. + + + By typing "Yes", I (a) authorize Microsoft to charge my current payment method on a monthly basis +for the amount indicated at {0} for {1} until my service is cancelled or terminated, and (b) +acknowledge the offering is provided by {2}, not Microsoft, and agree to {2}'s terms of +use and privacy statement at {0} and (c) agree to sharing my contact information with {2}. + + + Service has been created at {0} + + + No + + + There is no access token cached for subscription {0}, user id {1}. Use the Add-AzureAccount cmdlet to log in again and get a token for this subscription. + + + The service does not have any cache worker roles, add one first by running cmdlet Add-AzureCacheWorkerRole. + + + No clouds available + WAPackIaaS + + + nodejs + + + node + + + node.exe + + + There is no default subscription set, please set a default subscription by running Set-AzureSubscription -Default <subscription name> + + + Microsoft SDKs\Azure\Nodejs\Nov2011 + + + nodejs + + + node + + + Resources\Scaffolding\Node + + + Microsoft.WindowsAzure.Commands.CloudService.ScaffoldingResources.Node + + + Installing Node version {0} in Azure for Role '{1}' (the Node version locally installed is: {2}) + + + No, I do not agree + + + No publish settings files with extension *.publishsettings are found in the directory "{0}". + + + '{0}' must be a cache worker role. Verify that it has proper cache worker role configuration. + + + Certificate can't be null. + + + {0} could not be null or empty + + + Unable to add a null RoleSettings to {0} + + + Unable to add new role to null service definition + + + The request offer '{0}' is not found. + + + Operation "{0}" failed on VM with ID: {1} + WAPackIaaS + + + The REST operation failed with message '{0}' and error code '{1}' + + + Job Id {0} did not complete within expected time or it is in Failed/Canceled/Invalid state. + WAPackIaaS + + + package + + + Package is created at service root path {0}. + + + {{ + "author": "", + + "name": "{0}", + "version": "0.0.0", + "dependencies":{{}}, + "devDependencies":{{}}, + "optionalDependencies": {{}}, + "engines": {{ + "node": "*", + "iisnode": "*" + }} + +}} + + + + package.json + + + A value for the Peer Asn has to be provided. + + + 5.4.0 + + + php + + + Resources\Scaffolding\PHP + + + Microsoft.WindowsAzure.Commands.CloudService.ScaffoldingResources.PHP + + + Installing PHP version {0} for Role '{1}' (the PHP version locally installed is: {2}) + + + You must create your first web site using the Microsoft Azure portal. +Please follow these steps in the portal: +1. At the bottom of the page, click on New > Web Site > Quick Create +2. Type {0} in the URL field +3. Click on "Create Web Site" +4. Once the site has been created, click on the site name +5. Click on "Set up Git publishing" or "Reset deployment credentials" and setup a publishing username and password. Use those credentials for all new websites you create. + + + 6. Back in the console window, rerun this command by typing "New-AzureWebsite <site name> -Git" + + + A value for the Primary Peer Subnet has to be provided. + + + Promotion code can be used only when updating to a new plan. + + + Service not published at user request. + + + Complete. + + + Connecting... + + + Created Deployment ID: {0}. + + + Created hosted service '{0}'. + + + Created Website URL: {0}. + + + Creating... + + + Initializing... + + + busy + + + creating the virtual machine + + + Instance {0} of role {1} is {2}. + + + ready + + + Preparing deployment for {0} with Subscription ID: {1}... + + + Publishing {0} to Microsoft Azure. This may take several minutes... + + + publish settings + + + Azure + + + .PublishSettings + + + publishSettings.xml + + + Publish settings imported + + + AZURE_PUBLISHINGPROFILE_URL + + + Starting... + + + Upgrading... + + + Uploading Package to storage service {0}... + + + Verifying storage account '{0}'... + + + Replace current deployment with '{0}' Id ? + + + Are you sure you want to regenerate key? + + + Generate new key. + + + Are you sure you want to remove account '{0}'? + + + Removing account + + + Remove Add-On Confirmation + + + If you delete this add-on, your data may be deleted and the operation may not be undone. You may have to purchase it again from the Microsoft Azure Store to use it. The price of the add-on may not be refunded. Are you sure you want to delete this add-on? Enter “Yes” to confirm. + + + Remove-AzureBGPPeering Operation failed. + + + Removing Bgp Peering + + + Successfully removed Azure Bgp Peering with Service Key {0}. + + + Are you sure you want to remove the Bgp Peering with service key '{0}'? + + + Are you sure you want to remove the Dedicated Circuit with service key '{0}'? + + + Remove-AzureDedicatedCircuit Operation failed. + + + Remove-AzureDedicatedCircuitLink Operation failed. + + + Removing Dedicated Circui Link + + + Successfully removed Azure Dedicated Circuit Link with Service Key {0} and Vnet Name {1} + + + Are you sure you want to remove the Dedicated Circuit Link with service key '{0}' and virtual network name '{1}'? + + + Removing Dedicated Circuit + + + Successfully removed Azure Dedicated Circuit with Service Key {0}. + + + Removing cloud service {0}... + + + Removing {0} deployment for {1} service + + + Removing job collection + + + Are you sure you want to remove the job collection "{0}" + + + Removing job + + + Are you sure you want to remove the job "{0}" + + + Are you sure you want to remove the account? + + + Account removed. + + + Internal Server Error. This could happen because the namespace does not exist or it does not exist under your subscription. + + + Removing old package {0}... + + + Are you sure you want to delete the namespace '{0}'? + + + Are you sure you want to remove cloud service? + + + Remove cloud service and all it's deployments + + + Are you sure you want to remove subscription '{0}'? + + + Removing subscription + + + Are you sure you want to delete the VM '{0}'? + + + Deleting VM. + + + Removing WebJob... + + + Are you sure you want to remove job '{0}'? + + + Removing website + + + Are you sure you want to remove the website "{0}" + + + Deleting namespace + + + Repository is not setup. You need to pass a valid site name. + + + Reserved IP with the Name:'{0}' will no longer be in use after the deployment is deleted, and it is still reserved for later use. + + + Resource with ID : {0} does not exist. + WAPackIaaS + + + Restart + WAPackIaaS + + + Resume + WAPackIaaS + + + /role:{0};"{1}/{0}" + + + bin + + + Role {0} is {1} + + + 20 + + + role name + + + The provided role name {0} doesn't exist + + + RoleSettings.xml + + + Role type {0} doesn't exist + + + public static Dictionary<string, Location> ReverseLocations { get; private set; } + + + Preparing runtime deployment for service '{0}' + + + WARNING Runtime Mismatch: Are you sure that you want to publish service '{0}' using an Azure runtime version that does not match your local runtime version? + + + RUNTIMEOVERRIDEURL + + + /runtimemanifest/runtimes/runtime + + + RUNTIMEID + + + RUNTIMEURL + + + RUNTIMEVERSIONPRIMARYKEY + + + scaffold.xml + + + Invalid location entered. Pick one of the locations from Get-AzureSchedulerLocation + + + A value for the Secondary Peer Subnet has to be provided. + + + Service {0} already exists on disk in location {1} + + + No ServiceBus authorization rule with the given characteristics was found + + + The service bus entity '{0}' is not found. + + + Internal Server Error. This could happen due to an incorrect/missing namespace + + + service configuration + + + service definition + + + ServiceDefinition.csdef + + + {0}Deploy + + + The specified cloud service "{0}" does not exist. + + + {0} slot for service {1} is in {2} state, please wait until it finish and update it's status + + + Begin Operation: {0} + + + Completed Operation: {0} + + + Begin Operation: {0} + + + Completed Operation: {0} + + + service name + + + Please provide name for the hosted service + + + service parent directory + + + Service {0} removed successfully + + + service directory + + + service settings + + + The storage account name '{0}' is invalid. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. + + + The {0} slot for cloud service {1} doesn't exist. + + + {0} slot for service {1} is {2} + + + Set Add-On Confirmation + + + Note - You will be charged the amount for the new plan, without being refunded for time remaining +in the existing plan. +By typing "Yes", I (a) authorize Microsoft to charge my current payment method on a monthly basis +for the amount indicated at {0} for {1} until my service is cancelled or terminated, and (b) +agree to the {2}'s terms of user and privacy statement at {0} and (c) agree to sharing my +contact information with {2}. + + + Note - You will be charged the amount for the new plan, without being refunded for time remaining +in the existing plan. +By typing "Yes", I (a) authorize Microsoft to charge my current payment method on a monthly basis +for the amount indicated at {0} for {1} until my service is cancelled or terminated, and (b) +acknowledge the offering is provided by {2}, not Microsoft, and agree to {2}'s terms of +use and privacy statement at <url> and (c) agree to sharing my contact information with {2}. + + + Role {0} instances are set to {1} + + + {"Slot":"","Location":"","Subscription":"","StorageAccountName":""} + + + deploymentSettings.json + + + Confirm + + + Shutdown + WAPackIaaS + + + /sites:{0};{1};"{2}/{0}" + + + 1000 + + + Start + WAPackIaaS + + + Started + + + Starting Emulator... + + + start + + + Stop + WAPackIaaS + + + Stopping emulator... + + + Stopped + + + stop + + + Account Name: + + + Cannot find storage account '{0}' please type the name of an existing storage account. + + + AzureStorageEmulator.exe + + + InstallPath + + + SOFTWARE\Microsoft\Windows Azure Storage Emulator + + + Primary Key: + + + Secondary Key: + + + The subscription named {0} already exists. + + + DefaultSubscriptionData.xml + + + The subscription data file {0} does not exist. + + + Subscription must not be null + WAPackIaaS + + + Suspend + WAPackIaaS + + + Swapping website production slot ... + + + Are you sure you want to swap the website '{0}' production slot with slot '{1}'? + + + The provider {0} is unknown. + + + Update + WAPackIaaS + + + Updated settings for subscription '{0}'. Current subscription is '{1}'. + + + A value for the VLan Id has to be provided. + + + Please wait... + + + The azure storage emulator is not installed, skip launching... + + + Web.cloud.config + + + web.config + + + MSDeploy + + + Cannot build the project successfully. Please see logs in {0}. + + + WebRole + + + setup_web.cmd > log.txt + + + WebRole.xml + + + WebSite with given name {0} already exists in the specified Subscription and Webspace. + + + WebSite with given name {0} already exists in the specified Subscription and Location. + + + Site {0} already has repository created for it. + + + Workspaces/WebsiteExtension/Website/{0}/dashboard/ + + + https://{0}/msdeploy.axd?site={1} + + + WorkerRole + + + setup_worker.cmd > log.txt + + + WorkerRole.xml + + + Yes + + + Yes, I agree + + + Remove-AzureTrafficManagerProfile Operation failed. + + + Successfully removed Traffic Manager profile with name {0}. + + + Are you sure you want to remove the Traffic Manager profile "{0}"? + + + Profile {0} already has an endpoint with name {1} + + + Profile {0} does not contain endpoint {1}. Adding it. + + + The endpoint {0} cannot be removed from profile {1} because it's not in the profile. + + + Insufficient parameters passed to create a new endpoint. + + + Ambiguous operation: the profile name specified doesn't match the name of the profile object. + + + <NONE> + + + "An exception occurred when calling the ServiceManagement API. HTTP Status Code: {0}. Service Management Error Code: {1}. Message: {2}. Operation Tracking ID: {3}." + {0} is the HTTP status code. {1} is the Service Management Error Code. {2} is the Service Management Error message. {3} is the operation tracking ID. + + + Unable to decode string from base 64. Please make sure the string is correctly encoded: {0}. + {0} is the string that is not in a valid base 64 format. + + + Skipping external tenant {0}, because you are using a guest or a foreign principal object identity. In order to access this tenant, please run Add-AzureAccount without "-Credential". + + + Removing an environment will remove all associated subscriptions and accounts. Are you sure you want to remove an environment '{0}'? + + + Removing environment + + + There is no subscription associated with account {0}. + + + Account id doesn't match one in subscription. + + + Environment name doesn't match one in subscription. + + + Removing the Azure profile will remove all associated environments, subscriptions, and accounts. Are you sure you want to remove the Azure profile? + + + Removing the Azure profile + + + The SubscriptionDataFile parameter is deprecated. This parameter will be removed in a future release. See https://github.com/Azure/azure-powershell/wiki/Proposed-Design-Stateless-Azure-Profile for a description of the upcoming mechanism for providing alternate sources of subscription information. + + + Account needs to be specified + + + No default subscription has been designated. Use Select-AzureSubscription -Default <subscriptionName> to set the default subscription. + + + Path must specify a valid path to an Azure profile. + + + Property bag Hashtable must contain one of the following sets of properties: {SubscriptionId, Certificate}, {SubscriptionId, Username, Password}, {SubscriptionId, ServicePrincipal, Password, Tenant}, {SubscriptionId, AccountId, Token} + + + Property bag Hashtable must contain a 'Certificate' of type 'X509Certificate2'. + + + Property bag Hashtable must contain a 'Password' with an associated 'Username' or 'ServicePrincipal'. + + + Property bag Hashtable must contain a 'SubscriptionId'. + + + Selected profile must not be null. + + + The Switch-AzureMode cmdlet is deprecated and will be removed in a future release. + + + OperationID : '{0}' + + + Cannot get module for DscResource '{0}'. Possible solutions: +1) Specify -ModuleName for Import-DscResource in your configuration. +2) Unblock module that contains resource. +3) Move Import-DscResource inside Node block. + + 0 = name of DscResource + + + Your current PowerShell version {1} is less then required by this cmdlet {0}. Consider download and install latest PowerShell version. + {0} = minimal required PS version, {1} = current PS version + + + Parsing configuration script: {0} + {0} is the path to a script file + + + Configuration script '{0}' contained parse errors: +{1} + 0 = path to the configuration script, 1 = parser errors + + + List of required modules: [{0}]. + {0} = list of modules + + + Temp folder '{0}' created. + {0} = temp folder path + + + Copy '{0}' to '{1}'. + {0} = source, {1} = destination + + + Copy the module '{0}' to '{1}'. + {0} = source, {1} = destination + + + File '{0}' already exists. Use the -Force parameter to overwrite it. + {0} is the path to a file + + + Configuration file '{0}' not found. + 0 = path to the configuration file + + + Path '{0}' not found. + 0 = path to the additional content file/directory + + + Path '{0}' not found. + 0 = path to the additional content file/directory + + + Invalid configuration file: {0}. +The file needs to be a PowerShell script (.ps1 or .psm1) or a ZIP archive (.zip). + 0 = path to the configuration file + + + Invalid configuration file: {0}. +The file needs to be a PowerShell script (.ps1 or .psm1). + 0 = path to the configuration file + + + Create Archive + + + Upload '{0}' + {0} is the name of an storage blob + + + Storage Blob '{0}' already exists. Use the -Force parameter to overwrite it. + {0} is the name of an storage blob + + + Configuration published to {0} + {0} is an URI + + + Deleted '{0}' + {0} is the path of a file + + + Cannot delete '{0}': {1} + {0} is the path of a file, {1} is an error message + + + Cannot find the WadCfg end element in the config. + + + WadCfg start element in the config is not matching the end element. + + + Cannot find the WadCfg element in the config. + + + Cannot find configuration data file: {0} + + + The configuration data must be a .psd1 file + + + Cannot change built-in environment {0}. + + + Azure PowerShell collects usage data in order to improve your experience. +The data is anonymous and does not include commandline argument values. +The data is collected by Microsoft. + +Use the Disable-AzDataCollection cmdlet to turn the feature Off. The cmdlet can be found in the Az.Accounts module. To disable data collection: PS > Disable-AzDataCollection. +Use the Enable-AzDataCollection cmdlet to turn the feature On. The cmdlet can be found in the Az.Accounts module. To enable data collection: PS > Enable-AzDataCollection. + + + Microsoft Azure PowerShell Data Collection Confirmation + + + You choose not to participate in Microsoft Azure PowerShell data collection. + + + This confirmation message will be dismissed in '{0}' second(s)... + + + You choose to participate in Microsoft Azure PowerShell data collection. + + + The setting profile has been saved to the following path '{0}'. + + + [Common.Authentication]: Authenticating for account {0} with single tenant {1}. + + + Changing public environment is not supported. + + + Environment name needs to be specified. + + + Environment needs to be specified. + + + The environment name '{0}' is not found. + + + File path is not valid. + + + Must specify a non-null subscription name. + + + The default subscription is being removed. Use Select-AzureSubscription -Default <subscriptionName> to select a new default subscription. + + + Removing public environment is not supported. + + + The subscription id {0} doesn't exist. + + + Subscription name needs to be specified. + + + The subscription name {0} doesn't exist. + + + Subscription needs to be specified. + + + User name is not valid. + + + User name needs to be specified. + + + "There is no current context, please log in using Connect-AzAccount." + + + No subscriptions are associated with the logged in account in Azure Service Management (RDFE). This means that the logged in user is not an administrator or co-administrator for any account.\r\nDid you mean to execute Connect-AzAccount? + + + No certificate was found in the certificate store with thumbprint {0} + + + Illegal characters in path. + + + Invalid certificate format. Publish settings may be corrupted. Use Get-AzurePublishSettingsFile to download updated settings + + + "{0}" is an invalid DNS name for {1} + + + The provided file in {0} must be have {1} extension + + + {0} is invalid or empty + + + Please connect to internet before executing this cmdlet + + + Path {0} doesn't exist. + + + Path for {0} doesn't exist in {1}. + + + &whr={0} + + + The provided service name {0} already exists, please pick another name + + + Unable to update mismatching Json structured: {0} {1}. + + + (x86) + + + Azure PowerShell collects usage data in order to improve your experience. +The data is anonymous and does not include commandline argument values. +The data is collected by Microsoft. + +Use the Disable-AzureDataCollection cmdlet to turn the feature Off. The cmdlet can be found in the Azure module. To disable data collection: PS > Disable-AzureDataCollection. +Use the Enable-AzureDataCollection cmdlet to turn the feature On. The cmdlet can be found in the Azure module. To enable data collection: PS > Enable-AzureDataCollection. + + + Execution failed because a background thread could not prompt the user. + + + Azure Long-Running Job + + + The cmdlet failed in background execution. The returned error was '{0}'. Please execute the cmdlet again. You may need to execute this cmdlet synchronously, by omitting the '-AsJob' parameter. + 0(string): exception message in background task + + + Please execute the cmdlet again and include the 'Force' parameter, if available, to avoid unnecessary prompts. + + + Please execute the cmdlet again and omit the 'Confirm' parameter when using the 'AsJob' parameter. + + + Please increase the user $ConfirmPreference setting, or include turn off confirmation using '-Confirm:$false' when using the 'AsJob' parameter and execute the cmdet again. + + + Please execute the cmdlet again and omit the 'WhatIf' parameter when using the 'AsJob' parameter. + + + [AzureLongRunningJob]: Starting cmdlet execution, setting for cmdlet confirmation required: '{0}' + 0(bool): whether cmdlet confirmation is required + + + [AzureLongRunningJob]: Blocking job for ShouldMethod '{0}' + 0(string): method type + + + [AzureLongRunningJob]: Completing cmdlet execution in RunJob + + + [AzureLongRunningJob]: State change from '{0}' to '{1}' because '{2}' + 0(string): last state, 1(string): new state, 2(string): state change reason + + + [AzureLongRunningJob]: Unblocking job due to stoppage or failure + + + [AzureLongRunningJob]: Unblocking job that was previously blocked. + + + [AzureLongRunningJob]: Error in cmdlet execution + + + [AzureLongRunningJob]: Removing state changed event handler, exception '{0}' + 0(string): exception message + + + [AzureLongRunningJob]: ShouldMethod '{0}' unblocked. + 0(string): methodType + + + +- The parameter : '{0}' is changing. + + + +- The parameter : '{0}' is becoming mandatory. + + + +- The parameter : '{0}' is being replaced by parameter : '{1}'. + + + +- The parameter : '{0}' is being replaced by mandatory parameter : '{1}'. + + + +- Change description : {0} + + + The cmdlet is being deprecated. There will be no replacement for it. + + + The cmdlet parameter set is being deprecated. There will be no replacement for it. + + + The cmdlet '{0}' is replacing this cmdlet. + + + +- The output type is changing from the existing type :'{0}' to the new type :'{1}' + + + +- The output type '{0}' is changing + + + +- The following properties are being added to the output type : + + + +- The following properties in the output type are being deprecated : + + + {0} + + + +- Cmdlet : '{0}' + - {1} + + + Upcoming breaking changes in the cmdlet '{0}' : + + + +- This change will take effect on '{0}' + + + +- The change is expected to take effect from the version : '{0}' + + + ```powershell +# Old +{0} + +# New +{1} +``` + + + + +Cmdlet invocation changes : + Old Way : {0} + New Way : {1} + + + +The output type '{0}' is being deprecated without a replacement. + + + +The type of the parameter is changing from '{0}' to '{1}'. + + + +Note : Go to {0} for steps to suppress this breaking change warning, and other information on breaking changes in Azure PowerShell. + + + This cmdlet is in preview. The functionality may not be available in the selected subscription. + + \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Response.cs b/swaggerci/billing/generated/runtime/Response.cs new file mode 100644 index 000000000000..477433bf55e7 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Response.cs @@ -0,0 +1,27 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime +{ + using System; + using System.Threading.Tasks; + public class Response : EventData + { + public Response() : base() + { + } + } + + public class Response : Response + { + private Func> _resultDelegate; + private Task _resultValue; + + public Response(T value) : base() => _resultValue = Task.FromResult(value); + public Response(Func value) : base() => _resultDelegate = () => Task.FromResult(value()); + public Response(Func> value) : base() => _resultDelegate = value; + public Task Result => _resultValue ?? (_resultValue = this._resultDelegate()); + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Serialization/JsonSerializer.cs b/swaggerci/billing/generated/runtime/Serialization/JsonSerializer.cs new file mode 100644 index 000000000000..d7ac9c71eae5 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Serialization/JsonSerializer.cs @@ -0,0 +1,350 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections; +using System.Collections.Generic; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + internal class JsonSerializer + { + private int depth = 0; + + private SerializationOptions options = new SerializationOptions(); + + #region Deserialization + + internal T Deseralize(JsonObject json) + where T : new() + { + var contract = JsonModelCache.Get(typeof(T)); + + return (T)DeserializeObject(contract, json); + } + + internal object DeserializeObject(JsonModel contract, JsonObject json) + { + var instance = Activator.CreateInstance(contract.Type); + + depth++; + + // Ensure we don't recurse forever + if (depth > 5) throw new Exception("Depth greater than 5"); + + foreach (var field in json) + { + var member = contract[field.Key]; + + if (member != null) + { + var value = DeserializeValue(member, field.Value); + + member.SetValue(instance, value); + } + } + + depth--; + + return instance; + } + + private object DeserializeValue(JsonMember member, JsonNode value) + { + if (value.Type == JsonType.Null) return null; + + var type = member.Type; + + if (member.IsStringLike && value.Type != JsonType.String) + { + // Take the long path... + return DeserializeObject(JsonModelCache.Get(type), (JsonObject)value); + } + else if (member.Converter != null) + { + return member.Converter.FromJson(value); + } + else if (type.IsArray) + { + return DeserializeArray(type, (JsonArray)value); + } + else if (member.IsList) + { + return DeserializeList(type, (JsonArray)value); + } + else + { + var contract = JsonModelCache.Get(type); + + return DeserializeObject(contract, (JsonObject)value); + } + } + + private object DeserializeValue(Type type, JsonNode value) + { + if (type == null) throw new ArgumentNullException(nameof(type)); + + if (value.Type == JsonType.Null) return null; + + var typeDetails = TypeDetails.Get(type); + + if (typeDetails.JsonConverter != null) + { + return typeDetails.JsonConverter.FromJson(value); + } + else if (typeDetails.IsEnum) + { + return Enum.Parse(type, value.ToString(), ignoreCase: true); + } + else if (type.IsArray) + { + return DeserializeArray(type, (JsonArray)value); + } + else if (typeDetails.IsList) + { + return DeserializeList(type, (JsonArray)value); + } + else + { + var contract = JsonModelCache.Get(type); + + return DeserializeObject(contract, (JsonObject)value); + } + } + + internal Array DeserializeArray(Type type, JsonArray elements) + { + var elementType = type.GetElementType(); + + var elementTypeDetails = TypeDetails.Get(elementType); + + var array = Array.CreateInstance(elementType, elements.Count); + + int i = 0; + + if (elementTypeDetails.JsonConverter != null) + { + foreach (var value in elements) + { + array.SetValue(elementTypeDetails.JsonConverter.FromJson(value), i); + + i++; + } + } + else + { + foreach (var value in elements) + { + array.SetValue(DeserializeValue(elementType, value), i); + + i++; + } + } + + return array; + } + + internal IList DeserializeList(Type type, JsonArray jsonArray) + { + // TODO: Handle non-generic types + if (!type.IsGenericType) + throw new ArgumentException("Must be a generic type", nameof(type)); + + var elementType = type.GetGenericArguments()[0]; + + IList list; + + if (type.IsInterface) + { + // Create a concrete generic list + list = (IList)Activator.CreateInstance(typeof(List<>).MakeGenericType(elementType)); + } + else + { + list = (IList)Activator.CreateInstance(type); + } + + foreach (var value in jsonArray) + { + list.Add(DeserializeValue(elementType, value)); + } + + return list; + } + + #endregion + + #region Serialization + + internal JsonNode Serialize(object instance) => + Serialize(instance, SerializationOptions.Default); + + internal JsonNode Serialize(object instance, string[] include) => + Serialize(instance, new SerializationOptions { Include = include }); + + internal JsonNode Serialize(object instance, SerializationOptions options) + { + this.options = options; + + if (instance == null) + { + return XNull.Instance; + } + + return ReadValue(instance.GetType(), instance); + } + + #region Readers + + internal JsonArray ReadArray(IEnumerable collection) + { + var array = new XNodeArray(); + + foreach (var item in collection) + { + array.Add(ReadValue(item.GetType(), item)); + } + + return array; + } + + internal IEnumerable> ReadProperties(object instance) + { + var contract = JsonModelCache.Get(instance.GetType()); + + foreach (var member in contract.Members) + { + string name = member.Name; + + if (options.PropertyNameTransformer != null) + { + name = options.PropertyNameTransformer.Invoke(name); + } + + // Skip the field if it's not included + if ((depth == 1 && !options.IsIncluded(name))) + { + continue; + } + + var value = member.GetValue(instance); + + if (!member.EmitDefaultValue && (value == null || (member.IsList && ((IList)value).Count == 0) || value.Equals(member.DefaultValue))) + { + continue; + } + else if (options.IgnoreNullValues && value == null) // Ignore null values + { + continue; + } + + // Transform the value if there is one + if (options.Transformations != null) + { + var transform = options.GetTransformation(name); + + if (transform != null) + { + value = transform.Transformer(value); + } + } + + yield return new KeyValuePair(name, ReadValue(member.TypeDetails, value)); + } + } + + private JsonObject ReadObject(object instance) + { + depth++; + + // TODO: Guard against a self referencing graph + if (depth > options.MaxDepth) + { + depth--; + + return new JsonObject(); + } + + var node = new JsonObject(ReadProperties(instance)); + + depth--; + + return node; + } + + private JsonNode ReadValue(Type type, object value) + { + if (value == null) + { + return XNull.Instance; + } + + var member = TypeDetails.Get(type); + + return ReadValue(member, value); + } + + private JsonNode ReadValue(TypeDetails type, object value) + { + if (value == null) + { + return XNull.Instance; + } + + if (type.JsonConverter != null) + { + return type.JsonConverter.ToJson(value); + } + else if (type.IsArray) + { + switch (Type.GetTypeCode(type.ElementType)) + { + case TypeCode.String: return CreateArray((string[])value); + case TypeCode.UInt16: return CreateArray((ushort[])value); + case TypeCode.UInt32: return CreateArray((uint[])value); + case TypeCode.UInt64: return CreateArray((ulong[])value); + case TypeCode.Int16: return CreateArray((short[])value); + case TypeCode.Int32: return CreateArray((int[])value); + case TypeCode.Int64: return CreateArray((long[])value); + case TypeCode.Single: return CreateArray((float[])value); + case TypeCode.Double: return CreateArray((double[])value); + default: return ReadArray((IEnumerable)value); + } + } + else if (value is IEnumerable) + { + if (type.IsList && type.ElementType != null) + { + switch (Type.GetTypeCode(type.ElementType)) + { + case TypeCode.String: return CreateList(value); + case TypeCode.UInt16: return CreateList(value); + case TypeCode.UInt32: return CreateList(value); + case TypeCode.UInt64: return CreateList(value); + case TypeCode.Int16: return CreateList(value); + case TypeCode.Int32: return CreateList(value); + case TypeCode.Int64: return CreateList(value); + case TypeCode.Single: return CreateList(value); + case TypeCode.Double: return CreateList(value); + } + } + + return ReadArray((IEnumerable)value); + } + else + { + // Complex object + return ReadObject(value); + } + } + + private XList CreateList(object value) => new XList((IList)value); + + private XImmutableArray CreateArray(T[] array) => new XImmutableArray(array); + + #endregion + + #endregion + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Serialization/PropertyTransformation.cs b/swaggerci/billing/generated/runtime/Serialization/PropertyTransformation.cs new file mode 100644 index 000000000000..ed00f7211053 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Serialization/PropertyTransformation.cs @@ -0,0 +1,21 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + internal class PropertyTransformation + { + internal PropertyTransformation(string name, Func transformer) + { + Name = name ?? throw new ArgumentNullException(nameof(name)); + Transformer = transformer ?? throw new ArgumentNullException(nameof(transformer)); + } + + internal string Name { get; } + + internal Func Transformer { get; } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Serialization/SerializationOptions.cs b/swaggerci/billing/generated/runtime/Serialization/SerializationOptions.cs new file mode 100644 index 000000000000..49b9618dc39c --- /dev/null +++ b/swaggerci/billing/generated/runtime/Serialization/SerializationOptions.cs @@ -0,0 +1,65 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Linq; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + internal class SerializationOptions + { + internal static readonly SerializationOptions Default = new SerializationOptions(); + + internal SerializationOptions() { } + + internal SerializationOptions( + string[] include = null, + bool ingoreNullValues = false) + { + Include = include; + IgnoreNullValues = ingoreNullValues; + } + + internal string[] Include { get; set; } + + internal string[] Exclude { get; set; } + + internal bool IgnoreNullValues { get; set; } + + internal PropertyTransformation[] Transformations { get; set; } + + internal Func PropertyNameTransformer { get; set; } + + internal int MaxDepth { get; set; } = 5; + + internal bool IsIncluded(string name) + { + if (Exclude != null) + { + return !Exclude.Any(exclude => exclude.Equals(name, StringComparison.OrdinalIgnoreCase)); + } + else if (Include != null) + { + return Include.Any(exclude => exclude.Equals(name, StringComparison.OrdinalIgnoreCase)); + } + + return true; + } + + internal PropertyTransformation GetTransformation(string propertyName) + { + if (Transformations == null) return null; + + foreach (var t in Transformations) + { + if (t.Name.Equals(propertyName, StringComparison.OrdinalIgnoreCase)) + { + return t; + } + } + + return null; + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/SerializationMode.cs b/swaggerci/billing/generated/runtime/SerializationMode.cs new file mode 100644 index 000000000000..3288eeb69ba1 --- /dev/null +++ b/swaggerci/billing/generated/runtime/SerializationMode.cs @@ -0,0 +1,16 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime +{ + [System.Flags] + public enum SerializationMode + { + None = 0, + IncludeHeaders = 1 << 0, + IncludeReadOnly = 1 << 1, + + IncludeAll = IncludeHeaders | IncludeReadOnly + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/TypeConverterExtensions.cs b/swaggerci/billing/generated/runtime/TypeConverterExtensions.cs new file mode 100644 index 000000000000..221137ec63a7 --- /dev/null +++ b/swaggerci/billing/generated/runtime/TypeConverterExtensions.cs @@ -0,0 +1,211 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System.IO; +using System.Linq; +using System.Xml; +using System.Xml.Serialization; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.PowerShell +{ + internal static class TypeConverterExtensions + { + internal static T[] SelectToArray(object source, System.Func converter) + { + // null begets null + if (source == null) + { + return null; + } + + // single values and strings are just encapsulated in the array. + if (source is string || !(source is System.Collections.IEnumerable)) + { + try + { + return new T[] { (T)converter(source) }; + } +#if DEBUG + catch (System.Exception E) + { + System.Console.Error.WriteLine($"{E.GetType().Name}/{E.Message}/{E.StackTrace}"); + } +#else + catch + { + // silent conversion fail + } +#endif + return new T[0]; // empty result if couldn't convert. + } + + var result = new System.Collections.Generic.List(); + foreach (var each in (System.Collections.IEnumerable)source) + { + try + { + result.Add((T)converter(each)); + } +#if DEBUG + catch (System.Exception E) + { + System.Console.Error.WriteLine($"{E.GetType().Name}/{E.Message}/{E.StackTrace}"); + } +#else + catch + { + // silent conversion fail + } +#endif + } + return result.ToArray(); + } + + internal static System.Collections.Generic.IEnumerable GetPropertyKeys(this System.Collections.Generic.IDictionary dictionary) + { + if (null != dictionary) + { + foreach (var each in dictionary.Keys) + { + yield return each; + } + } + } + internal static System.Collections.Generic.IEnumerable GetPropertyKeys(this System.Collections.IDictionary dictionary) + { + if (null != dictionary) + { + foreach (var each in dictionary.Keys) + { + yield return each; + } + } + } + internal static System.Collections.Generic.IEnumerable GetPropertyKeys(this System.Management.Automation.PSObject instance) + { + if (null != instance) + { + foreach (var each in instance.Properties) + { + yield return each; + } + } + } + + internal static System.Collections.Generic.IEnumerable> GetFilteredProperties(this System.Collections.Generic.IDictionary instance, global::System.Collections.Generic.HashSet exclusions = null, global::System.Collections.Generic.HashSet inclusions = null) + { + return (null == instance || instance.Count == 0) ? + Enumerable.Empty>() : + instance.Keys + .Where(key => + !(true == exclusions?.Contains(key?.ToString())) + && (false != inclusions?.Contains(key?.ToString()))) + .Select(key => new System.Collections.Generic.KeyValuePair(key, instance[key])); + } + + internal static System.Collections.Generic.IEnumerable> GetFilteredProperties(this System.Collections.IDictionary instance, global::System.Collections.Generic.HashSet exclusions = null, global::System.Collections.Generic.HashSet inclusions = null) + { + return (null == instance || instance.Count == 0) ? + Enumerable.Empty>() : + instance.Keys.OfType() + .Where(key => + !(true == exclusions?.Contains(key?.ToString())) + && (false != inclusions?.Contains(key?.ToString()))) + .Select(key => new System.Collections.Generic.KeyValuePair(key, instance[key])); + } + + internal static System.Collections.Generic.IEnumerable> GetFilteredProperties(this System.Management.Automation.PSObject instance, global::System.Collections.Generic.HashSet exclusions = null, global::System.Collections.Generic.HashSet inclusions = null) + { + // new global::System.Collections.Generic.HashSet(System.StringComparer.InvariantCultureIgnoreCase) + return (null == instance || !instance.Properties.Any()) ? + Enumerable.Empty>() : + instance.Properties + .Where(property => + !(true == exclusions?.Contains(property.Name)) + && (false != inclusions?.Contains(property.Name))) + .Select(property => new System.Collections.Generic.KeyValuePair(property.Name, property.Value)); + } + + + internal static T GetValueForProperty(this System.Collections.Generic.IDictionary dictionary, string propertyName, T defaultValue, System.Func converter) + { + try + { + var key = System.Linq.Enumerable.FirstOrDefault(dictionary.Keys, each => System.String.Equals(each.ToString(), propertyName, System.StringComparison.CurrentCultureIgnoreCase)); + return key == null ? defaultValue : (T)converter(dictionary[key]); + } +#if DEBUG + catch (System.Exception E) + { + System.Console.Error.WriteLine($"{E.GetType().Name}/{E.Message}/{E.StackTrace}"); + } +#else + catch + { + } +#endif + return defaultValue; + } + internal static T GetValueForProperty(this System.Collections.IDictionary dictionary, string propertyName, T defaultValue, System.Func converter) + { + try + { + var key = System.Linq.Enumerable.FirstOrDefault(dictionary.Keys.OfType(), each => System.String.Equals(each.ToString(), propertyName, System.StringComparison.CurrentCultureIgnoreCase)); + return key == null ? defaultValue : (T)converter(dictionary[key]); + } +#if DEBUG + catch (System.Exception E) + { + System.Console.Error.WriteLine($"{E.GetType().Name}/{E.Message}/{E.StackTrace}"); + } +#else + catch + { + } +#endif + return defaultValue; + } + + internal static T GetValueForProperty(this System.Management.Automation.PSObject psObject, string propertyName, T defaultValue, System.Func converter) + { + try + { + var property = System.Linq.Enumerable.FirstOrDefault(psObject.Properties, each => System.String.Equals(each.Name.ToString(), propertyName, System.StringComparison.CurrentCultureIgnoreCase)); + return property == null ? defaultValue : (T)converter(property.Value); + } +#if DEBUG + catch (System.Exception E) + { + System.Console.Error.WriteLine($"{E.GetType().Name}/{E.Message}/{E.StackTrace}"); + } +#else + catch + { + } +#endif + return defaultValue; + } + + internal static bool Contains(this System.Management.Automation.PSObject psObject, string propertyName) + { + bool result = false; + try + { + var property = System.Linq.Enumerable.FirstOrDefault(psObject.Properties, each => System.String.Equals(each.Name.ToString(), propertyName, System.StringComparison.CurrentCultureIgnoreCase)); + result = property == null ? false : true; + } +#if DEBUG + catch (System.Exception E) + { + System.Console.Error.WriteLine($"{E.GetType().Name}/{E.Message}/{E.StackTrace}"); + } +#else + catch + { + } +#endif + return result; + } + } +} diff --git a/swaggerci/billing/generated/runtime/UndeclaredResponseException.cs b/swaggerci/billing/generated/runtime/UndeclaredResponseException.cs new file mode 100644 index 000000000000..888084bf10b2 --- /dev/null +++ b/swaggerci/billing/generated/runtime/UndeclaredResponseException.cs @@ -0,0 +1,112 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime +{ + using System; + using System.Net.Http; + using System.Net.Http.Headers; + using static Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Extensions; + + public class RestException : Exception, IDisposable + { + public System.Net.HttpStatusCode StatusCode { get; set; } + public string Code { get; protected set; } + protected string message; + public HttpRequestMessage RequestMessage { get; protected set; } + public HttpResponseHeaders ResponseHeaders { get; protected set; } + + public string ResponseBody { get; protected set; } + public string ClientRequestId { get; protected set; } + public string RequestId { get; protected set; } + + public override string Message => message; + public string Action { get; protected set; } + + public RestException(System.Net.Http.HttpResponseMessage response) + { + StatusCode = response.StatusCode; + //CloneWithContent will not work here since the content is disposed after sendAsync + //Besides, it seems there is no need for the request content cloned here. + RequestMessage = response.RequestMessage.Clone(); + ResponseBody = response.Content.ReadAsStringAsync().Result; + ResponseHeaders = response.Headers; + + RequestId = response.GetFirstHeader("x-ms-request-id"); + ClientRequestId = response.GetFirstHeader("x-ms-client-request-id"); + + try + { + // try to parse the body as JSON, and see if a code and message are in there. + var json = Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonNode.Parse(ResponseBody) as Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json.JsonObject; + + // error message could be in properties.statusMessage + { message = If(json?.Property("properties"), out var p) + && If(p?.PropertyT("statusMessage"), out var sm) + ? (string)sm : (string)Message; } + + // see if there is an error block in the body + json = json?.Property("error") ?? json; + + { Code = If(json?.PropertyT("code"), out var c) ? (string)c : (string)StatusCode.ToString(); } + { message = If(json?.PropertyT("message"), out var m) ? (string)m : (string)Message; } + { Action = If(json?.PropertyT("action"), out var a) ? (string)a : (string)Action; } + } +#if DEBUG + catch (System.Exception E) + { + System.Console.Error.WriteLine($"{E.GetType().Name}/{E.Message}/{E.StackTrace}"); + } +#else + catch + { + // couldn't get the code/message from the body response. + // In this case, we will assume the response is the expected error message + if(!string.IsNullOrEmpty(ResponseBody)) { + message = ResponseBody; + } + } +#endif + if (string.IsNullOrEmpty(message)) + { + if (StatusCode >= System.Net.HttpStatusCode.BadRequest && StatusCode < System.Net.HttpStatusCode.InternalServerError) + { + message = $"The server responded with a Request Error, Status: {StatusCode}"; + } + else if (StatusCode >= System.Net.HttpStatusCode.InternalServerError) + { + message = $"The server responded with a Server Error, Status: {StatusCode}"; + } + else + { + message = $"The server responded with an unrecognized response, Status: {StatusCode}"; + } + } + } + + public void Dispose() + { + ((IDisposable)RequestMessage).Dispose(); + } + } + + public class RestException : RestException + { + public T Error { get; protected set; } + public RestException(System.Net.Http.HttpResponseMessage response, T error) : base(response) + { + Error = error; + } + } + + + public class UndeclaredResponseException : RestException + { + public UndeclaredResponseException(System.Net.Http.HttpResponseMessage response) : base(response) + { + + } + } +} \ No newline at end of file diff --git a/swaggerci/billing/generated/runtime/Writers/JsonWriter.cs b/swaggerci/billing/generated/runtime/Writers/JsonWriter.cs new file mode 100644 index 000000000000..24c084fd9584 --- /dev/null +++ b/swaggerci/billing/generated/runtime/Writers/JsonWriter.cs @@ -0,0 +1,223 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +using System; +using System.Collections.Generic; +using System.IO; +using System.Web; + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.Json +{ + internal class JsonWriter + { + const string indentation = " "; // 2 spaces + + private readonly bool pretty; + private readonly TextWriter writer; + + protected int currentLevel = 0; + + internal JsonWriter(TextWriter writer, bool pretty = true) + { + this.writer = writer ?? throw new ArgumentNullException(nameof(writer)); + this.pretty = pretty; + } + + internal void WriteNode(JsonNode node) + { + switch (node.Type) + { + case JsonType.Array: WriteArray((IEnumerable)node); break; + case JsonType.Object: WriteObject((JsonObject)node); break; + + // Primitives + case JsonType.Binary: WriteBinary((XBinary)node); break; + case JsonType.Boolean: WriteBoolean((bool)node); break; + case JsonType.Date: WriteDate((JsonDate)node); break; + case JsonType.Null: WriteNull(); break; + case JsonType.Number: WriteNumber((JsonNumber)node); break; + case JsonType.String: WriteString(node); break; + } + } + + internal void WriteArray(IEnumerable array) + { + currentLevel++; + + writer.Write('['); + + bool doIndentation = false; + + if (pretty) + { + foreach (var node in array) + { + if (node.Type == JsonType.Object || node.Type == JsonType.Array) + { + doIndentation = true; + + break; + } + } + } + + bool isFirst = true; + + foreach (JsonNode node in array) + { + if (!isFirst) writer.Write(','); + + if (doIndentation) + { + WriteIndent(); + } + else if (pretty) + { + writer.Write(' '); + } + + WriteNode(node); + + isFirst = false; + } + + currentLevel--; + + if (doIndentation) + { + WriteIndent(); + } + else if (pretty) + { + writer.Write(' '); + } + + writer.Write(']'); + } + + internal void WriteIndent() + { + if (pretty) + { + writer.Write(Environment.NewLine); + + for (int level = 0; level < currentLevel; level++) + { + writer.Write(indentation); + } + } + } + + internal void WriteObject(JsonObject obj) + { + currentLevel++; + + writer.Write('{'); + + bool isFirst = true; + + foreach (var field in obj) + { + if (!isFirst) writer.Write(','); + + WriteIndent(); + + WriteFieldName(field.Key); + + writer.Write(':'); + + if (pretty) + { + writer.Write(' '); + } + + // Write the field value + WriteNode(field.Value); + + isFirst = false; + } + + currentLevel--; + + WriteIndent(); + + writer.Write('}'); + } + + internal void WriteFieldName(string fieldName) + { + writer.Write('"'); + writer.Write(HttpUtility.JavaScriptStringEncode(fieldName)); + writer.Write('"'); + } + + #region Primitives + + internal void WriteBinary(XBinary value) + { + writer.Write('"'); + writer.Write(value.ToString()); + writer.Write('"'); + } + + internal void WriteBoolean(bool value) + { + writer.Write(value ? "true" : "false"); + } + + internal void WriteDate(JsonDate date) + { + if (date.ToDateTime().Year == 1) + { + WriteNull(); + } + else + { + writer.Write('"'); + writer.Write(date.ToIsoString()); + writer.Write('"'); + } + } + + internal void WriteNull() + { + writer.Write("null"); + } + + internal void WriteNumber(JsonNumber number) + { + if (number.Overflows) + { + writer.Write('"'); + writer.Write(number.Value); + writer.Write('"'); + } + else + { + writer.Write(number.Value); + } + } + + internal void WriteString(string text) + { + if (text == null) + { + WriteNull(); + } + else + { + writer.Write('"'); + + writer.Write(HttpUtility.JavaScriptStringEncode(text)); + + writer.Write('"'); + } + } + + #endregion + } +} + + +// TODO: Replace with System.Text.Json when available diff --git a/swaggerci/billing/generated/runtime/delegates.cs b/swaggerci/billing/generated/runtime/delegates.cs new file mode 100644 index 000000000000..da564950f5e3 --- /dev/null +++ b/swaggerci/billing/generated/runtime/delegates.cs @@ -0,0 +1,23 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +namespace Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime +{ + using System; + using System.Collections; + using System.Collections.Generic; + using System.Net.Http; + using System.Threading; + using System.Threading.Tasks; + using GetEventData=System.Func; + + public delegate Task SendAsync(HttpRequestMessage request, IEventListener callback); + public delegate Task SendAsyncStep(HttpRequestMessage request, IEventListener callback, ISendAsync next); + public delegate Task SignalEvent(string id, CancellationToken token, GetEventData getEventData); + public delegate Task Event(EventData message); + public delegate void SynchEvent(EventData message); + public delegate Task OnResponse(Response message); + public delegate Task OnResponse(Response message); +} \ No newline at end of file diff --git a/swaggerci/billing/how-to.md b/swaggerci/billing/how-to.md new file mode 100644 index 000000000000..125b979efc41 --- /dev/null +++ b/swaggerci/billing/how-to.md @@ -0,0 +1,58 @@ +# How-To +This document describes how to develop for `Az.Billing`. + +## Building `Az.Billing` +To build, run the `build-module.ps1` at the root of the module directory. This will generate the proxy script cmdlets that are the cmdlets being exported by this module. After the build completes, the proxy script cmdlets will be output to the `exports` folder. To read more about the proxy script cmdlets, look at the [README.md](exports/README.md) in the `exports` folder. + +## Creating custom cmdlets +To add cmdlets that were not generated by the REST specification, use the `custom` folder. This folder allows you to add handwritten `.ps1` and `.cs` files. Currently, we support using `.ps1` scripts as new cmdlets or as additional low-level variants (via `ParameterSet`), and `.cs` files as low-level (variants) cmdlets that the exported script cmdlets call. We do not support exporting any `.cs` (dll) cmdlets directly. To read more about custom cmdlets, look at the [README.md](custom/README.md) in the `custom` folder. + +## Generating documentation +To generate documentation, the process is now integrated into the `build-module.ps1` script. If you don't want to run this process as part of `build-module.ps1`, you can provide the `-NoDocs` switch. If you want to run documentation generation after the build process, you may still run the `generate-help.ps1` script. Overall, the process will look at the documentation comments in the generated and custom cmdlets and types, and create `.md` files into the `docs` folder. Additionally, this pulls in any examples from the `examples` folder and adds them to the generated help markdown documents. To read more about examples, look at the [README.md](examples/README.md) in the `examples` folder. To read more about documentation, look at the [README.md](docs/README.md) in the `docs` folder. + +## Testing `Az.Billing` +To test the cmdlets, we use [Pester](https://github.com/pester/Pester). Tests scripts (`.ps1`) should be added to the `test` folder. To execute the Pester tests, run the `test-module.ps1` script. This will run all tests in `playback` mode within the `test` folder. To read more about testing cmdlets, look at the [README.md](examples/README.md) in the `examples` folder. + +## Packing `Az.Billing` +To pack `Az.Billing` for distribution, run the `pack-module.ps1` script. This will take the contents of multiple directories and certain root-folder files to create a `.nupkg`. The structure of the `.nupkg` is created so it can be loaded part of a [PSRepository](https://docs.microsoft.com/powershell/module/powershellget/register-psrepository). Additionally, this package is in a format for distribution to the [PSGallery](https://www.powershellgallery.com/). For signing an Azure module, please contact the [Azure PowerShell](https://github.com/Azure/azure-powershell) team. + +## Module Script Details +There are multiple scripts created for performing different actions for developing `Az.Billing`. +- `build-module.ps1` + - Builds the module DLL (`./bin/Az.Billing.private.dll`), creates the exported cmdlets and documentation, generates custom cmdlet test stubs and exported cmdlet example stubs, and updates `./Az.Billing.psd1` with Azure profile information. + - **Parameters**: [`Switch` parameters] + - `-Run`: After building, creates an isolated PowerShell session and loads `Az.Billing`. + - `-Test`: After building, runs the `Pester` tests defined in the `test` folder. + - `-Docs`: After building, generates the Markdown documents for the modules into the `docs` folder. + - `-Pack`: After building, packages the module into a `.nupkg`. + - `-Code`: After building, opens a VSCode window with the module's directory and runs (see `-Run`) the module. + - `-Release`: Builds the module in `Release` configuration (as opposed to `Debug` configuration). + - `-NoDocs`: Supresses writing the documentation markdown files as part of the cmdlet exporting process. + - `-Debugger`: Used when attaching the debugger in Visual Studio to the PowerShell session, and running the build process without recompiling the DLL. This suppresses running the script as an isolated process. +- `run-module.ps1` + - Creates an isolated PowerShell session and loads `Az.Billing` into the session. + - Same as `-Run` in `build-module.ps1`. + - **Parameters**: [`Switch` parameters] + - `-Code`: Opens a VSCode window with the module's directory. + - Same as `-Code` in `build-module.ps1`. +- `generate-help.ps1` + - Generates the Markdown documents for the modules into the `docs` folder. + - Same as `-Docs` in `build-module.ps1`. +- `test-module.ps1` + - Runs the `Pester` tests defined in the `test` folder. + - Same as `-Test` in `build-module.ps1`. +- `pack-module.ps1` + - Packages the module into a `.nupkg` for distribution. + - Same as `-Pack` in `build-module.ps1`. +- `generate-help.ps1` + - Generates the Markdown documents for the modules into the `docs` folder. + - Same as `-Docs` in `build-module.ps1`. + - This process is now integrated into `build-module.ps1` automatically. To disable, use `-NoDocs` when running `build-module.ps1`. +- `export-surface.ps1` + - Generates Markdown documents for both the cmdlet surface and the model (class) surface of the module. + - These files are placed into the `resources` folder. + - Used for investigating the surface of your module. These are *not* documentation for distribution. +- `check-dependencies.ps1` + - Used in `run-module.ps1` and `test-module.ps1` to verify dependent modules are available to run those tasks. + - It will download local (within the module's directory structure) versions of those modules as needed. + - This script *does not* need to be ran by-hand. \ No newline at end of file diff --git a/swaggerci/billing/internal/Az.Billing.internal.psm1 b/swaggerci/billing/internal/Az.Billing.internal.psm1 new file mode 100644 index 000000000000..80e39d9e41fc --- /dev/null +++ b/swaggerci/billing/internal/Az.Billing.internal.psm1 @@ -0,0 +1,38 @@ +# region Generated + # Load the private module dll + $null = Import-Module -PassThru -Name (Join-Path $PSScriptRoot '../bin/Az.Billing.private.dll') + + # Get the private module's instance + $instance = [Microsoft.Azure.PowerShell.Cmdlets.Billing.Module]::Instance + + # Export nothing to clear implicit exports + Export-ModuleMember + + # Export proxy cmdlet scripts + $exportsPath = $PSScriptRoot + $directories = Get-ChildItem -Directory -Path $exportsPath + $profileDirectory = $null + if($instance.ProfileName) { + if(($directories | ForEach-Object { $_.Name }) -contains $instance.ProfileName) { + $profileDirectory = $directories | Where-Object { $_.Name -eq $instance.ProfileName } + } else { + # Don't export anything if the profile doesn't exist for the module + $exportsPath = $null + Write-Warning "Selected Azure profile '$($instance.ProfileName)' does not exist for module '$($instance.Name)'. No cmdlets were loaded." + } + } elseif(($directories | Measure-Object).Count -gt 0) { + # Load the last folder if no profile is selected + $profileDirectory = $directories | Select-Object -Last 1 + } + + if($profileDirectory) { + Write-Information "Loaded Azure profile '$($profileDirectory.Name)' for module '$($instance.Name)'" + $exportsPath = $profileDirectory.FullName + } + + if($exportsPath) { + Get-ChildItem -Path $exportsPath -Recurse -Include '*.ps1' -File | ForEach-Object { . $_.FullName } + $cmdletNames = Get-ScriptCmdlet -ScriptFolder $exportsPath + Export-ModuleMember -Function $cmdletNames -Alias (Get-ScriptCmdlet -ScriptFolder $exportsPath -AsAlias) + } +# endregion diff --git a/swaggerci/billing/internal/Get-AzBillingOperation.ps1 b/swaggerci/billing/internal/Get-AzBillingOperation.ps1 new file mode 100644 index 000000000000..45bdb65c82ba --- /dev/null +++ b/swaggerci/billing/internal/Get-AzBillingOperation.ps1 @@ -0,0 +1,116 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Lists the available billing REST API operations. +.Description +Lists the available billing REST API operations. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperation +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingoperation +#> +function Get-AzBillingOperation { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperation])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] +param( + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + List = 'Az.Billing.private\Get-AzBillingOperation_List'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} diff --git a/swaggerci/billing/internal/ProxyCmdletDefinitions.ps1 b/swaggerci/billing/internal/ProxyCmdletDefinitions.ps1 new file mode 100644 index 000000000000..45bdb65c82ba --- /dev/null +++ b/swaggerci/billing/internal/ProxyCmdletDefinitions.ps1 @@ -0,0 +1,116 @@ + +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- + +<# +.Synopsis +Lists the available billing REST API operations. +.Description +Lists the available billing REST API operations. +.Example +{{ Add code here }} +.Example +{{ Add code here }} + +.Outputs +Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperation +.Link +https://docs.microsoft.com/en-us/powershell/module/az.billing/get-azbillingoperation +#> +function Get-AzBillingOperation { +[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Billing.Models.Api20200501.IOperation])] +[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)] +param( + [Parameter()] + [Alias('AzureRMContext', 'AzureCredential')] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Azure')] + [System.Management.Automation.PSObject] + # The credentials, account, tenant, and subscription used for communication with Azure. + ${DefaultProfile}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Wait for .NET debugger to attach + ${Break}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be appended to the front of the pipeline + ${HttpPipelineAppend}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Runtime.SendAsyncStep[]] + # SendAsync Pipeline Steps to be prepended to the front of the pipeline + ${HttpPipelinePrepend}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Uri] + # The URI for the proxy server to use + ${Proxy}, + + [Parameter(DontShow)] + [ValidateNotNull()] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.PSCredential] + # Credentials for a proxy server to use for the remote call + ${ProxyCredential}, + + [Parameter(DontShow)] + [Microsoft.Azure.PowerShell.Cmdlets.Billing.Category('Runtime')] + [System.Management.Automation.SwitchParameter] + # Use the default credentials for the proxy + ${ProxyUseDefaultCredentials} +) + +begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + $parameterSet = $PSCmdlet.ParameterSetName + + $mapping = @{ + List = 'Az.Billing.private\Get-AzBillingOperation_List'; + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) + $scriptCmd = {& $wrappedCmd @PSBoundParameters} + $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) + $steppablePipeline.Begin($PSCmdlet) + } catch { + + throw + } +} + +process { + try { + $steppablePipeline.Process($_) + } catch { + + throw + } + +} +end { + try { + $steppablePipeline.End() + + } catch { + + throw + } +} +} diff --git a/swaggerci/billing/internal/README.md b/swaggerci/billing/internal/README.md new file mode 100644 index 000000000000..082f5cdd2e9e --- /dev/null +++ b/swaggerci/billing/internal/README.md @@ -0,0 +1,14 @@ +# Internal +This directory contains a module to handle *internal only* cmdlets. Cmdlets that you **hide** in configuration are created here. For more information on hiding, see [cmdlet hiding](https://github.com/Azure/autorest.powershell/blob/main/docs/directives.md#cmdlet-hiding-exportation-suppression). The cmdlets in this directory are generated at **build-time**. Do not put any custom code, files, cmdlets, etc. into this directory. Please use `../custom` for all custom implementation. + +## Info +- Modifiable: no +- Generated: all +- Committed: no +- Packaged: yes + +## Details +The `Az.Billing.internal.psm1` file is generated to this folder. This module file handles the hidden cmdlets. These cmdlets will not be exported by `Az.Billing`. Instead, this sub-module is imported by the `../custom/Az.Billing.custom.psm1` module, allowing you to use hidden cmdlets in your custom, exposed cmdlets. To call these cmdlets in your custom scripts, simply use [module-qualified calls](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_command_precedence?view=powershell-6#qualified-names). For example, `Az.Billing.internal\Get-Example` would call an internal cmdlet named `Get-Example`. + +## Purpose +This allows you to include REST specifications for services that you *do not wish to expose from your module*, but simply want to call within custom cmdlets. For example, if you want to make a custom cmdlet that uses `Storage` services, you could include a simplified `Storage` REST specification that has only the operations you need. When you run the generator and build this module, note the generated `Storage` cmdlets. Then, in your readme configuration, use [cmdlet hiding](https://github.com/Azure/autorest/blob/master/docs/powershell/options.md#cmdlet-hiding-exportation-suppression) on the `Storage` cmdlets and they will *only be exposed to the custom cmdlets* you want to write, and not be exported as part of `Az.Billing`. diff --git a/swaggerci/billing/license.txt b/swaggerci/billing/license.txt new file mode 100644 index 000000000000..b9f3180fb9af --- /dev/null +++ b/swaggerci/billing/license.txt @@ -0,0 +1,227 @@ +MICROSOFT SOFTWARE LICENSE TERMS + +MICROSOFT AZURE POWERSHELL + +These license terms are an agreement between Microsoft Corporation (or based on where you live, one of its affiliates) and you. Please read them. They apply to the software named above, which includes the media on which you received it, if any. + +BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS. IF YOU DO NOT ACCEPT THEM, DO NOT USE THE SOFTWARE. + + +-----------------START OF LICENSE-------------------------- + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +-------------------END OF LICENSE------------------------------------------ + + +----------------START OF THIRD PARTY NOTICE-------------------------------- + + +The software includes the AutoMapper library ("AutoMapper"). The MIT License set out below is provided for informational purposes only. It is not the license that governs any part of the software. + +Provided for Informational Purposes Only + +AutoMapper + +The MIT License (MIT) +Copyright (c) 2010 Jimmy Bogard + + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + + + + +*************** + +The software includes Newtonsoft.Json. The MIT License set out below is provided for informational purposes only. It is not the license that governs any part of the software. + +Newtonsoft.Json + +The MIT License (MIT) +Copyright (c) 2007 James Newton-King +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +-------------END OF THIRD PARTY NOTICE---------------------------------------- + diff --git a/swaggerci/billing/pack-module.ps1 b/swaggerci/billing/pack-module.ps1 new file mode 100644 index 000000000000..8ed48957e579 --- /dev/null +++ b/swaggerci/billing/pack-module.ps1 @@ -0,0 +1,9 @@ +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- +Write-Host -ForegroundColor Green 'Packing module...' +dotnet pack $PSScriptRoot --no-build /nologo +Write-Host -ForegroundColor Green '-------------Done-------------' \ No newline at end of file diff --git a/swaggerci/billing/readme.md b/swaggerci/billing/readme.md new file mode 100644 index 000000000000..398c55f6b80c --- /dev/null +++ b/swaggerci/billing/readme.md @@ -0,0 +1,10 @@ +### AutoRest Configuration +> see https://aka.ms/autorest + +``` yaml +require: + - $(this-folder)/../../tools/SwaggerCI/readme.azure.noprofile.md + - $(this-folder)/../../../azure-rest-api-specs/specification/billing/resource-manager/readme.md +try-require: + - $(this-folder)/../../../azure-rest-api-specs/specification/billing/resource-manager/readme.powershell.md +``` diff --git a/swaggerci/billing/resources/README.md b/swaggerci/billing/resources/README.md new file mode 100644 index 000000000000..736492341e3d --- /dev/null +++ b/swaggerci/billing/resources/README.md @@ -0,0 +1,11 @@ +# Resources +This directory can contain any additional resources for module that are not required at runtime. This directory **does not** get packaged with the module. If you have assets for custom implementation, place them into the `../custom` folder. + +## Info +- Modifiable: yes +- Generated: no +- Committed: yes +- Packaged: no + +## Purpose +Use this folder to put anything you want to keep around as part of the repository for the module, but is not something that is required for the module. For example, development files, packaged builds, or additional information. This is only intended to be used in repositories where the module's output directory is cleaned, but tangential resources for the module want to remain intact. \ No newline at end of file diff --git a/swaggerci/billing/run-module.ps1 b/swaggerci/billing/run-module.ps1 new file mode 100644 index 000000000000..776ce17e30f3 --- /dev/null +++ b/swaggerci/billing/run-module.ps1 @@ -0,0 +1,54 @@ +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- +param([switch]$Isolated, [switch]$Code) +$ErrorActionPreference = 'Stop' + +if(-not $Isolated) { + Write-Host -ForegroundColor Green 'Creating isolated process...' + $pwsh = [System.Diagnostics.Process]::GetCurrentProcess().Path + & "$pwsh" -NoExit -NoLogo -NoProfile -File $MyInvocation.MyCommand.Path @PSBoundParameters -Isolated + return +} + +$isAzure = $true +if($isAzure) { + . (Join-Path $PSScriptRoot 'check-dependencies.ps1') -Isolated -Accounts + # Load the latest version of Az.Accounts installed + Import-Module -Name Az.Accounts -RequiredVersion (Get-Module -Name Az.Accounts -ListAvailable | Sort-Object -Property Version -Descending)[0].Version +} + +$localModulesPath = Join-Path $PSScriptRoot 'generated/modules' +if(Test-Path -Path $localModulesPath) { + $env:PSModulePath = "$localModulesPath$([IO.Path]::PathSeparator)$env:PSModulePath" +} + +$modulePsd1 = Get-Item -Path (Join-Path $PSScriptRoot './Az.Billing.psd1') +$modulePath = $modulePsd1.FullName +$moduleName = $modulePsd1.BaseName + +function Prompt { + Write-Host -NoNewline -ForegroundColor Green "PS $(Get-Location)" + Write-Host -NoNewline -ForegroundColor Gray ' [' + Write-Host -NoNewline -ForegroundColor White -BackgroundColor DarkCyan $moduleName + ']> ' +} + +# where we would find the launch.json file +$vscodeDirectory = New-Item -ItemType Directory -Force -Path (Join-Path $PSScriptRoot '.vscode') +$launchJson = Join-Path $vscodeDirectory 'launch.json' + +# if there is a launch.json file, let's just assume -Code, and update the file +if(($Code) -or (test-Path $launchJson) ) { + $launchContent = '{ "version": "0.2.0", "configurations":[{ "name":"Attach to PowerShell", "type":"coreclr", "request":"attach", "processId":"' + ([System.Diagnostics.Process]::GetCurrentProcess().Id) + '", "justMyCode":false }] }' + Set-Content -Path $launchJson -Value $launchContent + if($Code) { + # only launch vscode if they say -code + code $PSScriptRoot + } +} + +Import-Module -Name $modulePath \ No newline at end of file diff --git a/swaggerci/billing/test-module.ps1 b/swaggerci/billing/test-module.ps1 new file mode 100644 index 000000000000..f5868410bcfc --- /dev/null +++ b/swaggerci/billing/test-module.ps1 @@ -0,0 +1,86 @@ +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- +param([switch]$Isolated, [switch]$Live, [switch]$Record, [switch]$Playback, [switch]$RegenerateSupportModule, [switch]$UsePreviousConfigForRecord, [string[]]$TestName) +$ErrorActionPreference = 'Stop' + +if(-not $Isolated) +{ + Write-Host -ForegroundColor Green 'Creating isolated process...' + if ($PSBoundParameters.ContainsKey("TestName")) { + $PSBoundParameters["TestName"] = $PSBoundParameters["TestName"] -join "," + } + $pwsh = [System.Diagnostics.Process]::GetCurrentProcess().Path + & "$pwsh" -NonInteractive -NoLogo -NoProfile -File $MyInvocation.MyCommand.Path @PSBoundParameters -Isolated + return +} + +# This is a workaround, since for string array parameter, pwsh -File will only take the first element +if ($PSBoundParameters.ContainsKey("TestName") -and ($TestName.count -eq 1) -and ($TestName[0].Contains(','))) { + $TestName = $TestName[0].Split(",") +} + +$ProgressPreference = 'SilentlyContinue' +$baseName = $PSScriptRoot.BaseName +$requireResourceModule = (($baseName -ne "Resources") -and ($Record.IsPresent -or $Live.IsPresent)) +. (Join-Path $PSScriptRoot 'check-dependencies.ps1') -Isolated -Accounts:$false -Pester -Resources:$requireResourceModule -RegenerateSupportModule:$RegenerateSupportModule +. ("$PSScriptRoot\test\utils.ps1") + +if ($requireResourceModule) +{ + # Load the latest Az.Accounts installed + Import-Module -Name Az.Accounts -RequiredVersion (Get-Module -Name Az.Accounts -ListAvailable | Sort-Object -Property Version -Descending)[0].Version + $resourceModulePSD = Get-Item -Path (Join-Path $HOME '.PSSharedModules\Resources\Az.Resources.TestSupport.psd1') + Import-Module -Name $resourceModulePSD.FullName +} + +$localModulesPath = Join-Path $PSScriptRoot 'generated/modules' +if(Test-Path -Path $localModulesPath) +{ + $env:PSModulePath = "$localModulesPath$([IO.Path]::PathSeparator)$env:PSModulePath" +} + +$modulePsd1 = Get-Item -Path (Join-Path $PSScriptRoot './Az.Billing.psd1') +$modulePath = $modulePsd1.FullName +$moduleName = $modulePsd1.BaseName + +Import-Module -Name Pester +Import-Module -Name $modulePath + +$TestMode = 'playback' +$ExcludeTag = @("LiveOnly") +if($Live) +{ + $TestMode = 'live' + $ExcludeTag = @() +} +if($Record) +{ + $TestMode = 'record' +} +try +{ + if ($TestMode -ne 'playback') + { + setupEnv + } + $testFolder = Join-Path $PSScriptRoot 'test' + if ($null -ne $TestName) + { + Invoke-Pester -Script @{ Path = $testFolder } -TestName $TestName -ExcludeTag $ExcludeTag -EnableExit -OutputFile (Join-Path $testFolder "$moduleName-TestResults.xml") + } else + { + Invoke-Pester -Script @{ Path = $testFolder } -ExcludeTag $ExcludeTag -EnableExit -OutputFile (Join-Path $testFolder "$moduleName-TestResults.xml") + } +} Finally +{ + if ($TestMode -ne 'playback') + { + cleanupEnv + } +} + +Write-Host -ForegroundColor Green '-------------Done-------------' \ No newline at end of file diff --git a/swaggerci/billing/test/Get-AzBillingAccount.Tests.ps1 b/swaggerci/billing/test/Get-AzBillingAccount.Tests.ps1 new file mode 100644 index 000000000000..aa403454f081 --- /dev/null +++ b/swaggerci/billing/test/Get-AzBillingAccount.Tests.ps1 @@ -0,0 +1,29 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzBillingAccount')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzBillingAccount.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzBillingAccount' { + It 'List' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'Get' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'GetViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/billing/test/Get-AzBillingAccountInvoiceSection.Tests.ps1 b/swaggerci/billing/test/Get-AzBillingAccountInvoiceSection.Tests.ps1 new file mode 100644 index 000000000000..758c4cc86da0 --- /dev/null +++ b/swaggerci/billing/test/Get-AzBillingAccountInvoiceSection.Tests.ps1 @@ -0,0 +1,21 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzBillingAccountInvoiceSection')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzBillingAccountInvoiceSection.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzBillingAccountInvoiceSection' { + It 'List' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/billing/test/Get-AzBillingAgreement.Tests.ps1 b/swaggerci/billing/test/Get-AzBillingAgreement.Tests.ps1 new file mode 100644 index 000000000000..f60a3ad74db5 --- /dev/null +++ b/swaggerci/billing/test/Get-AzBillingAgreement.Tests.ps1 @@ -0,0 +1,29 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzBillingAgreement')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzBillingAgreement.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzBillingAgreement' { + It 'List' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'Get' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'GetViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/billing/test/Get-AzBillingAvailableBalance.Tests.ps1 b/swaggerci/billing/test/Get-AzBillingAvailableBalance.Tests.ps1 new file mode 100644 index 000000000000..8ef161436d2e --- /dev/null +++ b/swaggerci/billing/test/Get-AzBillingAvailableBalance.Tests.ps1 @@ -0,0 +1,25 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzBillingAvailableBalance')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzBillingAvailableBalance.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzBillingAvailableBalance' { + It 'Get' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'GetViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/billing/test/Get-AzBillingCustomer.Tests.ps1 b/swaggerci/billing/test/Get-AzBillingCustomer.Tests.ps1 new file mode 100644 index 000000000000..171a3c78307f --- /dev/null +++ b/swaggerci/billing/test/Get-AzBillingCustomer.Tests.ps1 @@ -0,0 +1,33 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzBillingCustomer')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzBillingCustomer.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzBillingCustomer' { + It 'List1' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'List' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'Get' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'GetViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/billing/test/Get-AzBillingEnrollmentAccount.Tests.ps1 b/swaggerci/billing/test/Get-AzBillingEnrollmentAccount.Tests.ps1 new file mode 100644 index 000000000000..e998649df71f --- /dev/null +++ b/swaggerci/billing/test/Get-AzBillingEnrollmentAccount.Tests.ps1 @@ -0,0 +1,29 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzBillingEnrollmentAccount')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzBillingEnrollmentAccount.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzBillingEnrollmentAccount' { + It 'List' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'Get' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'GetViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/billing/test/Get-AzBillingInstruction.Tests.ps1 b/swaggerci/billing/test/Get-AzBillingInstruction.Tests.ps1 new file mode 100644 index 000000000000..bc314159de32 --- /dev/null +++ b/swaggerci/billing/test/Get-AzBillingInstruction.Tests.ps1 @@ -0,0 +1,29 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzBillingInstruction')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzBillingInstruction.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzBillingInstruction' { + It 'List' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'Get' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'GetViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/billing/test/Get-AzBillingInvoice.Tests.ps1 b/swaggerci/billing/test/Get-AzBillingInvoice.Tests.ps1 new file mode 100644 index 000000000000..e202c1f251e6 --- /dev/null +++ b/swaggerci/billing/test/Get-AzBillingInvoice.Tests.ps1 @@ -0,0 +1,53 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzBillingInvoice')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzBillingInvoice.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzBillingInvoice' { + It 'Get1' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'List1' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'List' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'Get' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'Get2' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'List2' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'GetViaIdentity2' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'GetViaIdentity1' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'GetViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/billing/test/Get-AzBillingInvoiceSection.Tests.ps1 b/swaggerci/billing/test/Get-AzBillingInvoiceSection.Tests.ps1 new file mode 100644 index 000000000000..56890397e25e --- /dev/null +++ b/swaggerci/billing/test/Get-AzBillingInvoiceSection.Tests.ps1 @@ -0,0 +1,29 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzBillingInvoiceSection')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzBillingInvoiceSection.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzBillingInvoiceSection' { + It 'List' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'Get' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'GetViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/billing/test/Get-AzBillingPeriod.Tests.ps1 b/swaggerci/billing/test/Get-AzBillingPeriod.Tests.ps1 new file mode 100644 index 000000000000..be861d6669e0 --- /dev/null +++ b/swaggerci/billing/test/Get-AzBillingPeriod.Tests.ps1 @@ -0,0 +1,29 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzBillingPeriod')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzBillingPeriod.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzBillingPeriod' { + It 'List' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'Get' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'GetViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/billing/test/Get-AzBillingPermission.Tests.ps1 b/swaggerci/billing/test/Get-AzBillingPermission.Tests.ps1 new file mode 100644 index 000000000000..2eb738387f56 --- /dev/null +++ b/swaggerci/billing/test/Get-AzBillingPermission.Tests.ps1 @@ -0,0 +1,33 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzBillingPermission')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzBillingPermission.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzBillingPermission' { + It 'List1' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'List' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'List3' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'List2' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/billing/test/Get-AzBillingPolicy.Tests.ps1 b/swaggerci/billing/test/Get-AzBillingPolicy.Tests.ps1 new file mode 100644 index 000000000000..27ee5a160f7e --- /dev/null +++ b/swaggerci/billing/test/Get-AzBillingPolicy.Tests.ps1 @@ -0,0 +1,33 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzBillingPolicy')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzBillingPolicy.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzBillingPolicy' { + It 'Get' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'Get1' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'GetViaIdentity1' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'GetViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/billing/test/Get-AzBillingProduct.Tests.ps1 b/swaggerci/billing/test/Get-AzBillingProduct.Tests.ps1 new file mode 100644 index 000000000000..31f9e4a6fb1a --- /dev/null +++ b/swaggerci/billing/test/Get-AzBillingProduct.Tests.ps1 @@ -0,0 +1,41 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzBillingProduct')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzBillingProduct.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzBillingProduct' { + It 'List1' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'List3' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'List2' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'List' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'Get' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'GetViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/billing/test/Get-AzBillingProfile.Tests.ps1 b/swaggerci/billing/test/Get-AzBillingProfile.Tests.ps1 new file mode 100644 index 000000000000..1e96693b3a2c --- /dev/null +++ b/swaggerci/billing/test/Get-AzBillingProfile.Tests.ps1 @@ -0,0 +1,29 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzBillingProfile')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzBillingProfile.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzBillingProfile' { + It 'List' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'Get' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'GetViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/billing/test/Get-AzBillingProperty.Tests.ps1 b/swaggerci/billing/test/Get-AzBillingProperty.Tests.ps1 new file mode 100644 index 000000000000..caf269f7bb94 --- /dev/null +++ b/swaggerci/billing/test/Get-AzBillingProperty.Tests.ps1 @@ -0,0 +1,25 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzBillingProperty')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzBillingProperty.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzBillingProperty' { + It 'Get' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'GetViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/billing/test/Get-AzBillingReservation.Tests.ps1 b/swaggerci/billing/test/Get-AzBillingReservation.Tests.ps1 new file mode 100644 index 000000000000..c7ea96813782 --- /dev/null +++ b/swaggerci/billing/test/Get-AzBillingReservation.Tests.ps1 @@ -0,0 +1,25 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzBillingReservation')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzBillingReservation.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzBillingReservation' { + It 'List' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'List1' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/billing/test/Get-AzBillingRoleAssignment.Tests.ps1 b/swaggerci/billing/test/Get-AzBillingRoleAssignment.Tests.ps1 new file mode 100644 index 000000000000..0feadbaedd32 --- /dev/null +++ b/swaggerci/billing/test/Get-AzBillingRoleAssignment.Tests.ps1 @@ -0,0 +1,53 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzBillingRoleAssignment')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzBillingRoleAssignment.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzBillingRoleAssignment' { + It 'List' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'List2' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'List1' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'Get2' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'Get1' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'Get' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'GetViaIdentity2' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'GetViaIdentity1' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'GetViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/billing/test/Get-AzBillingRoleDefinition.Tests.ps1 b/swaggerci/billing/test/Get-AzBillingRoleDefinition.Tests.ps1 new file mode 100644 index 000000000000..8b399c1403e3 --- /dev/null +++ b/swaggerci/billing/test/Get-AzBillingRoleDefinition.Tests.ps1 @@ -0,0 +1,53 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzBillingRoleDefinition')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzBillingRoleDefinition.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzBillingRoleDefinition' { + It 'List' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'List2' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'List1' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'Get2' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'Get1' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'Get' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'GetViaIdentity2' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'GetViaIdentity1' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'GetViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/billing/test/Get-AzBillingSubscription.Tests.ps1 b/swaggerci/billing/test/Get-AzBillingSubscription.Tests.ps1 new file mode 100644 index 000000000000..aeac38c83bf0 --- /dev/null +++ b/swaggerci/billing/test/Get-AzBillingSubscription.Tests.ps1 @@ -0,0 +1,41 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzBillingSubscription')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzBillingSubscription.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzBillingSubscription' { + It 'Get' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'List3' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'List2' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'List1' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'List' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'GetViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/billing/test/Get-AzBillingTransaction.Tests.ps1 b/swaggerci/billing/test/Get-AzBillingTransaction.Tests.ps1 new file mode 100644 index 000000000000..5764d722d8e3 --- /dev/null +++ b/swaggerci/billing/test/Get-AzBillingTransaction.Tests.ps1 @@ -0,0 +1,21 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzBillingTransaction')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzBillingTransaction.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzBillingTransaction' { + It 'List' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/billing/test/Invoke-AzBillingDownloadInvoice.Tests.ps1 b/swaggerci/billing/test/Invoke-AzBillingDownloadInvoice.Tests.ps1 new file mode 100644 index 000000000000..8e6b2d0eaf4d --- /dev/null +++ b/swaggerci/billing/test/Invoke-AzBillingDownloadInvoice.Tests.ps1 @@ -0,0 +1,25 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Invoke-AzBillingDownloadInvoice')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Invoke-AzBillingDownloadInvoice.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Invoke-AzBillingDownloadInvoice' { + It 'Download' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'DownloadViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/billing/test/Invoke-AzBillingDownloadInvoiceBillingSubscriptionInvoice.Tests.ps1 b/swaggerci/billing/test/Invoke-AzBillingDownloadInvoiceBillingSubscriptionInvoice.Tests.ps1 new file mode 100644 index 000000000000..65751342f598 --- /dev/null +++ b/swaggerci/billing/test/Invoke-AzBillingDownloadInvoiceBillingSubscriptionInvoice.Tests.ps1 @@ -0,0 +1,25 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Invoke-AzBillingDownloadInvoiceBillingSubscriptionInvoice')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Invoke-AzBillingDownloadInvoiceBillingSubscriptionInvoice.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Invoke-AzBillingDownloadInvoiceBillingSubscriptionInvoice' { + It 'Download' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'DownloadViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/billing/test/Invoke-AzBillingDownloadInvoiceMultipleBillingProfileInvoice.Tests.ps1 b/swaggerci/billing/test/Invoke-AzBillingDownloadInvoiceMultipleBillingProfileInvoice.Tests.ps1 new file mode 100644 index 000000000000..4452878196e7 --- /dev/null +++ b/swaggerci/billing/test/Invoke-AzBillingDownloadInvoiceMultipleBillingProfileInvoice.Tests.ps1 @@ -0,0 +1,25 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Invoke-AzBillingDownloadInvoiceMultipleBillingProfileInvoice')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Invoke-AzBillingDownloadInvoiceMultipleBillingProfileInvoice.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Invoke-AzBillingDownloadInvoiceMultipleBillingProfileInvoice' { + It 'Download' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'DownloadViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/billing/test/Invoke-AzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice.Tests.ps1 b/swaggerci/billing/test/Invoke-AzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice.Tests.ps1 new file mode 100644 index 000000000000..f8ac49264348 --- /dev/null +++ b/swaggerci/billing/test/Invoke-AzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice.Tests.ps1 @@ -0,0 +1,25 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Invoke-AzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Invoke-AzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Invoke-AzBillingDownloadInvoiceMultipleBillingSubscriptionInvoice' { + It 'Download' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'DownloadViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/billing/test/Move-AzBillingProduct.Tests.ps1 b/swaggerci/billing/test/Move-AzBillingProduct.Tests.ps1 new file mode 100644 index 000000000000..a2e3f9886bc7 --- /dev/null +++ b/swaggerci/billing/test/Move-AzBillingProduct.Tests.ps1 @@ -0,0 +1,33 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Move-AzBillingProduct')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Move-AzBillingProduct.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Move-AzBillingProduct' { + It 'MoveExpanded' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'Move' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'MoveViaIdentityExpanded' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'MoveViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/billing/test/Move-AzBillingSubscription.Tests.ps1 b/swaggerci/billing/test/Move-AzBillingSubscription.Tests.ps1 new file mode 100644 index 000000000000..73908161115d --- /dev/null +++ b/swaggerci/billing/test/Move-AzBillingSubscription.Tests.ps1 @@ -0,0 +1,33 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Move-AzBillingSubscription')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Move-AzBillingSubscription.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Move-AzBillingSubscription' { + It 'MoveExpanded' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'Move' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'MoveViaIdentityExpanded' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'MoveViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/billing/test/New-AzBillingInvoiceSection.Tests.ps1 b/swaggerci/billing/test/New-AzBillingInvoiceSection.Tests.ps1 new file mode 100644 index 000000000000..de30d45040ee --- /dev/null +++ b/swaggerci/billing/test/New-AzBillingInvoiceSection.Tests.ps1 @@ -0,0 +1,21 @@ +if(($null -eq $TestName) -or ($TestName -contains 'New-AzBillingInvoiceSection')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'New-AzBillingInvoiceSection.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'New-AzBillingInvoiceSection' { + It 'CreateExpanded' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/billing/test/New-AzBillingProfile.Tests.ps1 b/swaggerci/billing/test/New-AzBillingProfile.Tests.ps1 new file mode 100644 index 000000000000..0f72b11ba924 --- /dev/null +++ b/swaggerci/billing/test/New-AzBillingProfile.Tests.ps1 @@ -0,0 +1,21 @@ +if(($null -eq $TestName) -or ($TestName -contains 'New-AzBillingProfile')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'New-AzBillingProfile.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'New-AzBillingProfile' { + It 'CreateExpanded' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/billing/test/README.md b/swaggerci/billing/test/README.md new file mode 100644 index 000000000000..1969200c6a09 --- /dev/null +++ b/swaggerci/billing/test/README.md @@ -0,0 +1,17 @@ +# Test +This directory contains the [Pester](https://www.powershellgallery.com/packages/Pester) tests to run for the module. We use Pester as it is the unofficial standard for PowerShell unit testing. Test stubs for custom cmdlets (created in `../custom`) will be generated into this folder when `build-module.ps1` is ran. These test stubs will fail automatically, to indicate that tests should be written for custom cmdlets. + +## Info +- Modifiable: yes +- Generated: partial +- Committed: yes +- Packaged: no + +## Details +We allow three testing modes: *live*, *record*, and *playback*. These can be selected using the `-Live`, `-Record`, and `-Playback` switches respectively on the `test-module.ps1` script. This script will run through any `.Tests.ps1` scripts in the `test` folder. If you choose the *record* mode, it will create a `.Recording.json` file of the REST calls between the client and server. Then, when you choose *playback* mode, it will use the `.Recording.json` file to mock the communication between server and client. The *live* mode runs the same as the *record* mode; however, it doesn't create the `.Recording.json` file. + +## Purpose +Custom cmdlets generally encompass additional functionality not described in the REST specification, or combines functionality generated from the REST spec. To validate this functionality continues to operate as intended, creating tests that can be ran and re-ran against custom cmdlets is part of the framework. + +## Usage +To execute tests, run the `test-module.ps1`. To write tests, [this example](https://github.com/pester/Pester/blob/8b9cf4248315e44f1ac6673be149f7e0d7f10466/Examples/Planets/Get-Planet.Tests.ps1#L1) from the Pester repository is very useful for getting started. \ No newline at end of file diff --git a/swaggerci/billing/test/Remove-AzBillingRoleAssignment.Tests.ps1 b/swaggerci/billing/test/Remove-AzBillingRoleAssignment.Tests.ps1 new file mode 100644 index 000000000000..8b06fdd2ab3d --- /dev/null +++ b/swaggerci/billing/test/Remove-AzBillingRoleAssignment.Tests.ps1 @@ -0,0 +1,41 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Remove-AzBillingRoleAssignment')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Remove-AzBillingRoleAssignment.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Remove-AzBillingRoleAssignment' { + It 'Delete' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'Delete2' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'Delete1' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'DeleteViaIdentity2' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'DeleteViaIdentity1' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'DeleteViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/billing/test/Test-AzBillingAddress.Tests.ps1 b/swaggerci/billing/test/Test-AzBillingAddress.Tests.ps1 new file mode 100644 index 000000000000..b1f1d072bc21 --- /dev/null +++ b/swaggerci/billing/test/Test-AzBillingAddress.Tests.ps1 @@ -0,0 +1,25 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Test-AzBillingAddress')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Test-AzBillingAddress.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Test-AzBillingAddress' { + It 'ValidateExpanded' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'Validate' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/billing/test/Test-AzBillingProductMove.Tests.ps1 b/swaggerci/billing/test/Test-AzBillingProductMove.Tests.ps1 new file mode 100644 index 000000000000..2ff28a596ec2 --- /dev/null +++ b/swaggerci/billing/test/Test-AzBillingProductMove.Tests.ps1 @@ -0,0 +1,33 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Test-AzBillingProductMove')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Test-AzBillingProductMove.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Test-AzBillingProductMove' { + It 'ValidateExpanded' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'Validate' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'ValidateViaIdentityExpanded' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'ValidateViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/billing/test/Test-AzBillingSubscriptionMove.Tests.ps1 b/swaggerci/billing/test/Test-AzBillingSubscriptionMove.Tests.ps1 new file mode 100644 index 000000000000..9c403767a9a1 --- /dev/null +++ b/swaggerci/billing/test/Test-AzBillingSubscriptionMove.Tests.ps1 @@ -0,0 +1,33 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Test-AzBillingSubscriptionMove')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Test-AzBillingSubscriptionMove.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Test-AzBillingSubscriptionMove' { + It 'ValidateExpanded' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'Validate' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'ValidateViaIdentityExpanded' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'ValidateViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/billing/test/Update-AzBillingAccount.Tests.ps1 b/swaggerci/billing/test/Update-AzBillingAccount.Tests.ps1 new file mode 100644 index 000000000000..7fd53d0aa07a --- /dev/null +++ b/swaggerci/billing/test/Update-AzBillingAccount.Tests.ps1 @@ -0,0 +1,25 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Update-AzBillingAccount')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Update-AzBillingAccount.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Update-AzBillingAccount' { + It 'UpdateExpanded' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'UpdateViaIdentityExpanded' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/billing/test/Update-AzBillingProduct.Tests.ps1 b/swaggerci/billing/test/Update-AzBillingProduct.Tests.ps1 new file mode 100644 index 000000000000..0a31000ad625 --- /dev/null +++ b/swaggerci/billing/test/Update-AzBillingProduct.Tests.ps1 @@ -0,0 +1,25 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Update-AzBillingProduct')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Update-AzBillingProduct.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Update-AzBillingProduct' { + It 'UpdateExpanded' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'UpdateViaIdentityExpanded' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/billing/test/Update-AzBillingProperty.Tests.ps1 b/swaggerci/billing/test/Update-AzBillingProperty.Tests.ps1 new file mode 100644 index 000000000000..ec8bce3adba6 --- /dev/null +++ b/swaggerci/billing/test/Update-AzBillingProperty.Tests.ps1 @@ -0,0 +1,25 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Update-AzBillingProperty')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Update-AzBillingProperty.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Update-AzBillingProperty' { + It 'UpdateExpanded' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'UpdateViaIdentityExpanded' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/billing/test/Update-AzBillingSubscription.Tests.ps1 b/swaggerci/billing/test/Update-AzBillingSubscription.Tests.ps1 new file mode 100644 index 000000000000..6b13954248a8 --- /dev/null +++ b/swaggerci/billing/test/Update-AzBillingSubscription.Tests.ps1 @@ -0,0 +1,25 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Update-AzBillingSubscription')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Update-AzBillingSubscription.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Update-AzBillingSubscription' { + It 'UpdateExpanded' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'UpdateViaIdentityExpanded' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/swaggerci/billing/test/loadEnv.ps1 b/swaggerci/billing/test/loadEnv.ps1 new file mode 100644 index 000000000000..0ea394729062 --- /dev/null +++ b/swaggerci/billing/test/loadEnv.ps1 @@ -0,0 +1,21 @@ +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# ---------------------------------------------------------------------------------- +$envFile = 'env.json' +if ($TestMode -eq 'live') { + $envFile = 'localEnv.json' +} + +if (Test-Path -Path (Join-Path $PSScriptRoot $envFile)) { + $envFilePath = Join-Path $PSScriptRoot $envFile +} else { + $envFilePath = Join-Path $PSScriptRoot '..\$envFile' +} +$env = @{} +if (Test-Path -Path $envFilePath) { + $env = Get-Content (Join-Path $PSScriptRoot $envFile) | ConvertFrom-Json + $PSDefaultParameterValues=@{"*:SubscriptionId"=$env.SubscriptionId; "*:Tenant"=$env.Tenant} +} \ No newline at end of file diff --git a/swaggerci/billing/test/utils.ps1 b/swaggerci/billing/test/utils.ps1 new file mode 100644 index 000000000000..1990edd45299 --- /dev/null +++ b/swaggerci/billing/test/utils.ps1 @@ -0,0 +1,31 @@ +function RandomString([bool]$allChars, [int32]$len) { + if ($allChars) { + return -join ((33..126) | Get-Random -Count $len | % {[char]$_}) + } else { + return -join ((48..57) + (97..122) | Get-Random -Count $len | % {[char]$_}) + } +} +$env = @{} +if ($UsePreviousConfigForRecord) { + $previousEnv = Get-Content (Join-Path $PSScriptRoot 'env.json') | ConvertFrom-Json + $previousEnv.psobject.properties | Foreach-Object { $env[$_.Name] = $_.Value } +} +# Add script method called AddWithCache to $env, when useCache is set true, it will try to get the value from the $env first. +# example: $val = $env.AddWithCache('key', $val, $true) +$env | Add-Member -Type ScriptMethod -Value { param( [string]$key, [object]$val, [bool]$useCache) if ($this.Contains($key) -and $useCache) { return $this[$key] } else { $this[$key] = $val; return $val } } -Name 'AddWithCache' +function setupEnv() { + # Preload subscriptionId and tenant from context, which will be used in test + # as default. You could change them if needed. + $env.SubscriptionId = (Get-AzContext).Subscription.Id + $env.Tenant = (Get-AzContext).Tenant.Id + # For any resources you created for test, you should add it to $env here. + $envFile = 'env.json' + if ($TestMode -eq 'live') { + $envFile = 'localEnv.json' + } + set-content -Path (Join-Path $PSScriptRoot $envFile) -Value (ConvertTo-Json $env) +} +function cleanupEnv() { + # Clean resources you create for testing +} + diff --git a/swaggerci/billing/utils/Unprotect-SecureString.ps1 b/swaggerci/billing/utils/Unprotect-SecureString.ps1 new file mode 100644 index 000000000000..cb05b51a6220 --- /dev/null +++ b/swaggerci/billing/utils/Unprotect-SecureString.ps1 @@ -0,0 +1,16 @@ +#This script converts securestring to plaintext + +param( + [Parameter(Mandatory, ValueFromPipeline)] + [System.Security.SecureString] + ${SecureString} +) + +$ssPtr = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($SecureString) +try { + $plaintext = [System.Runtime.InteropServices.Marshal]::PtrToStringBSTR($ssPtr) +} finally { + [System.Runtime.InteropServices.Marshal]::ZeroFreeBSTR($ssPtr) +} + +return $plaintext \ No newline at end of file